cd ..
July 10, 20263 min readSYS_STATUS: PUBLISHED

Hyprland Godot Floating Window

#hyprland#godot#linux#window management

The problem

Godot's Quick Run window can be annoying on Hyprland if you want it to float automatically.

At first, I tried matching the window title and adding `DEBUG` to the rule. That seemed reasonable, but it did not work reliably.

The reason is simple: Godot creates the window before it appends `DEBUG` to the title. By the time the title changes, Hyprland has already seen the original window and made its decision.

>Why title matching fails

Window rules are easiest to write when the title is stable.

Godot's debug window is not stable.

It starts as one window, then updates its title later. If your rule only matches `DEBUG`, the first window creation slips through unmatched.

That means the rule is too late.

>The fix

Match the window's initial class instead of the title.

INIUTF-8
windowrulev2 = float, initial_class = "negative:Godot"

That was the fix in my setup.

By targeting `initial_class`, Hyprland matches the window as soon as it appears, before Godot changes anything about the title. The floating rule is applied immediately, so the Quick Run window opens where you expect it.

>What I had tried

  • Matching on `DEBUG` in the title
  • Matching after the window was already visible
  • Tweaking the rule order

None of those helped because the problem was not the rule order. It was the attribute I was matching against.

>Takeaway

If a window is created first and renamed later, title-based rules can be unreliable.

For Godot's Quick Run window on Hyprland, the stable signal is the initial class, so use `initial_class = "negative:Godot"` and let Hyprland catch it at creation time.

DONE

EOF (End of File)SHA-256 Verified
ONLINESESSION: guest@ag-nodeTIME: 00:00:00