main: Inhibit animations when there is a remote desktop session
If a remote desktop session asks for animations to be disabled, inhibit animations while the session is active. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/757
This commit is contained in:
parent
4b42879a2c
commit
8a1c0f3a42
@ -775,5 +775,31 @@ var AnimationsSettings = class {
|
||||
St.Settings.get().inhibit_animations();
|
||||
return;
|
||||
}
|
||||
|
||||
let remoteAccessController = backend.get_remote_access_controller();
|
||||
if (!remoteAccessController)
|
||||
return;
|
||||
|
||||
this._handles = new Set();
|
||||
remoteAccessController.connect('new-handle',
|
||||
(_, handle) => this._onNewRemoteAccessHandle(handle));
|
||||
}
|
||||
|
||||
_onRemoteAccessHandleStopped(handle) {
|
||||
let settings = St.Settings.get();
|
||||
|
||||
settings.uninhibit_animations();
|
||||
this._handles.delete(handle);
|
||||
}
|
||||
|
||||
_onNewRemoteAccessHandle(handle) {
|
||||
if (!handle.get_disable_animations())
|
||||
return;
|
||||
|
||||
let settings = St.Settings.get();
|
||||
|
||||
settings.inhibit_animations();
|
||||
this._handles.add(handle);
|
||||
handle.connect('stopped', this._onRemoteAccessHandleStopped.bind(this));
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user