-
Notifications
You must be signed in to change notification settings - Fork 130
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
Full screen windows end up on Scratch layer after turning the screens off and on again #951
Comments
It's happening to me too on Ubuntu 24.04 LTS with similar extensions. |
I can also confirm this. I tried to debug this a bit, but unfortunately I didn't really find anything useful. I also can't see any logs that are related to the problem. :( |
So the minimum reproduce is:
The reason is that paperwm doesn't really remember windows' scratch state across extension lifetimes, instead it saves the state to moves always-on-top windows into scratch layer upon paperwm enabled: and makes above full-screen windows upon focused: To "fix" this issue, we could tweak the conditions at if (meta_window.above && !meta_window.fullscreen
|| meta_window.above && meta_window.fullscreen && meta_window._fullscreen_above
|| meta_window.minimized) {
// ...
} or we could unmake_above full-screen windows before disabling paperwm, but these don't actually fix the issue because paperwm still doesn't remember windows' scratch states. To "restore windows' scratch states across paperwm re-enabling", we'll need to tweak a bunch of things around the scratch mechanism. What do you think? @Lythenas, @Thesola10 |
Nice find @lost-melody, that sounds about right (almost) PaperWM does seem capable of remembering which windows are tiled and where (to an extent) or deduces it from window location on startup, meaning the remaining cases are ambiguous situations like maximized and full screen windows. Ideally we could find a way to keep the extension fully alive while locked, as this would also address much prolonged unlock times (PaperWM takes a while to start, especially on a busy desktop) |
Keeping the extension enable should be technically doable (see also here: https://gjs.guide/extensions/overview/anatomy.html#session-modes) but I'm not 100% sure if we might get problems when they review the extension for EGO. I suspect that this is considered bad practice. According to the docs enable and disable are still called, even with this set. So not sure if that would even help. I think that Alternatively we could also use |
Describe the bug
Full screen applications end up on a scratch layer after the screens get turned off either by GNOME's saving (Settings > Power Saving > Screen Blank) or manually executing
xdg-screensaver activate
.To Reproduce
Steps to reproduce the behavior:
xdg-screensaver activate
Expected behavior
Windows should keep their Scratch option/state unchanged after turning the screen off and on again
System information:
The text was updated successfully, but these errors were encountered: