mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Add userspace reboot/restart
Update SessionMenuTab.qml Update CompositorService.qml Update settings-default.json Update en.json Update SessionProvider.qml Update LockScreenPanel.qml Update SessionMenuEntrySettingsDialog.qml Update SessionMenu.qml
This commit is contained in:
@@ -476,6 +476,7 @@
|
||||
"random": "Random",
|
||||
"reboot": "Reboot",
|
||||
"reboot-to-uefi": "Reboot to UEFI",
|
||||
"userspace-reboot": "Userspace Reboot",
|
||||
"record": "Start recording",
|
||||
"refresh": "Refresh",
|
||||
"required": "(required)",
|
||||
|
||||
@@ -408,6 +408,11 @@
|
||||
"action": "rebootToUefi",
|
||||
"enabled": true,
|
||||
"keybind": "7"
|
||||
},
|
||||
{
|
||||
"action": "userspace-reboot",
|
||||
"enabled": false,
|
||||
"keybind": "8"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -88,6 +88,9 @@ Item {
|
||||
case "reboot":
|
||||
CompositorService.reboot();
|
||||
break;
|
||||
case "userspace-reboot":
|
||||
CompositorService.userspaceReboot();
|
||||
break;
|
||||
case "shutdown":
|
||||
CompositorService.shutdown();
|
||||
break;
|
||||
|
||||
@@ -40,6 +40,12 @@ Item {
|
||||
"icon": iconMode === "tabler" ? "reboot" : "system-reboot",
|
||||
"keywords": ["reboot", "restart", "reload"]
|
||||
},
|
||||
{
|
||||
"action": "userspace-reboot",
|
||||
"labelKey": "common.userspace-reboot",
|
||||
"icon": iconMode === "tabler" ? "rotate" : "system-reboot",
|
||||
"keywords": ["reboot", "restart", "soft", "userspace"]
|
||||
},
|
||||
{
|
||||
"action": "logout",
|
||||
"labelKey": "common.logout",
|
||||
@@ -168,6 +174,9 @@ Item {
|
||||
case "reboot":
|
||||
CompositorService.reboot();
|
||||
break;
|
||||
case "userspace-reboot":
|
||||
CompositorService.userspaceReboot();
|
||||
break;
|
||||
case "logout":
|
||||
CompositorService.logout();
|
||||
break;
|
||||
|
||||
@@ -120,6 +120,11 @@ SmartPanel {
|
||||
"icon": "shutdown",
|
||||
"title": I18n.tr("common.shutdown"),
|
||||
"isShutdown": true
|
||||
},
|
||||
"userspace-reboot": {
|
||||
"icon": "rotate",
|
||||
"title": I18n.tr("common.userspace-reboot"),
|
||||
"isShutdown": false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,6 +248,9 @@ SmartPanel {
|
||||
case "reboot":
|
||||
CompositorService.reboot();
|
||||
break;
|
||||
case "userspace-reboot":
|
||||
CompositorService.userspaceReboot();
|
||||
break;
|
||||
case "rebootToUefi":
|
||||
CompositorService.rebootToUefi();
|
||||
break;
|
||||
|
||||
@@ -24,7 +24,8 @@ Popup {
|
||||
"reboot": "systemctl reboot || loginctl reboot",
|
||||
"rebootToUefi": "systemctl reboot --firmware-setup || loginctl reboot --firmware-setup",
|
||||
"logout": I18n.tr("panels.session-menu.entry-settings-default-command-logout"),
|
||||
"shutdown": "systemctl poweroff || loginctl poweroff"
|
||||
"shutdown": "systemctl poweroff || loginctl poweroff",
|
||||
"userspace-reboot": "systemctl soft-reboot"
|
||||
}
|
||||
|
||||
readonly property string defaultCommand: defaultCommands[entryId] || ""
|
||||
|
||||
@@ -37,6 +37,12 @@ ColumnLayout {
|
||||
"enabled": true,
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "userspace-reboot",
|
||||
"text": I18n.tr("common.userspace-reboot"),
|
||||
"enabled": false,
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "rebootToUefi",
|
||||
"text": I18n.tr("common.reboot-to-uefi"),
|
||||
|
||||
@@ -495,6 +495,16 @@ Singleton {
|
||||
});
|
||||
}
|
||||
|
||||
function userspaceReboot() {
|
||||
Logger.i("Compositor", "Userspace reboot requested");
|
||||
if (executeSessionAction("userspace-reboot"))
|
||||
return;
|
||||
|
||||
HooksService.executeSessionHook("userspace-reboot", () => {
|
||||
Quickshell.execDetached(["sh", "-c", "systemctl soft-reboot"]);
|
||||
});
|
||||
}
|
||||
|
||||
function rebootToUefi() {
|
||||
Logger.i("Compositor", "Reboot to UEFI firmware requested requested");
|
||||
if (executeSessionAction("rebootToUefi"))
|
||||
|
||||
Reference in New Issue
Block a user