#launcher #bookmarks #iced #run-command #local-file

bin+lib jolly

a bookmark manager meets an application launcher, developed with iced

4 releases (2 breaking)

0.3.0 Aug 9, 2023
0.2.0 Feb 6, 2023
0.1.1 Jan 5, 2023
0.1.0 Dec 22, 2022

#15 in #bookmarks

MIT/Apache

175KB
4K SLoC

Jolly

Jolly is a cross between a bookmark manager and an application launcher.

It extends the concept of your browser bookmarking interface, but allows these bookmarks to access files on your local file system, as well as run commands in your shell.

https://user-images.githubusercontent.com/1356587/259296825-59452f58-701d-410c-9da3-61f1e2f48e91.mov

Quick Introduction

To use Jolly, simply run the jolly executable.

# Run Jolly with jolly.toml in the current directory
jolly

To use a config file that is not in the current directory, pass its path on the command line:

# Run Jolly with a custom config file
jolly /path/to/custom/jolly.toml

For more details on how Jolly finds its config file, see the documentation.

By default, Jolly won't show any results: just tell you how many entries it has loaded:

startup page

You can search for an entry by typing in text: Jolly will use the title of the entry and any tags associated with the entry to find results:

startup page

To open the entry, you can select it using the arrow and enter keys, or click it with the mouse.

To learn more about the file format used by Jolly, see the file-format page.

To learn more about changing settings for Jolly, including how to customize the theme, see the config page.

To learn more advanced tips and tricks, see the advanced usage page.

Why Jolly was created

There are a lot of really good full featured launcher programs out there, for example, consider launchy, rofi, or alfred. These launcher programs tend to be packed with features, allowing you to do tons of different actions: for example, accessing any installed program or searching for any document on your computer. This can be quite powerful, but it may be hard to find the exact entry that you want among all of the other launcher results.

On the other end of the spectrum are notetaking applications, such as onenote, obsidian, or org mode. These are also super powerful, and solve the "noise" problem that launchers have, by only including content that is curated by the user. However, they are focused on the usecase of storing knowledge, not on quickly launching apps and links, which means it can take a couple of click to open a bookmark, instead of the nearly instantaneous feedback of a launcher app.

The other obvious option here would be your web browser. And lets be honest, your web browser's search bar and bookmark interface has thousands more hours of development time poured into it: Jolly can't possibly hope to compete. However, web browsers are focused on web content only, which means that local files and external programs are annoyingly sandboxed away, hard to use with the bookmark interface.

Hence Jolly: the curation of notetaking apps, with the instantaneous gratification of an app launcher, and sharp edges exposed that your web browser doesn't want you to have.

Installation

The latest release of Jolly can be found on github here

Alternatively, for rust users, Jolly can be installed via cargo:

cargo install jolly

Freedesktop based systems

If you want to use Jolly on Linux and BSD based platforms, then icon support is based on freedesktop.org standards. This means that you will need the following packages installed:

  • xdg-utils
  • shared-mime-info

In addition, at least one icon theme needs to be installed. The default icon theme can be customized at build time using the environment variable JOLLY_DEFAULT_THEME, or it can be configured at runtime in the config file. See icon documentation for more details.

NetBSD

On NetBSD, a pre-compiled binary is available from the official repositories. To install Jolly, simply run:

pkgin install jolly

Or, if you prefer to build it from source:

cd /usr/pkgsrc/x11/jolly
make install

Regarding Minimum Supported Rust Version: Jolly uses iced for its GUI implementation, which is a fast moving project that generally only targets the latest stable rustc. Therefore Jolly will also usually target the same MSRV as iced. (Currently 1.70.0)

macOS

Jolly provides builds for macOS, and Jolly is tested for this platform, but the builds that Jolly provides are not packaged as an App Bundle and are unsigned. It might be just easier on macos to use cargo install jolly

Dependencies

~48–100MB
~1.5M SLoC