~dnkl/fuzzel

Application launcher for wlroots based Wayland compositors, similar to rofi's `drun` mode.
Merge branch 'env-var-runner'
changelog: FUZZEL_DESKTOP_ID: reference issue instead of PR

clone

read-only
https://git.sr.ht/~dnkl/fuzzel
read/write
git@git.sr.ht:~dnkl/fuzzel

You can also use your local clone with git send-email.

CI status

#Fuzzel

Fuzzel is a Wayland-native application launcher, similar to rofi's drun mode.

Packaging status

#Screenshot

Screenshot

Fuzzel, with transparency, on top of a browser window showing a diff of a fuzzel commit

#Features:

  • Wayland native
  • Rofi drun-like mode of operation
  • dmenu mode where newline separated entries are read from stdin
  • Emacs key bindings
  • Icons!
  • Remembers frequently launched applications

#Limitations:

  • No themes (but you can configure font and colors)

#Requirements

#Runtime

  • pixman
  • wayland (client and cursor libraries)
  • xkbcommon
  • cairo (optional)
  • libpng (optional)
  • librsvg (optional)
  • fcft [^1]

[^1]: can also be built as subprojects, in which case they are statically linked.

#Building

  • meson
  • ninja
  • wayland protocols
  • scdoc
  • tllist [^1]

#Installation

To build, first, create a build directory, and switch to it:

mkdir -p bld/release && cd bld/release

Second, configure the build (if you intend to install it globally, you might also want --prefix=/usr):

meson --buildtype=release \
    -Denable-cairo=disabled|enabled|auto \
    -Dpng-backend=none|libpng \
    -Dsvg-backend=none|librsvg|nanosvg \
    ../..

-D{png,svg}-backend can be used to force-enable or force-disable a specific png and/or svg backend. Note that nanosvg is builtin (i.e. it needs to external dependencies).

-Denable-cairo can be used to force-enable or force-disable cairo support. When disabled, fuzzel will not be able to draw rounded corners, nor will it support SVGs using the librsvg backend.

Three, build it:

ninja

You can now run it directly from the build directory:

./fuzzel

Use command line arguments to configure the look-and-feel:

./fuzzel --help

Optionally, install it:

ninja install

For more detailed configuration information, see the man page:

man fuzzel

#License

Fuzzel is released under the MIT license.

Fuzzel uses nanosvg, released under the Zlib license.