Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.

Disabling composition for full-screen applications #110

Open
es20490446e opened this issue Apr 4, 2021 · 3 comments
Open

Disabling composition for full-screen applications #110

es20490446e opened this issue Apr 4, 2021 · 3 comments
Assignees
Labels
suggestion New feature or request

Comments

@es20490446e
Copy link

es20490446e commented Apr 4, 2021

I figured out another way of disabling composition for full-screen applications.

The trick is simple: instantly disabling composition on full screen, and if the full-screen application loses focus just waiting 10 seconds before re-enabling composition. That prevents 95% of glitches.

Better than that: no need to constantly poll the current window to see if it is full-screen, wasting computer resources. It only checks full-screen status on a window change.

Here you have the algorithms, in case you find that useful.

@es20490446e
Copy link
Author

By the way I have figured out an even better algorithm to do this. Now:

  • Entering or leaving full-screen instantly toggles composition. You can't even see the transition.
  • Composition isn't re-enabled if the full-screen window loses focus, till that window is closed.
  • Applications started as windowed don't automatically block composition when maximized, for example web-browsers.
  • No perceivable use of CPU or IO on the system monitor.

The trick was simple: only re-test for full-screen if the last known full-screen window is no longer full-screen.

Everything is done in memory for maximum performance, and only iterated on window focus change.

@es20490446e
Copy link
Author

es20490446e commented Apr 6, 2021

@tildearrow Ported to kwinscript on the KDE Store.

@tildearrow tildearrow self-assigned this Nov 20, 2021
@tildearrow tildearrow added the suggestion New feature or request label Nov 20, 2021
@tildearrow
Copy link
Owner

Full-screen unredirection now available with the latest KWin-lowlatency release I just pushed a bit ago.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
suggestion New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants