Keep Hyprland from sliding the OSD in from the corner (#13436)
The OSD, the reminder flow and the Wi-Fi QR code now keep a surface that parks as a 1x1 in the corner and grows when shown. They were missing from the layer rule that turns Hyprland's layer animation off for the shell's overlays, so Hyprland animated that growth: the OSD flew in from the left. Add them to the rule, and test that every OverlayWindow's namespace is in it. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c231097df7
commit
5c7cef1e78
2 files changed
+18
-4
No files matched your search
@@ -61,6 +61,17 @@ assert(
|
||||
'the menu unfreezes its layout when the overlay hides'
|
||||
)
|
||||
|
||||
// A kept surface grows from its parked 1x1 when shown, which Hyprland animates
|
||||
// as a slide in from the corner unless its layer rule turns animation off.
|
||||
const shellRules = read('default/hypr/apps/omarchy-shell.lua')
|
||||
const noAnim = /namespace = "\^\(([^)]*)\)\$" \}, no_anim = true/.exec(shellRules)
|
||||
assert(noAnim, 'the shell overlays share one no-animation layer rule')
|
||||
const unanimated = noAnim ? noAnim[1].split('|') : []
|
||||
for (const file of Object.keys(overlays)) {
|
||||
const namespace = /WlrLayershell\.namespace: "([^"]+)"/.exec(read(file))
|
||||
assert(namespace && unanimated.includes(namespace[1]), `${file} is exempt from Hyprland's layer animation`)
|
||||
}
|
||||
|
||||
// The OSD never takes the keyboard or input, shown or not.
|
||||
const osd = read('shell/plugins/osd/Osd.qml')
|
||||
assert(
|
||||
|
||||
Reference in new issue
Block a user