From 653676880e19624e0af3b3a6855a8f716e65f595 Mon Sep 17 00:00:00 2001 From: Simon Rieger Date: Thu, 10 Apr 2025 13:09:17 +0200 Subject: [PATCH] add bitwarden floating script --- dot_config/hypr/programs.conf.tmpl | 3 ++ .../hypr/scripts/executable_bitwarden.sh | 34 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 dot_config/hypr/scripts/executable_bitwarden.sh diff --git a/dot_config/hypr/programs.conf.tmpl b/dot_config/hypr/programs.conf.tmpl index a9ca772..d2c6e35 100644 --- a/dot_config/hypr/programs.conf.tmpl +++ b/dot_config/hypr/programs.conf.tmpl @@ -22,6 +22,9 @@ exec-once = blueman-applet & exec-once = waybar & hyprpaper & firefox exec-once = hypridle +# Bitwarden Window Floating +exec-once = ~/.config/hypr/scripts/bitwarden.sh + # Clipboard Manager exec-once = wl-paste --type text --watch cliphist store # Stores only text data diff --git a/dot_config/hypr/scripts/executable_bitwarden.sh b/dot_config/hypr/scripts/executable_bitwarden.sh new file mode 100644 index 0000000..c33c6ff --- /dev/null +++ b/dot_config/hypr/scripts/executable_bitwarden.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +handle_windowtitlev2 () { + # Description: emitted when a window title changes. + # Format: `WINDOWADDRESS,WINDOWTITLE` + windowaddress=${1%,*} + windowtitle=${1#*,} + + case $windowtitle in + *"(Bitwarden"*"manager) - Bitwarden"*) + hyprctl --batch \ + "dispatch togglefloating address:0x$windowaddress;"\ + "dispatch resizewindowpixel exact 20% 54%,address:0x$windowaddress;"\ + "dispatch centerwindow" + ;; +# specificwindowtitle) commands;; + esac +} + +handle() { + # $1 Format: `EVENT>>DATA` + # example: `workspace>>2` + + event=${1%>>*} + data=${1#*>>} + + case $event in + windowtitlev2) handle_windowtitlev2 "$data";; +# anyotherevent) handle_otherevent "$data";; + *) echo "unhandled event: $event" ;; + esac +} + +socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -r line; do handle "$line"; done