From e805fcdbf08cd1397369c94fdedd7de2757d0616 Mon Sep 17 00:00:00 2001 From: Scott Scoble Date: Sat, 16 May 2026 19:32:56 -0700 Subject: [PATCH] Fix window rules for Hyprland 0.55 syntax (match:class ^()$, float on) --- home/hyprland.conf | 140 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 home/hyprland.conf diff --git a/home/hyprland.conf b/home/hyprland.conf new file mode 100644 index 0000000..b32ee80 --- /dev/null +++ b/home/hyprland.conf @@ -0,0 +1,140 @@ +debug { disable_logs = false; } + +monitor=,preferred,auto,1 + +env = XCURSOR_SIZE,24 +env = XCURSOR_THEME,Bibata-Modern-Classic +env = GTK_THEME,adw-gtk3-dark +env = QT_QPA_PLATFORMTHEME,gtk2 + +exec-once = waybar +exec-once = dunst +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store +exec-once = hypridle + +input { + kb_layout = us + kb_options = caps:escape + follow_mouse = 1 + sensitivity = 0 +} + +input:touchpad { + natural_scroll = true + tap-to-click = true +} + +general { + gaps_in = 6 + gaps_out = 8 + border_size = 2 + col.active_border = rgba(8ebdffee) rgba(8ebdffff) rgba(8ebdffee) rgba(8ebdffff) + col.inactive_border = rgba(333333aa) + layout = dwindle +} + +decoration { + rounding = 8 + blur { + enabled = true + size = 5 + passes = 2 + } + shadow { + enabled = true + range = 12 + render_power = 2 + color = rgba(1a1a1aee) + } +} + +animations { + enabled = true + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + animation = windows,1,7,easeOutQuint,slide + animation = windowsOut,1,7,easeInOutCubic,slide + animation = fade,1,7,easeOutQuint + animation = workspaces,1,4,easeOutQuint,fade +} + +workspace = 1, name:shell, persistent:true +workspace = 2, name:code, persistent:true +workspace = 3, name:web, persistent:true +workspace = 4, name:chat, persistent:true +workspace = 5, name:vault, persistent:true +workspace = 6, name:media +workspace = 7, name:7 +workspace = 8, name:8 +workspace = 9, name:9 +workspace = 10, name:sys + +$mainMod = SUPER + +bind = $mainMod, Return, exec, ghostty -e zellij +bind = $mainMod SHIFT, Return, exec, ghostty +bind = $mainMod, B, exec, firefox +bind = $mainMod, D, exec, rofi -show drun -show-icons +bind = $mainMod, Space, exec, rofi -show drun -show-icons +bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy +bind = $mainMod, N, exec, thunar +bind = $mainMod, L, exec, hyprlock +bind = $mainMod, Q, killactive +bind = $mainMod, F, fullscreen +bind = $mainMod, G, togglefloating +bind = $mainMod, P, pseudo +bind = $mainMod, T, pin +bind = $mainMod, H, movefocus, l +bind = $mainMod, J, movefocus, d +bind = $mainMod, K, movefocus, u +bind = $mainMod, L, movefocus, r +bind = $mainMod SHIFT, H, movewindow, l +bind = $mainMod SHIFT, J, movewindow, d +bind = $mainMod SHIFT, K, movewindow, u +bind = $mainMod SHIFT, L, movewindow, r +bind = $mainMod CTRL, H, resizeactive, -40 0 +bind = $mainMod CTRL, J, resizeactive, 0 40 +bind = $mainMod CTRL, K, resizeactive, 0 -40 +bind = $mainMod CTRL, L, resizeactive, 40 0 +bind = $mainMod, 1, workspace, name:shell +bind = $mainMod, 2, workspace, name:code +bind = $mainMod, 3, workspace, name:web +bind = $mainMod, 4, workspace, name:chat +bind = $mainMod, 5, workspace, name:vault +bind = $mainMod, 6, workspace, name:media +bind = $mainMod, 7, workspace, name:7 +bind = $mainMod, 8, workspace, name:8 +bind = $mainMod, 9, workspace, name:9 +bind = $mainMod, 0, workspace, name:sys +bind = $mainMod SHIFT, 1, movetoworkspace, name:shell +bind = $mainMod SHIFT, 2, movetoworkspace, name:code +bind = $mainMod SHIFT, 3, movetoworkspace, name:web +bind = $mainMod SHIFT, 4, movetoworkspace, name:chat +bind = $mainMod SHIFT, 5, movetoworkspace, name:vault +bind = $mainMod SHIFT, 6, movetoworkspace, name:media +bind = $mainMod SHIFT, 7, movetoworkspace, name:7 +bind = $mainMod SHIFT, 8, movetoworkspace, name:8 +bind = $mainMod SHIFT, 9, movetoworkspace, name:9 +bind = $mainMod SHIFT, 0, movetoworkspace, name:sys +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f - +bind = $mainMod SHIFT, S, exec, grim - | swappy -f - +bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = , XF86MonBrightnessUp, exec, brightnessctl set 5%+ +bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%- +bind = $mainMod SHIFT, Q, exec, hyprctl dispatch exit +bind = $mainMod SHIFT, R, exec, hyprctl reload + + +windowrule = match:class ^(pavucontrol)$, float on +windowrule = match:class ^(firefox)$, match:title PIP, float on +windowrule = match:title ^(Authentication Required)$, float on +windowrule = match:class ^(pavucontrol)$, size 75% 75% +windowrule = match:class ^(code-oss|Code|jetbrains-.*|nvim)$, workspace name:code +windowrule = match:class ^(firefox|chromium-browser|google-chrome)$, workspace name:web +windowrule = match:class ^(discord|Slack|TelegramDesktop)$, workspace name:chat +windowrule = match:class ^(ghostty|Zellij|Alacritty)$, workspace name:shell