3 ms·
Blurring happens inside the UI server process. Here is a related technique in macOS: https://avaidyam.github.io/2018/02/17/CAPluginLayer_CABackdropLayer.html ht
by ajconway 5y ago
Blurring happens inside the UI server process. Here is a related technique in macOS: https://avaidyam.github.io/2018/02/17/CAPluginLayer_CABackdropLayer.html https://avaidyam.github.io/2018/02/17/CAPluginLayer_CABackdr...
Basically, it's like an iframe — you declare what contents this portion of screen should have, and the render server composes it onto the screen. The render server is shared between all apps (just like in X11), so it can compose different apps with dependent effects (like blur). Apps don't have direct access to the render server's context, just like a webpage doesn't have any way to extract data from a foreign iframe.