mirror of
https://git.disroot.org/FollieHiyuki/dotfiles.git
synced 2024-12-02 04:08:30 -05:00
52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
case $1 in
|
||
|
--bemenu)
|
||
|
menu="bemenu -i -p launch -l 10"
|
||
|
;;
|
||
|
--dmenu)
|
||
|
menu="dmenu -i -p launch -l 10"
|
||
|
;;
|
||
|
--fzf)
|
||
|
menu="fzf -e --no-multi"
|
||
|
;;
|
||
|
*)
|
||
|
exit
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
# global
|
||
|
apps=$(/usr/bin/ls /usr/share/applications)
|
||
|
# local
|
||
|
if [ -d $HOME/.local/share/applications ]
|
||
|
then
|
||
|
locals=$(/usr/bin/ls $HOME/.local/share/applications)
|
||
|
apps=$(echo "$apps\n$locals")
|
||
|
fi
|
||
|
# flatpak
|
||
|
if command -v flatpak > /dev/null
|
||
|
then
|
||
|
flatpaks=$(/usr/bin/ls $HOME/.local/share/flatpak/exports/share/applications | grep ".desktop")
|
||
|
apps=$(echo "$apps\n$flatpaks")
|
||
|
flatpak_sys=$(/usr/bin/ls /var/lib/flatpak/exports/share/applications | grep ".desktop")
|
||
|
apps=$(echo "$apps\n$flatpak_sys")
|
||
|
fi
|
||
|
|
||
|
menu_desktop() {
|
||
|
selected=$(echo "$apps" | ${menu} )
|
||
|
if [ -f "/usr/share/applications/$selected" ]
|
||
|
then
|
||
|
nohup `grep '^Exec' "/usr/share/applications/$selected" | head -1 | sed 's/^Exec=//' | sed 's/%.//'` >/dev/null 2>&1&
|
||
|
elif [ -f "$HOME/.local/share/applications/$selected" ]
|
||
|
then
|
||
|
nohup `grep '^Exec' "$HOME/.local/share/applications/$selected" | head -1 | sed 's/^Exec=//' | sed 's/%.//'` >/dev/null 2>&1&
|
||
|
elif [ -f "$HOME/.local/share/flatpak/exports/share/applications/$selected" ]
|
||
|
then
|
||
|
nohup `grep '^Exec' "$HOME/.local/share/flatpak/exports/share/applications/$selected" | head -1 | sed 's/^Exec=//' | sed 's/%.//'` >/dev/null 2>&1&
|
||
|
else
|
||
|
nohup `grep '^Exec' "/var/lib/flatpak/exports/share/applications/$selected" | head -1 | sed 's/^Exec=//' | sed 's/%.//'` >/dev/null 2>&1&
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
menu_desktop
|