My Environment:
Operating System: Ubuntu 25.04
Desktop Environment: GNOME (using Wayland session)
Plex Client: Plex Desktop (Flatpak, App ID: tv.plex.PlexDesktop)
The Need:
Like many desktop environments, GNOME on Ubuntu includes a “Night Light” feature (similar to Night Shift or f.lux) that reduces blue light emission by warming the screen color temperature during the evening. While beneficial for general use, this color shift negatively impacts the viewing experience when watching videos, as it alters the intended colors.
Ideally, the system’s Night Light feature should be automatically disabled only when a video player like Plex enters fullscreen mode, and automatically re-enabled when exiting fullscreen.
VLC’s Implementation:
VLC Media Player handles this scenario quite well on Linux. When VLC enters or exits fullscreen, it broadcasts this state change via the standard D-Bus MPRIS interface. Specifically, it updates the Fullscreen property (a boolean value) under its registered D-Bus name org.mpris.MediaPlayer2.vlc on the session bus (path=/org/mpris/MediaPlayer2, interface=org.freedesktop.DBus.Properties).
This standard signal makes it very easy for simple external scripts or utilities (using dbus-monitor) to listen for this specific change and automatically toggle the system’s Night Light setting (gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled false/true). This provides a seamless user experience.
The Problem with Plex Desktop:
Unfortunately, achieving the same seamless automation with the Plex Desktop client on Wayland seems impossible currently using simple external tools. Based on investigation using dbus-send to list MPRIS players while Plex Desktop (tv.plex.PlexDesktop) is running and playing media:
The Plex Desktop client does not seem to register itself under a predictable MPRIS name like org.mpris.MediaPlayer2.plexdesktop or similar on the session bus.
Even if it did, it’s unclear if it broadcasts a standard Fullscreen property change like VLC does.
Without a standard and discoverable D-Bus signal indicating the fullscreen state change, external scripts cannot reliably detect when only the Plex window is fullscreen.
While other signals (like session manager inhibitors via org.gnome.SessionManager) can be monitored, they trigger simply when media starts playing (even in windowed mode or in the background), which is not the desired behavior (it disables Night Light too often). In Wayland, due to security restrictions, simple scripts cannot easily query the state of other application windows (unlike in Xorg with tools like xdotool).
Expectation / Feature Request:
Could the Plex team please consider implementing a standard mechanism for the Plex Desktop client on Linux to announce its fullscreen state changes?
The ideal solution would be to fully implement the MPRIS standard, including registering under a predictable name (e.g., org.mpris.MediaPlayer2.plexdesktop) and broadcasting the Fullscreen property change via org.freedesktop.DBus.Properties.PropertiesChanged, just like VLC does.
Alternatively, any other reliable D-Bus signal specifically indicating the entering/exiting of fullscreen mode would also be greatly appreciated.
This would significantly improve the user experience for Linux users (especially on Wayland) who utilize Night Light features and want accurate colors only when actively watching Plex in fullscreen.
Thank you for considering this feature request!