Fix: avoid exporting giant envvars
Fix: launch foot with "launcher" app id
Add terminal option: foot
A replacement for Rofi, dmenu, and other launchers that uses FZF and a plain-old terminal emulator.
I recommend altering these scripts to suit your preferences.
The main script is term-dmenu
and its dependency floating-terminal
. term-dmenu
is a dmenu replacement that turns stdin into an interactive menu and sends output
back to stdout. In other words, if you don't use any of dmenu's CLI options, you can
probably just alias dmenu=term-dmenu
and you'll be just fine.
Helper scripts work with term-dmenu
. If you set the environment variable
$DMENU_PROGRAM
to something else (e.g. dmenu
or rofi -dmenu
), the helper
scripts will use those programs instead.
dmenu-runner
can run any executable in your $PATH
. Because of the large number
of executables on most systems, recent entries are saved and prioritized to make
searching easier.app-launcher
launches desktop applications using j4-dmenu-desktop
window-switcher
allows listing/filtering/selecting open windows in Sway or i3
(much like what Alt+TAB does on most desktop environments).j4-dmenu-desktop
for app-launcher
window-switcher
requires Sway or i3 to be runningIf you don't want to use term-dmenu
but would like to use some of the helper
scripts
Other projects attempting to replace dmenu/rofi with terminal emulators exist, most notably sway-launcher-desktop. I created my own project instead of contributing upstream because I had different goals:
term-dmenu
, and make helper scripts
work with dmenu, rofi, and term-dmenu equally well.dash
(the Debian Almquist shell) should yield faster startup speed.app-launcher
uses j4-dmenu-desktop
to find .desktop files, which is better
than using shell/AWK expressions.floating-terminal
launches the terminal. If the environment variable
$FLOATING_TERMINAL
is unset, it runs the first of the following programs that is
found in $PATH
:
havoc $@
alacritty --class=launcher -e $@
kitty --class=launcher -e $@
konsole -e $@
gnome-terminal -e $@
termite -e $@
st -c launcher -e $@
xterm -e $@
dmenu-runner
code is based on this
script
by FlyingWombat (Wayback
Machine,
archive.today), with inspiration from
dmenu_run_history
.
Many bits of code were borrowed from the discussion in issue 1367 of Sway's GitHub issue tracker.