From 81d21f2e335d2fd59f8fc43d4788c2426c8a2fe1 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 28 Oct 2026 09:25:50 +0100 Subject: shells: a settings page that restarts the shells, with a notification Settings > Desktop > Shells lists every directory holding a shell.qml, running or stopped by `qs list --all`, with Restart (Start when it is not running) per row and a Restart all. Every button runs reload.sh through Quickshell.execDetached, which leaves the script outside the desktop shell's process, so restarting desktop from its own settings window works: the window closes and the new process carries on. restart.sh wraps reload.sh and sends one notification naming the shells that came back, or a critical one naming those that did not. Back means qs lists an instance on the shell's config path under a pid it did not have before, within 5s; the old instance can linger in the list for a moment after qs kill. It checks the process, not the config, so a shell that starts with a broken component still counts as back. The rows reuse the ai module's AiRow rather than a copy of it. Co-Authored-By: Claude Opus 5.5 --- desktop/shell.qml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'desktop/shell.qml') diff --git a/desktop/shell.qml b/desktop/shell.qml index 35dbe3f..ca78d00 100644 --- a/desktop/shell.qml +++ b/desktop/shell.qml @@ -23,6 +23,7 @@ import "modules/assistant" import "modules/autostart" import "modules/qtmaildir" import "modules/sbbuilder" +import "modules/shells" import "modules/bluetooth" import "modules/clipboard" import "modules/companion" @@ -92,6 +93,7 @@ ShellRoot { ArtistsModule {}, NotificationsModule {}, AutostartModule {}, + ShellsModule {}, ObsScenesModule {}, AssistantModule { id: asstSettings }, PresetsModule {}, -- cgit v1.2.3