Greet the first login with a keybindings toast again

Opening the cheatsheet outright put a menu in front of someone who had not
asked for one, and it blocked first run until they dismissed it. Go back to a
toast that opens the same menu when clicked.

The body carries real newlines now. It was written with a literal \n, which the
card renders as the two characters rather than a line break.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
David Heinemeier Hansson
2026-08-11 05:32:47 -07:00
co-authored by Claude Opus 5
parent 77bf2ef704
commit 1c9dfc55f4
4 changed files with 11 additions and 10 deletions
+4 -4
View File
@@ -83,12 +83,12 @@ run_first_run_step "apply speaker tuning" \
bash "$OMARCHY_PATH/install/user/first-run/audio-tuning.sh"
omarchy-notification-wait || log_first_run "Timed out waiting for notification service; continuing"
# Each send returns only once the server has taken the toast, so sending in
# order is enough to stack them newest-on-top.
run_first_run_step "show welcome notification" \
bash "$OMARCHY_PATH/install/user/first-run/welcome.sh"
run_first_run_step "schedule Wi-Fi/update notifications" \
bash "$OMARCHY_PATH/install/user/first-run/wifi.sh"
# Waits for the menu to be answered, so it goes last and leaves the toasts
# waiting underneath.
run_first_run_step "show keybindings" \
bash "$OMARCHY_PATH/install/user/first-run/keybindings.sh"
if (( first_run_failed == 0 )); then
omarchy-done mark "$FIRST_RUN_DONE"
+2 -2
View File
@@ -237,11 +237,11 @@ systemd instance:
- `install/user/first-run/gnome-theme.sh`,
`install/user/first-run/gtk-primary-paste.sh` — GNOME/GTK settings that
need the dconf daemon.
- `install/user/first-run/welcome.sh` — keybindings toast that greets the
first login and opens the cheatsheet when clicked.
- `install/user/first-run/wifi.sh` — Wi-Fi/update toasts (waits for a live
notification server before firing, then waits detached on `nm-online` so the
update prompt only lands once there is a connection).
- `install/user/first-run/keybindings.sh` — opens the keybindings menu to
greet the first login; blocks until it is answered.
The entire sequence has one idempotency marker:
`~/.local/state/omarchy/done/first-run-user`, managed by `omarchy-done`.
-4
View File
@@ -1,4 +0,0 @@
# Greet the first login with the cheatsheet itself rather than a toast
# pointing at it. The menu blocks until it is answered, and dismissing it
# exits non-zero, which is a normal way to close it.
omarchy-menu-keybindings || true
+5
View File
@@ -0,0 +1,5 @@
# Real newlines, not a literal \n: the card renders the body as it arrives, and
# elides past three lines.
omarchy-notification-send -u critical -g  "Learn Keybindings" \
$'Super + K for cheatsheet.\nSuper + Space for Omarchy Menu.' \
--exec omarchy-menu-keybindings