diff options
Diffstat (limited to 'dotfiles/hyprland/.local')
| -rwxr-xr-x | dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad | 24 | ||||
| -rw-r--r-- | dotfiles/hyprland/.local/share/applications/signal-desktop.desktop | 12 |
2 files changed, 36 insertions, 0 deletions
diff --git a/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad b/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad new file mode 100755 index 0000000..7a4bb38 --- /dev/null +++ b/dotfiles/hyprland/.local/bin/hypr-refocus-scratchpad @@ -0,0 +1,24 @@ +#!/bin/bash +# Refocus visible scratchpad after a window closes. +# Without this, closing a regular window while a scratchpad is visible +# leaves focus on the regular workspace instead of the scratchpad. + +SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" + +socat -U - "UNIX-CONNECT:$SOCKET" | while read -r line; do + if [[ "$line" == closewindow* ]]; then + # Check if a special workspace is active on the current monitor + special=$(hyprctl monitors -j | python3 -c " +import json, sys +for m in json.load(sys.stdin): + sw = m.get('specialWorkspace', {}) + if sw.get('id', 0) != 0: + print(sw['name']) + break +" 2>/dev/null) + if [[ -n "$special" ]]; then + # Focus the top window on the special workspace + hyprctl dispatch focuswindow "workspace:$special" &>/dev/null + fi + fi +done diff --git a/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop b/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop new file mode 100644 index 0000000..834c510 --- /dev/null +++ b/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Name=Signal +Comment=Signal - Private Messenger +Icon=signal-desktop +Exec=signal-desktop --start-in-tray --ozone-platform=wayland -- %u +Terminal=false +Categories=Network;InstantMessaging; +StartupWMClass=signal +MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; +Keywords=sgnl;chat;im;messaging;messenger;security;privat; +X-GNOME-UsesNotifications=true |
