Disables unredirect fullscreen windows in gnome-shell to workaround a bug when clicking on full screen windows goes through to windows underneath. This also happens to fix screen tearing in full-screen windows.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Version | Status |
---|---|
12 | Active |
11 | Active |
10 | Rejected |
9 | Active |
8 | Active |
7 | Active |
6 | Active |
5 | Active |
4 | Active |
3 | Active |
2 | Active |
1 | Active |
What's the reason for checking whether the extension is enabled on not?
Users have reported that the extension stops working after some time https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect/issues/17 I was unable to reproduce the issue, but I did find that the "unredirect" setting is controlled by a counter https://gitlab.gnome.org/GNOME/mutter/-/blob/main/src/compositor/compositor.c#L1274 in the mutter. I believe that counter was used to emulate somewhat consistent behavior for the user when multiple "API" clients that disable unredirect - the mutter would enable redirect only when "ALL" clients allow that. Anyway, someone implemented state tracking in the extension itself https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect/pull/32 and claimed that it fixes the problem. It seemed plausible for me that tracking the state internally would not mess the counter in the mutter if for some reason gnome-shell calls enable/disable multiple times - so I went with that. TLDR - trying things out to address https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect/issues/17 pls share insights/suspicions if you have any, thnx
That's not going to solve the issue because after you disable it, other parts in GNOME Shell going to enable it on different events. You can solve those issues only when you consider all of these: https://gitlab.gnome.org/search?search=enable_unredirect_for_display&nav_source=navbar&project_id=546&group_id=8&search_code=true&repository_ref=main or monkey patch the `Meta.enable_unredirect_for_display` once after using it on enable so no other code can call the actual function.
* I meant `Meta.disable_unredirect_for_display`: https://gitlab.gnome.org/search?search=disable_unredirect_for_display&nav_source=navbar&project_id=546&group_id=8&search_code=true&repository_ref=main