-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Respect _NET_WM_WINDOW_TYPE_DESKTOP atom #1472
Conversation
For more context, see https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3798 |
Alternative labwc internal implementation: That PR might need a rebase though as it was written for wlroots 0.16.x AFAIR. |
Cool, good to know! If your PR goes first I'll be sure to adjust the patch ;) |
I don't really have time for finishing that one currently. I'll try to rebase it later but no promises. I would prefer the approach taken in #1185 over this one as it encapsulated the needed changes a bit more to the actual xwayland parts rather than sprinkle CC @jlindgren90 as it might be relevant for his use-cases as well. |
It would be great to be able to query _NET_WM_WINDOW_TYPE in labwc. Unfortunately there is no public wlroots function to do that - one needs to be added (in addition to the new enum value that you've defined). |
Why is that? We do have all the raw atoms in Edit: |
I guess the approach taken in #1185 works without additional changes to wlroots. But it duplicates work that wlroots is already doing (opening up a new X server connection and performing a bunch of xcb_intern_atom calls that wlroots already did using its own connection). |
Right. However it has the benefit of not requiring wlroots changes and thus us having to wait a year until we can use it :) Edit: bool is_desktop_surface = xwayland_surface_contains_window_type(
xwayland_view->xwayland_surface, NET_WM_WINDOW_TYPE_DESKTOP); Edit 2:
So I don't think that the initial atom sync is an issue when restarting xwayland. |
In the interest of moving forward on net-wm-window-type atom support, I'm comfortable with doing a separate connection in the interim until Do say though @jlindgren90 if you think we're making a mistake. --EDIT-- In the more generic sense - whether or not we implement things "not yet" in |
It should be fine as an interim solution. It would still be nice to have more proper wlroots support eventually. |
@Consolatis I synced my PR with yours and it works on my side, although I could test only _NET_WM_WINDOW_TYPE_DESKTOP atom functionality. |
Couldn't find here in GitHub how to change source branch, sorry. Going to make another PR... |
Hi, I'd like to improve condition of desktop file managers (like
pcmanfm --desktop
) in Labwc and Wayland in general.Back in X11, they indicated that they are desktops with _NET_WM_WINDOW_TYPE_DESKTOP atom.
In Wayland, there's a layer-shell obviously, but it doesn't come with Qt suit. Folks over KDE developed some 3rd-party component, but I doubt it will ever be stable enough for use by regular people/in enterprise: I encountered pretty flimsy bug 480240 immediately after integrating this component into my Qt project. This is by no means a stone thrown in the garden of layer-shell-qt developers - Qt is too big and fast moving to be able to keep up with it for basically anyone.
There's a not very clean solution of writing window rules for these desktops, like:
But these rules are not in every project's goals. For example, hyprland seems to be reluctant of it (#2093).
So my proposal for solution is adding support for _NET_WM_WINDOW_TYPE_DESKTOP in wlroots and asking compositor developers to check for this atom in their xwayland code. Since I'm a user of labwc, I already made the patch for this. Now we are waiting for wlroots folks. As far as I could test, the only change required for wlroots is:
I would like to ask you to review this patch so that I could correct it to comply with labwc guidelines by the time wlroots adds _NET_WM_WINDOW_TYPE_DESKTOP to their atoms.