diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2020-10-13 16:28:51 +0200 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2020-10-13 21:45:59 +0000 |
commit | a0e87b53ffe8ccf0530f87382ca0cc712a7b993e (patch) | |
tree | cb4df0161b8142758972c327f76590662696cc8d | |
parent | 6c7ab4f00dc689e21a82ccd877611597c9a00d75 (diff) | |
download | gnome-shell-a0e87b53ffe8ccf0530f87382ca0cc712a7b993e.tar.gz |
remoteAccess: Ignore all but the screen record handles on X11
We still want to show the red dot when recording the screen on X11, so
only drop the "screen-is-shared" handles when using the X11 session.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3279
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1466
-rw-r--r-- | js/ui/status/remoteAccess.js | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/js/ui/status/remoteAccess.js b/js/ui/status/remoteAccess.js index feafe6155..21f6581b6 100644 --- a/js/ui/status/remoteAccess.js +++ b/js/ui/status/remoteAccess.js @@ -16,13 +16,6 @@ class RemoteAccessApplet extends PanelMenu.SystemIndicator { if (!controller) return; - // We can't possibly know about all types of screen sharing on X11, so - // showing these controls on X11 might give a false sense of security. - // Thus, only enable these controls when using Wayland, where we are - // in control of sharing. - if (!Meta.is_wayland_compositor()) - return; - this._handles = new Set(); this._sharedIndicator = null; this._recordingIndicator = null; @@ -85,6 +78,16 @@ class RemoteAccessApplet extends PanelMenu.SystemIndicator { } _onNewHandle(handle) { + // We can't possibly know about all types of screen sharing on X11, so + // showing these controls on X11 might give a false sense of security. + // Thus, only enable these controls when using Wayland, where we are + // in control of sharing. + // + // We still want to show screen recordings though, to indicate when + // the built in screen recorder is active, no matter the session type. + if (!Meta.is_wayland_compositor() && !handle.is_recording) + return; + this._handles.add(handle); handle.connect('stopped', this._onStopped.bind(this)); |