js/main: Inhibit remote access when depending on session mode
The session mode determines whether the screen casting should work or not, but until now only dealt with the built in screen cast, not the ones using PipeWire. Add the newly added API for inhibiting remote access when the session mode says screencasts are not allowed. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1210
This commit is contained in:
parent
772df91762
commit
c3646a7642
@ -97,6 +97,8 @@ let _oskResource = null;
|
|||||||
Gio._promisify(Gio._LocalFilePrototype, 'delete_async', 'delete_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'delete_async', 'delete_finish');
|
||||||
Gio._promisify(Gio._LocalFilePrototype, 'touch_async', 'touch_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'touch_async', 'touch_finish');
|
||||||
|
|
||||||
|
let _remoteAccessInhibited = false;
|
||||||
|
|
||||||
function _sessionUpdated() {
|
function _sessionUpdated() {
|
||||||
if (sessionMode.isPrimary)
|
if (sessionMode.isPrimary)
|
||||||
_loadDefaultStylesheet();
|
_loadDefaultStylesheet();
|
||||||
@ -121,6 +123,17 @@ function _sessionUpdated() {
|
|||||||
if (lookingGlass)
|
if (lookingGlass)
|
||||||
lookingGlass.close();
|
lookingGlass.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let remoteAccessController = global.backend.get_remote_access_controller();
|
||||||
|
if (remoteAccessController) {
|
||||||
|
if (sessionMode.allowScreencast && _remoteAccessInhibited) {
|
||||||
|
remoteAccessController.uninhibit_remote_access();
|
||||||
|
_remoteAccessInhibited = false;
|
||||||
|
} else if (!sessionMode.allowScreencast && !_remoteAccessInhibited) {
|
||||||
|
remoteAccessController.inhibit_remote_access();
|
||||||
|
_remoteAccessInhibited = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
|
Loading…
Reference in New Issue
Block a user