-
Notifications
You must be signed in to change notification settings - Fork 149
Set "suspended" when a surface is minimized #1700
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
base: master
Are you sure you want to change the base?
Conversation
This seems for an SDL XWayland client to restore fullscreen after unminimize, it needs to see the `_NET_WM_STATE_FOCUSED` state get set and unset. This is a somewhat awkward way to do this. I'm not sure if the Wayland `suspended` flag should be treated as equivalent to `_NET_WM_STATE_FOCUSED`? If it's meant to be, the way it's defined in the protocol doesn't quite seem right. #1510
That seems like a very clunky way to do this, how about doing this in an idle-callback, like we handle the In general we should send suspended (at least for wayland surfaces) in many more cases, e.g.:
I am not sure how that would interact with window previews though in both the Xwayland case and wayland case. In general X11-windows expect to be unmapped on minimize, which we already delay, because that obviously breaks window previews... In addition we also want to handle |
Yeah, this PR is a bit "clunky"; which is why I left it as a draft. I think it should be a safe change as is, though there are other cases we want to change. Doing it in an idle callback like that could be good.
Err, I guess I meant to say Yeah. Setting As defined in https://specifications.freedesktop.org/wm-spec/latest/ar01s05.html
It says "would not be visible on the screen if its desktop/viewport were active...", so for this property at least, setting it for a window on a "non-visible workspace" doesn't sound appropriate. And probably not when blocked by a fullscreen window? Though the wording here is rather vague. I imagine other implementations don't. https://wayland.app/protocols/xdg-shell#xdg_toplevel:enum:state:entry:suspended meanwhile is defined as:
Which does seem to cover those cases, as while as minimized. |
Note that a lot of toolkits special case certain desktops. |
I'd be careful with that then, which means we probably want to split |
This seems for an SDL XWayland client to restore fullscreen after unminimize, it needs to see the
_NET_WM_STATE_FOCUSED
state get set and unset.This is a somewhat awkward way to do this. I'm not sure if the Wayland
suspended
flag should be treated as equivalent to_NET_WM_STATE_FOCUSED
? If it's meant to be, the way it's defined in the protocol doesn't quite seem right.#1510