Allow restart/shutdown on lock screen
Resolves: https://issues.redhat.com/browse/RHEL-101865
This commit is contained in:
parent
de36415cbc
commit
2444f7c937
@ -0,0 +1,63 @@
|
||||
From 193b664c7daa2ea7707e8b7fba03afe07e2cbd2a Mon Sep 17 00:00:00 2001
|
||||
From: Joan Torres Lopez <joantolo@redhat.com>
|
||||
Date: Tue, 15 Jul 2025 11:27:01 +0200
|
||||
Subject: [PATCH] systemActions: Optionally allow restart/shutdown on lock
|
||||
screen
|
||||
|
||||
Support the new 'restart-enabled' setting from 'org.gnome.desktop.screensaver'
|
||||
to optionally allow restart/shutdown from the lock screen.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1584
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3797>
|
||||
---
|
||||
js/misc/systemActions.js | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
|
||||
index a027a8134..c24d254b4 100644
|
||||
--- a/js/misc/systemActions.js
|
||||
+++ b/js/misc/systemActions.js
|
||||
@@ -12,10 +12,12 @@ import * as Screenshot from '../ui/screenshot.js';
|
||||
|
||||
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
|
||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||
+const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
|
||||
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
|
||||
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
|
||||
const DISABLE_LOG_OUT_KEY = 'disable-log-out';
|
||||
const DISABLE_RESTART_KEY = 'disable-restart-buttons';
|
||||
+const RESTART_ENABLED_KEY = 'restart-enabled';
|
||||
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
|
||||
|
||||
const POWER_OFF_ACTION_ID = 'power-off';
|
||||
@@ -153,6 +155,7 @@ const SystemActions = GObject.registerClass({
|
||||
this._loginScreenSettings = new Gio.Settings({schema_id: LOGIN_SCREEN_SCHEMA});
|
||||
this._lockdownSettings = new Gio.Settings({schema_id: LOCKDOWN_SCHEMA});
|
||||
this._orientationSettings = new Gio.Settings({schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen'});
|
||||
+ this._screenSaverSettings = new Gio.Settings({schema_id: SCREENSAVER_SCHEMA});
|
||||
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
@@ -182,6 +185,9 @@ const SystemActions = GObject.registerClass({
|
||||
this._lockdownSettings.connect(`changed::${DISABLE_LOG_OUT_KEY}`,
|
||||
() => this._updateHaveShutdown());
|
||||
|
||||
+ this._screenSaverSettings.connect(`changed::${RESTART_ENABLED_KEY}`,
|
||||
+ () => this._updateHaveShutdown());
|
||||
+
|
||||
this.forceUpdate();
|
||||
|
||||
this._orientationSettings.connect('changed::orientation-lock', () => {
|
||||
@@ -347,7 +353,8 @@ const SystemActions = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updatePowerOff() {
|
||||
- let disabled = Main.sessionMode.isLocked ||
|
||||
+ let disabled = (Main.sessionMode.isLocked &&
|
||||
+ !this._screenSaverSettings.get_boolean(RESTART_ENABLED_KEY)) ||
|
||||
(Main.sessionMode.isGreeter &&
|
||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||
this._actions.get(POWER_OFF_ACTION_ID).available = this._canHavePowerOff && !disabled;
|
||||
--
|
||||
2.49.0
|
||||
|
@ -32,6 +32,7 @@ Patch: 0001-screenShield-unblank-when-inserting-smartcard.patch
|
||||
Patch: enforce-smartcard-at-unlock.patch
|
||||
Patch: disable-unlock-entry-until-question.patch
|
||||
Patch: gdm-support-banner-message-file.patch
|
||||
Patch: 0001-systemActions-Optionally-allow-restart-shutdown-on-l.patch
|
||||
|
||||
# Extensions
|
||||
Patch: 0001-extensionDownloader-Refuse-to-override-system-extens.patch
|
||||
|
Loading…
Reference in New Issue
Block a user