XEmbed tray icons not working as expected when running in hyprland #13083
Replies: 4 comments 4 replies
|
This would be great. This is really an issue at the wine level, as Wine has no StatusNotifier tray implementation. The only person who has attempted is so far submitted a PR years ago which stalled when the reviewers suggested a refactoring of the entire implementation. Wine is massive, and moves slowly even with critical items, and this doesn't really appear to be a priority for them at the moment. In the meantime, out-of-the-box solution for Hyprland pattered after or utilizing an existing proxy as a baseline would be a massive improvement for wine-heavy users. Hopefully as the wayland driver for wine matures we will get a native implementation, but I wouldn't hold my breath for it. |
I have implemented this rule, and it works mostly as expected with waybar, but I'm running into some odd behavior with the helper window being shoved into the top-left corner of the window. I have no rules set which would set windows to 0,0, so the tray dropdowns end up being in the wrong place, partially hidden under my waybar. This rule works, but xembedsniproxy doesn't seem to work with hyprpanel's tray correctly. The XWayland helper window is still there, and shoved into the top-left of the workspace as before, but click events to the proxy tray icon don't appear to register. This could be due to differences in the sni librarys between the two, I think? |
|
Hi. I was searching around for a solution to this. I am on Hyprland / cachyOS and use Waybar. Have anyone migrated this solution to Lua config/window rules? I have tried without success to make it work, so if anyone has anything to share, it would be highly appreciated =) Edit: Not needed. I thought to reboot and see what happened without editing the config. It seems that it works without window rules for me. |
|
FWIW, starting from KDE 6.7.0 xembedsniproxy sets class of the helper window to https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6401 |
Uh oh!
There was an error while loading. Please reload this page.
Hi,
On Hyprland + Waybar, tray icons from Wine/XWayland apps (example: Battle.net via Lutris) do not appear in the Waybar tray by default.
Instead, a small separate tray icon bar is rendered:
Fix / Workaround
1) Install
plasma-workspaceThis is currently required in order to get
xembedsniproxy.2) Start
xembedsniproxyAdding this to
hyprland.confmakes Wine tray icons appear in Waybar:exec-once = xembedsniproxyAfter this, the Battle.net tray icon appears as expected:
3) Hide the blank “black box” window (old tray bar helper)
After enabling
xembedsniproxy, Hyprland/XWayland still creates a small blank helper window (the “old tray bar”).This window commonly has an empty title and can appear as a dark/blurred rectangle.
This rule hides it:
no_blur onis required, otherwise the window can remain visible as a faint blurred/dark rectangle even with opacity set to 0.Note: The windowrule workaround hides an XWayland helper window with an empty title/class, which works here but may be overly broad. It could accidentally affect other legitimate XWayland windows that also appear with empty titles/classes.
After this, the tray icon and menu work as expected:
Request / Proposal
Could Hyprland provide a more out-of-the-box solution for Wine/XWayland legacy tray icons, so users don’t have to manually discover and apply workarounds?
Ideally, Hyprland’s XWayland integration would handle legacy XEmbed tray icons in a way that makes them “just work” in common Wayland tray setups (e.g. Waybar), without requiring users to manually start
xembedsniproxyand add window rules to hide Wine helper windows.All reactions