Hi, this one is really minor but also really annoying.
Unity is known not to work the best on linux and I am trying my best to change that.
The issue I am describing here is related to setting window titles.
This doesn’t seem like a big deal at first, but if you’ve ever used a window manager that has an option for focus to follow the cursor, you’ll know how annoying it is when tooltips/popups steal window focus.
Window manager that I am using, Hyprland, has a feature called Window Rules.
These allow you to set rules for specific windows.
One of those rules is nofocus, which solves the tooltip issue flawlessly.
There is, however, a catch.
Unity developers didn’t assign a title to tooltip windows resulting in window rules either affecting more than just tooltips or you being forced to live with tooltips stealing focus.
Here’s a window rule that would prevent tooltips from stealing focus on Hyprland:
windowrulev2 = nofocus, class:^(Unity)$, title:^()$ #Tooltips won't steal focus anymore
You might’ve spotted an issue here.
The title field is empty.
That’s because Unity doesn’t assign a title to tooltips, which can be confirmed by running hyprctl clients and looking for a tooltip window:
Window 55bcc82e38a0 -> :
mapped: 1
hidden: 0
at: 2211,325
size: 300,70
workspace: 4 (4)
floating: 1
monitor: 0
class: Unity
title:
initialClass: Unity
initialTitle:
pid: 17751
xwayland: 1
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 0
Here’s an example of a window that has a properly assigned title to it, and can be affected by window rules without any consequences:
Window 55bcdbf0baa0 -> UnityEditor.AddComponent.AddComponentWindow:
mapped: 1
hidden: 0
at: 2287,915
size: 230,316
workspace: 4 (4)
floating: 1
monitor: 0
class: Unity
title: UnityEditor.AddComponent.AddComponentWindow
initialClass: Unity
initialTitle: UnityEditor.AddComponent.AddComponentWindow
pid: 970
xwayland: 1
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 12
Now, to clear up what happens when you apply the nofocus rule to all the windows with an empty title.
They will open just normally but you won’t be able to select or use them.
I’ve mainly experienced this with the Build Settings window(although it’s fairly rng) and custom assets, such as Editor Themes.
Now, it’s not on either asset creators nor us to filter out these issues, when possible, but on unity devs to do their job and create windows properly.
For anybody interested, here’s my Hyprland config which contains all the window rules I use to make the experience as seamless as possible, I am p close, and I am constantly updating it.