#!/usr/bin/env bash SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" handle_line() { local line="$1" # Split into EVENT and DATA (EVENT>>DATA) local event="${line%%>>*}" local data="${line#*>>}" echo "$data" > "$HOME/close_popup.tmp.txt" case "$event" in openwindow) # Data format: # WINDOWADDRESS,WORKSPACENAME,WINDOWCLASS,WINDOWTITLE local addr ws class title IFS=, read -r addr ws class title <<< "$data" # echo "$data" > $HOME/close_popup.tmp.txt if [[ "$class" == "jetbrains-webstorm" && "$title" == "Monokai Pro Trial" ]]; then # closewindow expects address with 0x prefix hyprctl dispatch closewindow "address:0x$addr" # echo "$data" > "$HOME/close_popup.tmp.txt" fi ;; esac } socat -U - UNIX-CONNECT:$SOCKET | while read -r line; do handle_line "$line"; done