cd /
;
apropos
;
On peut l'utiliser pour générer un menu dans fluxbox :
#!/bin/sh # Licence MIT # author: prx <prx@si3t.ch> # fill ~/.config/lsdesktop.exclude with files to # ignore. Example : # $ cat ~/.config/lsdesktop.exclude # xdvi.desktop # mimeinfo.desktop # put menus in ~/.fluxbox/automenus/ cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" cache="$cachedir/lsdesktop.cache" menudir=$HOME/.fluxbox/automenus/ desktopfilespath="$HOME/.local/share/applications \ /usr/local/share/applications\ /usr/share/applications" fluxboxmenu() { OLDIFS=$IFS IFS=':' while read -r c n cmd; do echo "[exec] (${n}) {${cmd}}" done IFS=$OLDIFS } # update application list if [ ! -f "${cache}" -o -n "$(find ${desktopfilespath} -newer ${cache} 2>/dev/null)" ] then lsdesktop -s ':' > ${cache} mkdir -p $menudir # a menu file for each categories grep "^Graphics" ${cache} | fluxboxmenu > $menudir/graphics.menu grep "^Development" ${cache} | fluxboxmenu > $menudir/development.menu grep "^Settings" ${cache} | fluxboxmenu > $menudir/settings.menu grep "^System" ${cache} | fluxboxmenu > $menudir/system.menu grep "^Utility" ${cache} | fluxboxmenu > $menudir/utility.menu grep "^Game" ${cache} | fluxboxmenu > $menudir/game.menu grep "^Network" ${cache} | fluxboxmenu > $menudir/network.menu grep "^Office" ${cache} | fluxboxmenu > $menudir/office.menu grep "^Multimedia" ${cache} | fluxboxmenu > $menudir/multimedia.menu fi
Ou encore avec dmenu :
#!/bin/sh # Licence MIT # author: prx <prx@si3t.ch> # print a list of available .desktop files in dmenu # works well with dmenu mouse patch # https://tools.suckless.org/dmenu/patches/mouse-support/ ## # require lsdesktop # https://si3t.ch/code/lsdesktop/ ## # fill ~/.config/lsdesktop.exclude with files to # ignore. Example : # $ cat ~/.config/lsdesktop.exclude # xdvi.desktop # mimeinfo.desktop cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" cache="$cachedir/ddesktop" desktopfilespath="$HOME/.local/share/applications /usr/local/share/applications" if [ ! -f "${cache}" -o -n "$(find ${desktopfilespath} -newer ${cache} 2>/dev/null)" ] then lsdesktop -s '::' | cut -d'::' -f2- | column -t -s '::' > ${cache} fi p="Run:" cat ${cache} |\ match -p "$p" | \ sed -e 's/^.* //g' |\ ${SHELL:-"/bin/sh"} &