1[![CI status](https://ci.codeberg.org/api/badges/dnkl/fuzzel/status.svg)](https://ci.codeberg.org/dnkl/fuzzel) 2 3# Fuzzel 4 5Fuzzel is a Wayland-native application launcher, similar to rofi's 6_drun_ mode. 7 8[![Packaging status](https://repology.org/badge/vertical-allrepos/fuzzel.svg)](https://repology.org/project/fuzzel/versions) 9 10 11## Screenshot 12 13![Screenshot](doc/screenshot.png) 14 15_Fuzzel, with transparency, on top of a browser window showing a diff of a fuzzel commit_ 16 17 18## Features: 19 20- Wayland native 21- Rofi drun-like mode of operation 22- dmenu mode where newline separated entries are read from stdin 23- Emacs key bindings 24- Icons! 25- Remembers frequently launched applications 26 27 28## Limitations: 29 30- No themes (but you **can** configure font and colors) 31 32 33## Requirements 34 35### Runtime 36 37* pixman 38* wayland (_client_ and _cursor_ libraries) 39* xkbcommon 40* cairo (optional) 41* libpng (optional) 42* librsvg (optional) 43* [fcft](https://codeberg.org/dnkl/fcft) [^1] 44 45[^1]: can also be built as subprojects, in which case they are 46 statically linked. 47 48 49### Building 50 51* meson 52* ninja 53* wayland protocols 54* scdoc 55* [tllist](https://codeberg.org/dnkl/tllist) [^1] 56 57 58## Installation 59 60To build, first, create a build directory, and switch to it: 61```sh 62mkdir -p bld/release && cd bld/release 63``` 64 65Second, configure the build (if you intend to install it globally, you 66might also want `--prefix=/usr`): 67```sh 68meson --buildtype=release \ 69 -Denable-cairo=disabled|enabled|auto \ 70 -Denable-png=disabled|enabled|auto \ 71 -Denable-svg=disabled|enabled|auto \ 72 ../.. 73``` 74 75`-Denable-{png,svg}` can be used to force-enable or force-disable png 76and/or svg support. The default is `auto`, which means enable if all 77required libraries are available. PNGs require _libpng_, and SVGs 78require _cairo_ and _librsvg_. 79 80`-Denable-cairo` can be used to force-enable or force-disable cairo 81support. When disabled, fuzzel will not be able to draw rounded 82corners, nor will it support SVGs (regardless of what `-Denable-svg` 83is set to). 84 85Three, build it: 86```sh 87ninja 88``` 89 90You can now run it directly from the build directory: 91```sh 92./fuzzel 93``` 94 95Use command line arguments to configure the look-and-feel: 96```sh 97./fuzzel --help 98``` 99 100Optionally, install it: 101```sh 102ninja install 103``` 104 105For more detailed configuration information, see the man page: 106```sh 107man fuzzel 108``` 109 110 111## License 112 113Fuzzel is released under the [MIT license](LICENSE). 114 115Fuzzel uses nanosvg, released under the [Zlib 116license](3rd-party/nanosvg/LICENSE.txt). 117