SUMMARY Mutter does this, and this allows applications like Firefox to stop the compositor and throttle timers and animations. STEPS TO REPRODUCE 1. In the foreground Firefox window, go to the terminal and write `setInterval(() => console.log(document.hidden), 500)` 2. Maximize a Konsole window on top of Firefox 3. Wait a bit. 4. Return to the Firefox console. OBSERVED RESULT Logs `false` every time. EXPECTED RESULT Logs true after a while while the window is occluded, then false again.
I was under the impression that mutter tracked proper occlusion but it doesn't seem to work in my testing...
Ah, it does work, but for some reason not with Konsole (is my Konsole using XWayland somehow? Or something else?). Gedit, or another Firefox window, or Foot, seem to all work as described in comment 0.