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 97%
  • Meson 2.2%
  • Shell 0.8%
Find a file
2022年06月18日 22:14:27 +02:00
.builds ci: use fcft master branch 2022年02月05日 17:46:59 +01:00
3rd-party/nanosvg nanosvg: update to 03042a6297399379198f98eb625ff8902bd84784 2022年05月01日 15:39:29 +02:00
completions completions: zsh: add --config=PATH 2022年04月22日 19:54:19 +02:00
doc doc: fuzzel.1: add a SEE ALSO section, referencing fuzzel.ini 2022年04月22日 19:55:38 +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 subprojects: use meson *.wrap files for tllist+fcft 2020年12月24日 13:26:02 +01:00
.gitlab-ci.yml ci: use fcft master branch 2022年02月05日 17:46:59 +01: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 fix leak on invalid escape character error 2022年04月28日 20:28:54 +02:00
application.h application: add dummy .png/.svg members when SVG/PNG have been completely disabled 2022年04月18日 15:04:08 +02:00
CHANGELOG.md wayland: keypad "enter" now executes the selected entry 2022年06月18日 22:14:27 +02:00
char32.c fcft: adapt to API changes in fcft-3.x 2022年02月05日 12:44:06 +01:00
char32.h fcft: adapt to API changes in fcft-3.x 2022年02月05日 12:44:06 +01:00
config.c config: "fields" is a comma separated list of strings 2022年06月02日 17:29:04 +02:00
config.h config: remove DMENU_MODE_NONE value 2022年04月20日 18:21:31 +02:00
dmenu.c config: remove DMENU_MODE_NONE value 2022年04月20日 18:21:31 +02:00
dmenu.h wip: config: add support for file-based configuration 2022年04月20日 18:21:30 +02: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 doc: fuzzel.ini: initial man page for fuzzel.ini 2022年04月20日 18:21:32 +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 compilation; move ‘}’ outside the #ifdef 2022年06月15日 19:34:10 +02:00
icon.h icon: icon_reload_application_icons() -> icon_lookup_application_icons() 2022年04月17日 23:28:09 +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: add --config=PATH command line option 2022年04月22日 19:54:02 +02:00
match.c match: don’t crash on exit if matches->applications hasn’t been set 2022年06月12日 12:26:50 +02:00
match.h match: turn ‘match_pos’ into an array 2022年05月01日 15:39:37 +02:00
meson.build meson: install fuzzel.ini to /etc/xdg/fuzzel/fuzzel.ini 2022年04月22日 19:54:28 +02: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 pkgbuild: bump version to 1.7.0 2022年02月05日 17:45:41 +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 match: turn ‘match_pos’ into an array 2022年05月01日 15:39:37 +02:00
render.h wip: config: add support for file-based configuration 2022年04月20日 18:21:30 +02: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: keypad "enter" now executes the selected entry 2022年06月18日 22:14:27 +02:00
wayland.h wayland: pass pointer to ‘struct config’ to wayl_init() 2022年04月20日 18:21:30 +02:00
xdg.c xdg: use fallback path if XDG_CACHE_HOME is set, but empty 2022年04月22日 23:57:47 +02: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. ↩︎