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.8%
  • Meson 1.8%
Find a file
2023年10月27日 16:26:14 +02: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 Add --select=STRING command line option 2023年10月08日 16:28:23 +02:00
doc doc: added main repo URL to manpages 2023年10月27日 16:26:14 +02: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: codespell: install into a venv 2023年08月18日 16:58:53 +02:00
application.c application: cast app->title to prevent gcc from warning about format specifier 2023年08月18日 17:05:08 +02:00
application.h xdg: filter desktop entries by XDG_CURRENT_DESKTOP 2023年05月31日 12:58:42 -07:00
CHANGELOG.md config: add include=<path> 2023年10月08日 16:56:29 +02:00
char32.c char32: include stdc-predef, to pull in __STDC_ISO_10646__ 2023年03月31日 13:21:30 +02:00
char32.h char32: add c32chr() 2022年12月04日 20:28:11 +01:00
config.c config: add include=<path> 2023年10月08日 16:56:29 +02:00
config.h Add anchor support 2023年10月08日 15:19:39 +02: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 config: add new key binding 'execute-input' 2023年10月08日 15:53:28 +02:00
generate-version.sh generate-version: handle git repo not having any tags 2021年10月11日 20:22:58 +02:00
icon.c icon: fix loading of absolute-path PNG icons 2023年03月06日 18:05:04 +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 config: add new key binding 'execute-input' 2023年10月08日 15:53:28 +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 Add --select=STRING command line option 2023年10月08日 16:28:23 +02:00
match.c Add --select=STRING command line option 2023年10月08日 16:28:23 +02:00
match.h Add --select=STRING command line option 2023年10月08日 16:28:23 +02:00
meson.build meson: require wayland-protocols >= 1.32 2023年08月02日 13:35:01 +02:00
meson_options.txt meson: use nanosvg backend by default 2022年02月07日 10:46:31 +01:00
nanosvg.c nanosvg: define NANOSVG_ALL_COLOR_KEYWORDS 2023年03月21日 09:03:29 +01: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.9.2 2023年07月14日 08:49:46 +02: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 config: new key-binding: insert-selected 2023年03月10日 11:56:47 +01:00
prompt.h config: new key-binding: insert-selected 2023年03月10日 11:56:47 +01:00
README.md readme: update for -Denable-{png,svg} -> -D{png,svg}-backend 2021年11月21日 16:29:35 +01:00
render.c Paint selection background over regular background 2023年08月12日 17:17:53 +02: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 bar: wayland: shm: try with MFD_NOEXEC_SEAL first, then without 2023年10月13日 16:36:58 +02: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 config: add new key binding 'execute-input' 2023年10月08日 15:53:28 +02:00
wayland.h wayland: remove prototype for non-existing function 2022年11月03日 15:09:34 +01:00
xdg.c xdg: don't skip .desktops without Name or Exec 2023年08月14日 19:55:12 +02:00
xdg.h config: new option filter-desktop 2023年06月06日 09:31:32 -07: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. ↩︎