# ePrivacy Screen and GNOME
### Basic implementation
- **mutter**
- monitors the changes to the DRM property and exposes it via a DBus property to the rest of the desktop
- monitors `org.gnome.desktop.privacy`'s `privacy-screen` gsettings value and try to reflect the option on the device (if it supports software-changes)
- ~~Emits a `privacy-screen-changed` property with a purpose argument when changes happen (if trigggered by us for security purposes, hotkey or gsettings)~~
- Emits a `show-osd` signal to make the shell to show the relative popup
- **~~gnome-settings-daemon~~**
- ~~via a new gsd-display-daemon (?! - to be discussed, but ideally it's like this to be reused by brightness settings too)~~
- ~~synchronizes the value with gsettings~~
- ~~tells the shell to show an OSD~~
- ~~**gnome-shell**~~
- ~~Reacts to mutter signal and based o that shows the relative OSD~~
- **gnome-control-center**
- shows a related option if there's a screen in the system supporting this technology (can be unsensitive if the hardware has not software toggle support).
### Branches
- https://gitlab.gnome.org/3v1n0/gsettings-desktop-schemas/-/commits/privacy-screen
- https://gitlab.gnome.org/3v1n0/mutter/-/commits/eprivacy-support
- ~~https://gitlab.gnome.org/3v1n0/gnome-settings-daemon/-/commits/display-manager+privacy-screen~~
- https://gitlab.gnome.org/3v1n0/gnome-control-center/-/commits/privacy-screen
### Merge requests
- https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/merge_requests/49
- https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1952
- https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1032