From 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 Mon Sep 17 00:00:00 2001 From: AlexanderCurl Date: Sat, 18 Apr 2026 17:46:06 +0100 Subject: Replaced file structures for themes in the correct format --- .../modules/session-mode-aware.js | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 raveos-gnome-theme/theme-data/extensions/installed/ShutdownTimer@deminder/modules/session-mode-aware.js (limited to 'raveos-gnome-theme/theme-data/extensions/installed/ShutdownTimer@deminder/modules/session-mode-aware.js') diff --git a/raveos-gnome-theme/theme-data/extensions/installed/ShutdownTimer@deminder/modules/session-mode-aware.js b/raveos-gnome-theme/theme-data/extensions/installed/ShutdownTimer@deminder/modules/session-mode-aware.js new file mode 100644 index 0000000..cb6e562 --- /dev/null +++ b/raveos-gnome-theme/theme-data/extensions/installed/ShutdownTimer@deminder/modules/session-mode-aware.js @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2023 Deminder +// 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; + } +} -- cgit v1.3