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
2024年04月11日 15:52:49 +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 --list-executables-in-path command line option 2024年01月05日 11:14:36 +00:00
doc doc: fuzzel.ini: spelling 2024年03月29日 11:24: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.yaml ci: rename .woodpecker.yml -> .woodpecker.yaml 2024年03月18日 16:33:14 +01:00
application.c application: log (at info level) executed desktop file + command line 2024年02月20日 14:16:26 -05:00
application.h xdg: filter desktop entries by XDG_CURRENT_DESKTOP 2023年05月31日 12:58:42 -07:00
CHANGELOG.md changelog: add new 'unreleased' section 2024年04月11日 15:52:49 +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: allow password-character to be the empty string 2024年03月18日 16:34:31 +01:00
config.h config: allow password-character to be the empty string 2024年03月18日 16:34:31 +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 implement ctrl-u (erase before cursor) keybinding 2024年02月16日 09:52:43 +01: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 implement ctrl-u (erase before cursor) keybinding 2024年02月16日 09:52:43 +01:00
LICENSE license: fix bad copy-paste: first commit was in 2019 2020年07月25日 08:51:51 +02:00
log.c log: fix syslog not respecting the configured log level 2024年04月05日 16:17:07 +02:00
log.h main: add --log-level=none|info|warning|error command line option 2022年02月04日 23:13:23 +01:00
main.c config: allow password-character to be the empty string 2024年03月18日 16:34:31 +01: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: bump version to 1.10.0 2024年04月11日 15:50:40 +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
path.c Add --list-executables-in-path command line option 2024年01月05日 11:14:36 +00:00
path.h Add --list-executables-in-path command line option 2024年01月05日 11:14:36 +00: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 implement ctrl-u (erase before cursor) keybinding 2024年02月16日 09:52:43 +01:00
prompt.h implement ctrl-u (erase before cursor) keybinding 2024年02月16日 09:52:43 +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: add support for fractional scaling 2024年03月19日 17:17:24 +01:00
render.h render: add support for fractional scaling 2024年03月19日 17:17:24 +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 wayland: fractional scaling: check against previous *preferred* scale 2024年04月05日 16:17:41 +02:00
wayland.h wayland: remove prototype for non-existing function 2022年11月03日 15:09:34 +01:00
xdg.c xdg: separate names from actions with an em-dash 2023年12月15日 12:01:21 +01: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. ↩︎