diff --git a/config/hypr/scripts/ClipManager.sh b/config/hypr/scripts/ClipManager.sh index c29626e9..6e22e605 100755 --- a/config/hypr/scripts/ClipManager.sh +++ b/config/hypr/scripts/ClipManager.sh @@ -2,8 +2,23 @@ # Clipboard Manager. This needed cliphist & wl-copy and of course rofi -if [[ ! $(pidof rofi) ]]; then - cliphist list | rofi -dmenu -config ~/.config/rofi/config-long.rasi | cliphist decode | wl-copy -else - pkill rofi -fi +while true; do + if pidof rofi &> /dev/null; then + pkill rofi + fi + + result=$(cliphist list | rofi -kb-custom-1 "Ctrl+Delete" -dmenu -config ~/.config/rofi/config-long.rasi) + exit_state=$? + + [[ $exit_state -eq 1 ]] && break + + case "$exit_state" in + 0) + cliphist decode <<<"$result" | wl-copy + exit + ;; + 10) + cliphist delete <<<"$result" + ;; + esac +done