Clutter.Actor.add_effect behaves inconsistently when called with Clutter.DesaturateEffect for the Main UI Group
Affected version
3.36, 3.38, 40, 41, 42, 43 (X11 or Wayland)
My setup:
GNOME Shell: 3.36.9
Windowing System: X11
OS: Ubuntu 20.04.5 LTS x86_64
Host: VivoBook_ASUSLaptop X712DA_M712DA 1.0
Kernel: 5.15.0-56-generic
Uptime: 4 hours, 14 mins
DE: GNOME
WM: Mutter
WM Theme: Adwaita
Terminal: gnome-terminal
CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (8) @ 2.100GHz
GPU: AMD ATI 03:00.0 Picasso
Memory: 3877MiB / 9896MiB
Video drivers:
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Mesa Gallium driver 21.2.6 for AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.42.0, 5.15.0-56-generic, LLVM 12.0.0)
Bug summary
Applying Clutter.DesaturateEffect
to the Main UI Group (ui.main.layoutManager.uiGroup
) with the use of Clutter.Actor.add_effect
or Clutter.Actor.add_effect_with_name
will not desaturate video players windows, maximized or in full screen mode, when there aren't any other Gnome Shell elements visible on the screen.
Steps to reproduce
- Install and enable the Bedtime Mode extension OR install and enable this very lightweight extension that only applies a
Clutter.DesaturateEffect
to the main ui group. - The whole Gnome Shell UI (except the mouse pointer) should be desaturated, displayed in greyscale.
- Open and play a video with the default Video Player app. The video and video player should be also in greyscale.
- Double click the video player to enter the full screen mode and the playing video becomes colored. NOTE: Wait a little bit or got out and in of the full screen mode a couple of times if the video doesn't become colored right away.
- When exiting the full screen mode, the video becomes greyscale again.
If you install the Hide Top Bar extension and maximize the video player window, the greyscale effect is also not applied when the top bar is hidden, even if the video player title bar is visible.
What happened
It seems that some app windows (like video players) somehow escape from the applied Clutter.DesaturateEffect
.
Most of the video players in full screen mode don't have Clutter.DesaturateEffect
applied to them anymore (Video Player, VLC, SMPlayer, Stremio, Kodi), unless some other piece of UI gets displayed at the same time.
I have a Bedtime Mode
user that reported this behavior also with other apps, like:
- Librewolf browser, fullscreen
- nautilus (fullscreen toggle using gnome right click menu, and on drag-n-drop to top if dash-to-panel autohide is enabled)
- hakuneko (only when using built-in F11 fullscreen)
- gnome-settings (same as nautilus)
What did you expect to happen
Users expect that if the Clutter.DesaturateEffect
is applied, everything should be displayed in greyscale afterwards.