Drop the systemd running on advice from outfoxxed
This commit is contained in:
@@ -107,9 +107,9 @@ When testing layer-shell UI, capture the reference and candidate states as separ
|
||||
# Omarchy shell
|
||||
|
||||
The Quickshell desktop runs as a single long-running process out of
|
||||
`shell/`. The `omarchy-shell.service` user unit
|
||||
keeps it running for the graphical session; do not start additional
|
||||
standalone `quickshell -p` instances for individual components.
|
||||
`shell/`. Hyprland autostart launches it directly with `quickshell -p`; do
|
||||
not start additional standalone `quickshell -p` instances for individual
|
||||
components.
|
||||
|
||||
Run `omarchy-restart-shell` after making changes to QML files.
|
||||
|
||||
@@ -130,8 +130,8 @@ Plugin contract:
|
||||
IPC:
|
||||
|
||||
- `bin/omarchy-shell` is the canonical IPC entry point. It forwards to
|
||||
the running shell service and does not start it. Prefer it over
|
||||
re-implementing direct Quickshell socket calls in every CLI.
|
||||
the running shell and does not start it. Prefer it over re-implementing
|
||||
direct Quickshell socket calls in every CLI.
|
||||
- The `shell` IPC target exposes `ping`, `summon`, `hide`, `toggle`,
|
||||
`rescanPlugins`, `setPluginEnabled`, and `listPlugins`. Individual
|
||||
plugins can register additional IPC targets (the bar registers `bar`,
|
||||
|
||||
@@ -12,7 +12,6 @@ if [[ -f $FIRST_RUN_MODE ]]; then
|
||||
|
||||
bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/recover-internal-monitor.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/omarchy-shell.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/cleanup-reboot-sudoers.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
|
||||
|
||||
@@ -3,5 +3,8 @@
|
||||
# omarchy:summary=Restart the Omarchy shell
|
||||
# omarchy:examples=omarchy restart shell
|
||||
|
||||
systemctl --user enable omarchy-shell.service >/dev/null
|
||||
systemctl --user restart omarchy-shell.service
|
||||
CONFIG_DIR="$OMARCHY_PATH/shell"
|
||||
|
||||
if ! quickshell reload -p "$CONFIG_DIR" >/dev/null 2>&1; then
|
||||
setsid quickshell -n -p "$CONFIG_DIR" >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ if [[ $# -eq 0 || $1 == "-h" || $1 == "--help" ]]; then
|
||||
cat <<USAGE
|
||||
Usage: omarchy-shell <target> <method> [args...]
|
||||
|
||||
Forwards an IPC call to the supervised omarchy-shell service. The shell is
|
||||
expected to already be running; this command does not start it.
|
||||
Forwards an IPC call to the running Omarchy shell. The shell is expected
|
||||
to already be running; this command does not start it.
|
||||
|
||||
Examples:
|
||||
omarchy-shell shell ping
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
[Unit]
|
||||
Description=Omarchy Shell
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target
|
||||
StartLimitIntervalSec=30
|
||||
StartLimitBurst=5
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
Environment=OMARCHY_PATH=%h/.local/share/omarchy
|
||||
ExecStart=/usr/bin/quickshell -p %h/.local/share/omarchy/shell
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
Slice=session-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
@@ -3,7 +3,7 @@ hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("systemctl --user import-environment $(env | cut -d'=' -f 1)")
|
||||
hl.exec_cmd("dbus-update-activation-environment --systemd --all")
|
||||
|
||||
hl.exec_cmd("systemctl --user start omarchy-shell.service")
|
||||
hl.exec_cmd("quickshell -n -p $HOME/.local/share/omarchy/shell")
|
||||
hl.exec_cmd("uwsm-app -- hypridle")
|
||||
hl.exec_cmd("uwsm-app -- fcitx5 --disable notificationitem")
|
||||
hl.exec_cmd("omarchy-first-run")
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
mkdir -p ~/.config/systemd/user
|
||||
cp "$OMARCHY_PATH/config/systemd/user/omarchy-shell.service" ~/.config/systemd/user/omarchy-shell.service
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable --now omarchy-shell.service
|
||||
@@ -1,17 +1,8 @@
|
||||
echo "Run omarchy-shell as a supervised user service"
|
||||
|
||||
mkdir -p ~/.config/systemd/user
|
||||
cp "$OMARCHY_PATH/config/systemd/user/omarchy-shell.service" ~/.config/systemd/user/omarchy-shell.service
|
||||
systemctl --user daemon-reload
|
||||
echo "Use omarchy-shell as the Quickshell IPC entry point"
|
||||
|
||||
for file in ~/.config/hypr/bindings.lua ~/.config/hypr/bindings/*.lua; do
|
||||
[[ -f $file ]] || continue
|
||||
sed -i 's/omarchy-shell-ipc-fast/omarchy-shell/g; s/omarchy-shell-ipc/omarchy-shell/g; s/omarchy-shell[[:space:]]\+--if-running/omarchy-shell/g' "$file"
|
||||
done
|
||||
|
||||
if ! systemctl --user is-active --quiet omarchy-shell.service && omarchy-cmd-present quickshell; then
|
||||
quickshell kill -p "$OMARCHY_PATH/shell" >/dev/null 2>&1 || true
|
||||
quickshell kill -p "$OMARCHY_PATH/default/quickshell"/omarchy-shell >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
systemctl --user enable --now omarchy-shell.service || true
|
||||
omarchy-restart-shell
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
echo "Move omarchy-shell to the top-level shell directory"
|
||||
|
||||
mkdir -p ~/.config/systemd/user
|
||||
cp "$OMARCHY_PATH/config/systemd/user/omarchy-shell.service" ~/.config/systemd/user/omarchy-shell.service
|
||||
systemctl --user daemon-reload
|
||||
|
||||
if omarchy-cmd-present quickshell; then
|
||||
quickshell kill -p "$OMARCHY_PATH/default/quickshell"/omarchy-shell >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
if systemctl --user is-enabled --quiet omarchy-shell.service || systemctl --user is-active --quiet omarchy-shell.service; then
|
||||
systemctl --user restart omarchy-shell.service || true
|
||||
fi
|
||||
omarchy-restart-shell
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
echo "Remove the omarchy-shell user service"
|
||||
|
||||
systemctl --user disable --now omarchy-shell.service >/dev/null 2>&1 || true
|
||||
rm -f ~/.config/systemd/user/omarchy-shell.service
|
||||
systemctl --user daemon-reload >/dev/null 2>&1 || true
|
||||
|
||||
omarchy-restart-shell
|
||||
+9
-10
@@ -1,10 +1,10 @@
|
||||
# Omarchy shell
|
||||
|
||||
`omarchy-shell` is a single long-running [Quickshell](https://quickshell.org/)
|
||||
instance that hosts the Omarchy desktop. A supervised user systemd service
|
||||
keeps one shell running per graphical session; everything else — the bar,
|
||||
the bar settings UI, the background switcher, future panels and overlays —
|
||||
runs **inside** the shell as a plugin.
|
||||
instance that hosts the Omarchy desktop. Hyprland autostart launches one shell
|
||||
per graphical session; everything else — the bar, the bar settings UI, the
|
||||
background switcher, future panels and overlays — runs **inside** the shell as
|
||||
a plugin.
|
||||
|
||||
Hosting everything inside one shell means:
|
||||
|
||||
@@ -119,13 +119,12 @@ Direct invocation:
|
||||
quickshell ipc -p $OMARCHY_PATH/shell call shell ping
|
||||
```
|
||||
|
||||
The `omarchy-shell.service` user unit starts the shell for the graphical
|
||||
session and restarts it if it exits. Use `omarchy-restart-shell` to reload
|
||||
the long-running shell process.
|
||||
Hyprland autostart launches the shell directly with `quickshell -p
|
||||
$OMARCHY_PATH/shell`. Use `omarchy-restart-shell` (`quickshell reload`) to
|
||||
reload the long-running shell process.
|
||||
|
||||
A convenience wrapper, [`omarchy-shell`](../bin/omarchy-shell),
|
||||
forwards IPC calls to the running service. It does not start the shell; the
|
||||
systemd unit owns the shell lifecycle.
|
||||
A convenience wrapper, [`omarchy-shell`](../bin/omarchy-shell), forwards IPC
|
||||
calls to the running shell. It does not start the shell.
|
||||
|
||||
```
|
||||
omarchy-shell shell ping
|
||||
|
||||
Reference in New Issue
Block a user