A script for bemenu to run your desktop applications using dex.
The preview uses my wrapper for bemenu: bemenu-orange-wrapper.
- bemenu >= 0.6
- Nerd Fonts (Symbols Only)
- dex
- Bash >= 5
- setsid
- GNU awk, sed, xargs
- Debian example with bemenu-orange-wrapper:
-
Next:
# GNU awk, sed, xargs, setsid, dex
sudo apt install gawk sed findutils util-linux dex
git clone --depth 1 https://github.com/tkapias/bemenu-desktop-menu.git bemenu-desktop-menu
cd bemenu-desktop-menu
chmod +x bemenu-desktop-menu.bash
-
The script uses the default locations to find the desktop entries:
"$HOME/.local/share/applications"
"/usr/local/share/applications"
"/usr/share/applications"
If your system has different locations, add/modify them in thedesktop_path
array.
-
Optional: Symlink to a directory in your user's path:
ln -s $PWD/bemenu-desktop-menu.bash $HOME/.local/bin/bemenu-desktop-menu
- Entries sorted by Main Categories.
- Main Categories icon using Emojis.
- Display entry Name and Generic Name localized if available.
- Display the entry file location in brackets.
- Cache the list and generate only if the count or modification date of entries changed.
- Respect Hidden & NoDisplay features.
- Run the application forked using setsid.
- Run the application using also dex to respect XDG.
Just launch bemenu-desktop-menu, optionally filter the entries and select one to launch the application.
- Binding exemple for bemenu-desktop-menu in i3wm:
bindsym $mod+d exec --no-startup-id "bemenu-desktop-menu"