diff options
Diffstat (limited to 'desktop/modules/shells/README.md')
| -rw-r--r-- | desktop/modules/shells/README.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/desktop/modules/shells/README.md b/desktop/modules/shells/README.md new file mode 100644 index 0000000..16a93b5 --- /dev/null +++ b/desktop/modules/shells/README.md @@ -0,0 +1,21 @@ +# shells + +Every directory in the repo holding a `shell.qml`, with whether `qs list +--all` shows an instance on it, and a Restart (or Start, when it is not +running) per row plus a Restart all. All three run `reload.sh`, so a button +does what the script does from a terminal, wrapped by `restart.sh`, which +then sends one notification naming the shells that came back, or a critical +one naming those that did not. Back means a `qs` 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 is the process, not +the config: a shell that starts with a broken component counts as back. + +The script is started with `Quickshell.execDetached`, which leaves it outside +the desktop shell's process: restarting `desktop` from here kills the process +drawing the page and the script carries on and starts the new one. The +settings window closes with it and is not reopened. The new shell inherits +the desktop shell's environment, which is the one Hyprland's autostart gave +it. + +A hung desktop shell cannot be restarted from here, since the page is part of +it. `./reload.sh` from a terminal remains the way out. |
