update configs
This commit is contained in:
33
.config/hypr/scripts/float-bitwarden.sh
Executable file
33
.config/hypr/scripts/float-bitwarden.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
timeout=0
|
||||
handle() {
|
||||
case $1 in
|
||||
windowtitle*)
|
||||
# Extract the window ID from the line
|
||||
window_id=${1#*>>}
|
||||
|
||||
# Fetch the list of windows and parse it using jq to find the window by its decimal ID
|
||||
window_info=$(hyprctl clients -j | jq --arg id "0x$window_id" '.[] | select(.address == ($id))')
|
||||
|
||||
# Extract the title from the window info
|
||||
window_title=$(echo "$window_info" | jq -r '.title')
|
||||
|
||||
# Check if the title matches the characteristics of the Bitwarden popup window
|
||||
if [[ "$window_title" == *"(Bitwarden"*"Password Manager) - Bitwarden"* ]]; then
|
||||
|
||||
# in case of double rename only allow once per second
|
||||
if ((SECONDS < timeout)); then
|
||||
return
|
||||
fi
|
||||
timeout=$((SECONDS + 1))
|
||||
|
||||
# echo "$window_id", "$window_title"
|
||||
hyprctl --batch "dispatch togglefloating address:0x$window_id; dispatch resizewindowpixel exact 20% 54%,address:0x$window_id; dispatch centerwindow"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Listen to the Hyprland socket for events and process each line with the handle function
|
||||
socat -U - UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock | while read -r line; do handle "$line"; done
|
||||
Reference in New Issue
Block a user