Fix Hyprland 0.53 windowrule syntax breaking changes (#4025)

* Fix Hyprland 0.53 windowrule syntax breaking changes

Hyprland 0.53 introduced breaking changes to windowrule syntax:

- Props now use `match:` prefix: `class:pattern` → `match:class pattern`
- Boolean effects require `on` suffix: `float` → `float on`
- Snake_case naming: `nofocus` → `no_focus`, `stayfocused` → `stay_focused`
- `noborder` replaced with `border_size 0`
- `noanim` replaced with `animation none`
- layerrule syntax: `noanim, X` → `animation none, match:namespace X`
- `misc:new_window_takes_over_fullscreen` → `misc:on_focus_under_fullscreen`

See: https://github.com/hyprwm/hyprland-wiki/pull/1278

* Correct for the new style

* Migrate the scrolltouchpad setting in userland too

* Need a reboot to pair with new Hyprland

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
LunarLollipop
2025-12-31 02:21:59 +02:00
committed by GitHub
parent 4311a00ca4
commit 5dd4bec68a
19 changed files with 77 additions and 68 deletions

View File

@@ -1,22 +1,22 @@
# Fix splash screen showing in weird places and prevent annoying focus takeovers
windowrule = tag +jetbrains-splash, class:^(jetbrains-.*)$, title:^(splash)$, floating:1
windowrule = center, tag:jetbrains-splash
windowrule = nofocus, tag:jetbrains-splash
windowrule = noborder, tag:jetbrains-splash
windowrule = tag +jetbrains-splash, match:class ^(jetbrains-.*)$, match:title ^(splash)$, match:float 1
windowrule = center on, match:tag jetbrains-splash
windowrule = no_focus on, match:tag jetbrains-splash
windowrule = border_size 0, match:tag jetbrains-splash
# Center popups/find windows
windowrule = tag +jetbrains, class:^(jetbrains-.*), title:^()$, floating:1
windowrule = center, tag:jetbrains
windowrule = tag +jetbrains, match:class ^(jetbrains-.*), match:title ^()$, match:float 1
windowrule = center on, match:tag jetbrains
# Enabling this makes it possible to provide input in popup dialogs (search window, new file, etc.)
windowrule = stayfocused, tag:jetbrains
windowrule = noborder, tag:jetbrains
windowrule = stay_focused on, match:tag jetbrains
windowrule = border_size 0, match:tag jetbrains
# For some reason tag:jetbrains does not work for size rule
windowrule = size >50% >50%, class:^(jetbrains-.*), title:^()$, floating:1
windowrule = size >50% >50%, match:class ^(jetbrains-.*), match:title ^()$, match:float 1
# Disable window flicker when autocomplete or tooltips appear
windowrule = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$, floating:1
windowrule = no_initial_focus on, match:class ^(jetbrains-.*)$, match:title ^(win.*)$, match:float 1
# Disable mouse focus
windowrule = nofollowmouse, class:^(jetbrains-.*)$
windowrule = no_follow_mouse on, match:class ^(jetbrains-.*)$