! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Implement _NET_WM_BYPASS_COMPOSITOR standard
Status:
RESOLVED: FIXED

Comments

Description jeremy9856 2016-02-03 12:17:48 CET
Xfwm4 doesn't seem to disable window composition when the application window sets _NET_WM_BYPASS_COMPOSITOR flag. The freedesktop WM specification http://cgit.freedesktop.org/xdg/xdg-specs/tree/wm-spec/wm-spec.xml#n1579 states that _NET_WM_BYPASS_COMPOSITOR could be set by the client to request uncomposited window. 

Mutter is compatible and Kwin will be soon (https://git.reviewboard.kde.org/r/126561/)

Thanks !
Comment 1 jeremy9856 2016-11-14 08:19:49 CET
I still hope that will be implemented one day because it's so useful !
Comment 2 Olivier Fourdan editbugs 2016-11-14 08:59:04 CET
yes, I reckon adding this would be fairly simple
Comment 3 Marcos Mello 2017-11-03 11:22:56 CET
Ping?
Comment 4 Olivier Fourdan editbugs 2017-11-16 09:24:17 CET
Adding the option is the easy part, un-redirecting windows as well, but once you have unredirected the windows that request _NET_WM_BYPASS_COMPOSITOR, they will most likely not appear at all because they will be covered by the COW (compositor overlay window).

So you'd had to shape the COW somehow to let the  non-redirected windows see through, which is not trivial and possibly slow.

The spec stated that the compositing manager must not bypass compositing of the window if it would cause differences from the composited appearance, but that's to me sounds like an over simplification because you may have drop shadows from other windows or even a semi-transparent windows from another client on top, and this wouldn't work even though the appearance of the window itself is not changed.

I am not convinced that mixing redirected and unredirected windows is a good idea. I reckon the only case where this would make sense, is with fullscreen windows on top of the stack.
Comment 5 Marcos Mello 2017-11-16 10:20:33 CET
(In reply to Olivier Fourdan from comment #4)
> I am not convinced that mixing redirected and unredirected windows is a good
> idea. I reckon the only case where this would make sense, is with fullscreen
> windows on top of the stack.

Only fullscreen windows are unredirected on Mutter AFAIK (meta_surface_actor_x11_should_unredirect(), src/compositor/meta-surface-actor-x11.c).
Comment 6 jeremy9856 2017-12-31 12:30:02 CET
Can it be implemented for 4.14 ? At least for fullscreen windows since it doesn't really make sense for windowed one ? It is a rellly useful feature.
Thanks !
Comment 7 jeremy9856 2018-01-13 07:50:34 CET
Even more useful now that Google Chrome implement it too !

https://bugs.chromium.org/p/chromium/issues/detail?id=344141#c48
Comment 8 Marcos Mello 2018-01-13 10:03:44 CET
xfwm does not have auto unredirect heuristics that compiz and mutter have, that Chromium bug does not affect xfwm really.
Comment 9 jeremy9856 2018-01-13 10:43:23 CET
It can affect you if you enable the unredirect fullscreen windows option.
Comment 10 Marcos Mello 2018-04-03 11:55:26 CEST
RetroArch related bug:

https://github.com/libretro/RetroArch/pull/6493#issuecomment-378082506
Comment 11 Git Bot editbugs 2018-07-26 07:18:03 CEST
Olivier Fourdan referenced this bugreport in commit 642275e9d795e9f2cba78df7e3e92485955638a6

compositor: Add support for NET_WM_BYPASS_COMPOSITOR

https://git.xfce.org/xfce/xfwm4/commit?id=642275e9d795e9f2cba78df7e3e92485955638a6
Comment 12 jeremy9856 2018-07-26 07:20:49 CEST
Awesome, Thanks !
Comment 13 Marcos Mello 2018-07-26 11:59:59 CEST
Thanks Olivier! It would be great have a new development release (4.13.1 ?) to help testing!

Bug #12434

Reported by:
jeremy9856
Reported on: 2016-02-03
Last modified on: 2018-07-26

People

Assignee:
Olivier Fourdan
CC List:
1 user

Version

Version:
unspecified

Attachments

Additional information