This commit is contained in:
2026-07-08 09:22:05 +02:00
parent a8d7ae73f4
commit aaf25faab6
12 changed files with 107 additions and 139 deletions

View File

@@ -69,13 +69,12 @@ exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
# Makes sure ratbag is running
exec-once = ratbagctl list
# Plugins
exec-once = hyprpm enable Hyprspace
exec-once = hyprpm reload
# Custom scripts
exec-once = ~/code/ha-notifications/ha-notifications
# Plugins
exec-once = hyprpm reload
#############################
### ENVIRONMENT VARIABLES ###
#############################
@@ -88,7 +87,7 @@ env = XDG_SESSION_TYPE,wayland
env = HYPRSHOT_DIR,/home/paul/screenshots
cursor {
no_hardware_cursors = true
no_hardware_cursors = 0
}
@@ -259,9 +258,10 @@ bind = $mainMod SHIFT, S, exec, hyprshot -m region
bind = $mainMod, PRINT, exec, hyprshot -m window
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
# bind = $mainMod, TAB, overview:toggle
bind = $mainMod, TAB, hyprtasking:toggle, cursor
bind = $mainMod, END, exec, wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
@@ -413,6 +413,14 @@ windowrule {
no_anim = on
}
# ClickUp Command Bar will disappear if mouse is not over it, so we pin it and disable focus loss
windowrule {
name = "clickup-command-bar"
match:initial_title = ClickUp Command Bar
float = 1
stay_focused = on
}
# UXPlay windows are always floating and exact size
windowrule {
name = "uxplay"
@@ -422,6 +430,18 @@ windowrule {
center = 1
}
# Import Modal for LibreOffice calc is always floating and exact size
windowrule {
name = "libreoffice-import-modal"
match:initial_class = soffice
match:initial_title = Text Import.*
float = 1
size = 800 400
stay_focused = on
dim_around = on
move = 1320 520
}
# Notification animation style
layerrule = match:namespace notifications, animation slide

View File

@@ -1,33 +0,0 @@
#!/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