1
0
Fork
You've already forked fuzzel
0
forked from dnkl/fuzzel
Application launcher for wlroots based Wayland compositors, similar to rofi's drun mode.
  • C 95.4%
  • Shell 2.7%
  • Meson 1.9%
Find a file
Daniel Eklöf d904bc0532
ci: drop gitlab CI
We’re no longer mirroring to gitlab.
2023年01月02日 13:52:25 +01:00
.builds ci (sr.ht): pull directly from git.sr.ht 2022年08月23日 16:43:36 +02:00
3rd-party/nanosvg nanosvg: update to 9da543e 2022年12月04日 19:45:05 +01:00
completions completions: --dmenu0 2022年12月08日 19:20:56 +01:00
doc Document the FUZZEL_DESKTOP_FILE_ID variable 2022年12月13日 09:31:53 +01:00
external external: wlr-protocols: bump 2021年06月27日 10:52:14 +02:00
subprojects subprojects: use meson *.wrap files for tllist+fcft 2020年12月24日 13:26:02 +01:00
.gitignore gitignore: ignore .cache 2022年08月09日 18:42:34 +02:00
.gitmodules fcft/tllist: remove git submodules 2020年01月11日 14:47:47 +01:00
.woodpecker.yml ci: use fcft master branch 2022年02月05日 17:46:59 +01:00
application.c Pass Desktop File ID to launch-prefix 2022年12月13日 09:31:45 +01:00
application.h Document the FUZZEL_DESKTOP_FILE_ID variable 2022年12月13日 09:31:53 +01:00
CHANGELOG.md changelog: FUZZEL_DESKTOP_ID: reference issue instead of PR 2022年12月13日 09:33:17 +01:00
char32.c char32: add c32chr() 2022年12月04日 20:28:11 +01:00
char32.h char32: add c32chr() 2022年12月04日 20:28:11 +01:00
config.c main: add --dmenu0 command line option 2022年12月04日 20:28:11 +01:00
config.h main: add --dmenu0 command line option 2022年12月04日 20:28:11 +01:00
dmenu.c main: add --dmenu0 command line option 2022年12月04日 20:28:11 +01:00
dmenu.h main: add --dmenu0 command line option 2022年12月04日 20:28:11 +01:00
fdm.c tllist: is now an external "library", so use <> includes 2019年11月17日 19:18:21 +01:00
fdm.h fdm: sync with latest FDM - fdm_del() now closes FD 2019年11月05日 11:00:15 +01:00
fuzzel.ini fuzzel.ini: add comented out ‘tabs’ option 2022年11月04日 14:20:26 +01:00
generate-version.sh generate-version: handle git repo not having any tags 2021年10月11日 20:22:58 +02:00
icon.c lookup_icons(): ignore unsupported image formats 2022年11月03日 15:18:33 +01:00
icon.h icon: icon_reload_application_icons() -> icon_lookup_application_icons() 2022年04月17日 23:28:09 +02:00
key-binding.c key-binding: disable debug logging by default 2022年10月28日 16:32:06 +02:00
key-binding.h key-binding: add custom-N, where 1 <= N <= 19 2022年10月23日 14:33:01 +02:00
LICENSE license: fix bad copy-paste: first commit was in 2019 2020年07月25日 08:51:51 +02:00
log.c main: add --log-level=none|info|warning|error command line option 2022年02月04日 23:13:23 +01:00
log.h main: add --log-level=none|info|warning|error command line option 2022年02月04日 23:13:23 +01:00
main.c main: set LC_MESSAGES, in addition to LC_CTYPE 2022年12月10日 21:18:01 +01:00
match.c match: add matches_have_icons() 2022年10月14日 21:49:08 +02:00
match.h match: add matches_have_icons() 2022年10月14日 21:49:08 +02:00
meson.build wayland: implement xdg activation launch 2022年12月01日 20:21:02 +01:00
meson_options.txt meson: use nanosvg backend by default 2022年02月07日 10:46:31 +01:00
nanosvg.c svg: add support for using nanosvg as SVG backend 2021年10月07日 19:18:54 +02:00
nanosvgrast.c svg: add support for using nanosvg as SVG backend 2021年10月07日 19:18:54 +02:00
PKGBUILD meson/pkgbuild: bump version to 1.8.2 2022年11月04日 13:37:30 +01:00
png-fuzzel.h svg: add support for using nanosvg as SVG backend 2021年10月07日 19:18:54 +02:00
png.c png: route libpng warnings through fuzzel’s logging system 2022年02月06日 12:42:54 +01:00
prompt.c prompt: fix backspace: don’t erase everything *after* the cursor 2022年04月29日 12:32:08 +02:00
prompt.h fcft: adapt to API changes in fcft-3.x 2022年02月05日 12:44:06 +01:00
README.md readme: update for -Denable-{png,svg} -> -D{png,svg}-backend 2021年11月21日 16:29:35 +01:00
render.c render: basic support for multiline entries 2022年12月04日 20:28:11 +01:00
render.h render: add render_icon_size() function; returns the icon size to use 2022年11月03日 15:22:29 +01:00
shm.c shm: unbreak build without memfd_create 2020年12月21日 12:40:25 +01:00
shm.h meson: make cairo an optional dependency 2020年12月20日 14:57:07 +01:00
stride.h Add missing file 2019年09月29日 13:00:03 +02:00
wayland.c wayland: skip raw symbol and raw key code matching for keypad keys 2022年12月08日 19:40:35 +01:00
wayland.h wayland: remove prototype for non-existing function 2022年11月03日 15:09:34 +01:00
xdg.c xdg: log warning on asprintf() errors 2022年12月10日 21:24:28 +01:00
xdg.h xdg: store an open FD to the XDG dir 2022年04月14日 11:39:41 +02:00

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

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.


  1. can also be built as subprojects, in which case they are statically linked. ↩︎