Place Elsewhen after the clock by default (#14870)

This commit is contained in:
David Heinemeier Hansson authored and GitHub committed 2026-10-10 15:50:15 +02:00
1 parent 077ac1da93
commit 77bfaca408
5 files changed
+10 -9

No files matched your search

+3 -3
View File
@@ -21,15 +21,15 @@
{
"id": "omarchy.indicators"
},
{
"id": "omarchy.elsewhen"
},
{
"id": "omarchy.clock",
"format": "dddd HH:mm",
"formatAlt": "d MMMM 'W'ww yyyy",
"verticalFormat": "HH\n\u2014\nmm"
},
{
"id": "omarchy.elsewhen"
},
{
"id": "omarchy.keyboard-layout"
},
+1 -1
View File
@@ -100,7 +100,7 @@ The lower-level IPC methods remain available through `omarchy-shell shell ...`.
## Elsewhen
Elsewhen (`omarchy.elsewhen`), the world clock, is a first-party plugin in `shell/plugins/panels/elsewhen/`; [`elsewhen.md`](elsewhen.md) covers how it works. It shipped as the separate `elsewhen` package under the id `omacom.elsewhen` until it moved in. New installs place it immediately before the clock; the placement migration uses `omarchy bar put omarchy.elsewhen --before omarchy.clock`, which preserves an existing placement and uses Elsewhen's normal right-side placement if the clock is absent. With no shell to ask, as in an update from a TTY, it skips the placement rather than failing the update. A later migration renames existing `omacom.elsewhen` entries in `shell.json`, keeping their settings, and removes the retired package and any dev-checkout link to its `/usr/share/omarchy` path, leaving links and checkouts the user made alone.
Elsewhen (`omarchy.elsewhen`), the world clock, is a first-party plugin in `shell/plugins/panels/elsewhen/`; [`elsewhen.md`](elsewhen.md) covers how it works. It shipped as the separate `elsewhen` package under the id `omacom.elsewhen` until it moved in. New installs place it immediately after the clock, before Weather; the placement migration uses `omarchy bar put omarchy.elsewhen --after omarchy.clock`, which preserves an existing placement and uses Elsewhen's normal right-side placement if the clock is absent. With no shell to ask, as in an update from a TTY, it skips the placement rather than failing the update. A later migration renames existing `omacom.elsewhen` entries in `shell.json`, keeping their settings, and removes the retired package and any dev-checkout link to its `/usr/share/omarchy` path, leaving links and checkouts the user made alone.
## IPC
+1 -1
View File
@@ -9,5 +9,5 @@ config_file="$HOME/.config/omarchy/shell.json"
if [[ -s $config_file ]] && jq -e '[.bar.layout[]?[]? | if type == "object" then .id else . end] | index("omacom.elsewhen")' "$config_file" >/dev/null 2>&1; then
echo "Elsewhen is already on the bar"
else
omarchy-bar put omarchy.elsewhen --before omarchy.clock
omarchy-bar put omarchy.elsewhen --after omarchy.clock
fi
+3 -2
View File
@@ -38,9 +38,10 @@ jq -e '
(.bar.layout.center | ids) as $ids |
($ids | index("omarchy.elsewhen")) as $elsewhen |
($ids | index("omarchy.clock")) as $clock |
$elsewhen != null and $clock == $elsewhen + 1
($ids | index("omarchy.weather")) as $weather |
$clock != null and $elsewhen == $clock + 1 and $weather > $elsewhen
' "$ROOT/config/omarchy/shell.json" >/dev/null
pass "default center layout puts elsewhen immediately before the clock"
pass "default center layout puts elsewhen immediately after the clock and before weather"
jq -e '
any(.bar.layout.center[]; (.id // .) == "omarchy.clock" and (.formatAlt // "") == "d MMMM \u0027W\u0027ww yyyy")
+2 -2
View File
@@ -52,11 +52,11 @@ pass "Elsewhen ships in the shell tree as omarchy.elsewhen"
# Placement
migration="$ROOT/migrations/1790042972.sh"
expected=$'-q shell rescanPlugins\nshell putBarWidget omarchy.elsewhen {"before":"omarchy.clock"}'
expected=$'-q shell rescanPlugins\nshell putBarWidget omarchy.elsewhen {"after":"omarchy.clock"}'
run
[[ $(cat "$CALL_LOG") == "$expected" ]] || fail "scan and placement run in order" "$(cat "$CALL_LOG")"
pass "real bar helper places Elsewhen before the clock without restarting the shell"
pass "real bar helper places Elsewhen after the clock without restarting the shell"
run
[[ $(cat "$CALL_LOG") == "$expected" ]] || fail "placement can be rerun"