diff options
author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2021-03-22 01:20:00 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2022-01-25 07:31:19 +0000 |
commit | fd1f6094c975b7238321cca29519267865c55b76 (patch) | |
tree | ea62e78621375e8071df1dbdcef7f88bfac0104f /src/backends/meta-monitor-manager.c | |
parent | f96a167aea2d633619228b95ec4cb7a334f0ea18 (diff) | |
download | mutter-fd1f6094c975b7238321cca29519267865c55b76.tar.gz |
monitor-manager: Expose the privacy screen state on DBus current state
Expose each monitor state as two booleans, not to expose the whole flags
Related-to: GNOME/gnome-control-center#909
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1952>
Diffstat (limited to 'src/backends/meta-monitor-manager.c')
-rw-r--r-- | src/backends/meta-monitor-manager.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c index 1430171e7..2dff6539e 100644 --- a/src/backends/meta-monitor-manager.c +++ b/src/backends/meta-monitor-manager.c @@ -1802,6 +1802,7 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, MetaMonitorSpec *monitor_spec = meta_monitor_get_spec (monitor); MetaMonitorMode *current_mode; MetaMonitorMode *preferred_mode; + MetaPrivacyScreenState privacy_screen_state; GVariantBuilder modes_builder; GVariantBuilder monitor_properties_builder; GList *k; @@ -1901,6 +1902,19 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton, "display-name", g_variant_new_string (display_name)); + privacy_screen_state = meta_monitor_get_privacy_screen_state (monitor); + if (privacy_screen_state != META_PRIVACY_SCREEN_UNAVAILABLE) + { + GVariant *state; + + state = g_variant_new ("(bb)", + !!(privacy_screen_state & META_PRIVACY_SCREEN_ENABLED), + !!(privacy_screen_state & META_PRIVACY_SCREEN_LOCKED)); + + g_variant_builder_add (&monitor_properties_builder, "{sv}", + "privacy-screen-state", state); + } + g_variant_builder_add (&monitors_builder, MONITOR_FORMAT, monitor_spec->connector, monitor_spec->vendor, |