blob: cb6e562ae99f59b082eb080c1f054c5e9b33327b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// SPDX-FileCopyrightText: 2023 Deminder <tremminder@gmail.com>
// SPDX-License-Identifier: GPL-3.0-or-later
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
export function currentSessionMode() {
return Main.sessionMode.currentMode;
}
/**
* Check if we want to show foreground activity
*/
export function foregroundActive() {
// ubuntu22.04 uses 'ubuntu' as 'user' sessionMode
return Main.sessionMode.currentMode !== 'unlock-dialog';
}
/**
* Observe foreground activity changes
*
* @param {object} obj bind obj as observer
* @param {Function} callback called upon change
*/
export function observeForegroundActive(obj, callback) {
if (!obj._sessionModeSignalId) {
obj._sessionModeSignalId = Main.sessionMode.connect('updated', () => {
callback(foregroundActive());
});
}
callback(foregroundActive());
}
/**
* Unobserve session mode
*/
export function unobserveForegroundActive(obj) {
if (obj._sessionModeSignalId) {
Main.sessionMode.disconnect(obj._sessionModeSignalId);
delete obj._sessionModeSignalId;
}
}
|