diff --git a/.bin/desktop_launcher.sh b/.bin/desktop_launcher.sh index b5bc475..c0fb02e 100755 --- a/.bin/desktop_launcher.sh +++ b/.bin/desktop_launcher.sh @@ -3,10 +3,12 @@ oIFS=$IFS IFS=: data_dirs=($XDG_DATA_DIRS) IFS=$oIFS -data_dirs+=("~/.local/share") -( - for folder in ${data_dirs[*]}; do - find ${folder%/}/applications -name \*.desktop; - done -) | xargs basename -s .desktop -a | fzf | xargs -r swaymsg -t command exec gtk-launch +data_dirs+=("${HOME}/.local/share") +fzf_history="${HOME}/.desktop_launcher_history" + +for folder in ${data_dirs[*]}; do find "${folder%/}/applications" -name '*.desktop' -print0; done \ + | xargs -0 basename -z -s .desktop -a \ + | sort -r -z \ + | fzf +m --read0 --history="${fzf_history}" \ + | xargs -r swaymsg -t command exec gtk-launch diff --git a/.config/sway/config b/.config/sway/config index f6f5981..36cb40f 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -18,7 +18,7 @@ set $term gnome-terminal # Your preferred application launcher # Note: it's recommended that you pass the final command to sway #set $menu dmenu_path | dmenu | xargs swaymsg exec -set $menu gnome-terminal --title=launcher -- ~/.bin/desktop_launcher.sh +set $menu gnome-terminal --title=swayapplauncher -- ~/.bin/desktop_launcher.sh ### Output configuration # @@ -213,7 +213,7 @@ bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl --quiet set +5% bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl --quiet set 5%- # launcher float -for_window [title=".*launcher.*"] floating enable +for_window [title=".*swayapplauncher.*"] floating enable # screenshots bindsym Print exec grim $(xdg-user-dir PICTURES)/$(date +'screenshot_%Y-%m-%d-%H%M%S_grim.png')