Repository navigation
omarchy toggle bar on hides the bar instead of showing it #13846
Description
Summary
omarchy toggle bar on produces the opposite of what the command name says.
Running it hides the menu bar; omarchy toggle bar off shows it.
Steps to reproduce
omarchy toggle bar on
hyprctl layers | grep omarchy-barActual
The omarchy-bar layer is still mapped, but parked above the top edge of the
screen:
Layer 59654db57d60: xywh: 0 -26 1920 26, a: 1, namespace: omarchy-bar
^^^ negative Y
Expected
omarchy toggle bar on should leave the bar visible at 0 0.
Cause
/usr/share/omarchy/bin/omarchy-toggle-bar forwards its argument unchanged:
omarchy-toggle bar-off "${1:-toggle}"and omarchy-toggle implements on as "create the flag file":
enable() {
mkdir -p "$(dirname "$FLAG")"
touch "$FLAG"
}Meanwhile the bar treats the presence of that flag as "hidden"
(/usr/share/omarchy/shell/plugins/bar/Bar.qml:1171):
command: ["bash", "-c", "[[ -f $HOME/.local/state/omarchy/toggles/bar-off ]] && echo yes || echo no"]So the flag name already encodes the inverted sense — bar-off — and the
generic on/off actions then apply it the wrong way round:
| Command | toggles/bar-off |
Bar |
|---|---|---|
omarchy toggle bar on |
created | hidden |
omarchy toggle bar off |
removed | visible |
Impact
The documented way to bring the bar back is inverted. A user who runs
omarchy toggle bar on to recover a missing bar gets no visible change, and
omarchy toggle bar then appears to be a no-op. The desktop looks broken with
no obvious way back except reading Bar.qml to find the flag name.
Notes
omarchy-toggle is generic, so it cannot be fixed by swapping on and off
there — that would invert every other toggle (idle-lock, notifications,
crash-capture, screensaver, nightlight, battery-percentage,
workspace-layout, window-gaps, one-window-ratio). Every other consumer
already treats a present flag as "feature on", so bar-off looks like the
odd one out.
Suggested direction, whichever is chosen:
- Rename the flag to
bar-hiddenand haveomarchy-toggle-barmap
on-> remove,off-> create. Keepsomarchy-togglegeneric. - Or keep
bar-offand translate insideomarchy-toggle-bar.
Option 1 also matches the comment already in Bar.qml:38.
Migration concern for option 1: an existing toggles/bar-off file would be
ignored, so the bar would pop back into view once on upgrade. Probably fine,
but worth a note.
Environment
- Omarchy 4.0.4-1
- Host
Legend
Activity
manuaudio commentedon Sep 30, 2026
Confirmed on current
quattro:bin/omarchy-toggle-barpasseson/offstraight through to thebar-offflag, sooncreates the flag and hides the bar. This is already fixed in several open PRs waiting for review, e.g. #7023 (oldest), #12022, #12150, #13451 and #13670. A new PR shouldn't be needed; a maintainer just needs to pick one.omarchybot commentedon Oct 13, 2026
Thanks for the detailed write-up. This is the same report as #7022, opened on 2026-08-15: the same command (
omarchy toggle bar onhides the bar,offshows it), the same cause (bin/omarchy-toggle-barpasseson/offstraight to the generic toggle for thebar-offflag, whichshell/plugins/bar/Bar.qmlreads as "hidden"), and the same fix direction (translate the action insideomarchy-toggle-bar). So I'm closing this one as a duplicate and the discussion continues on #7022. If you think it's a different bug, say so and it can be reopened.What's on
quattroright now, checked by reading the source (nothing to run, since this issue has no fix of its own): #11803, merged on 2026-10-11, changedomarchy toggle bar --helpto say "on hides the bar, off shows it", andtest/shell.d/toggle-test.shandbin/omarchy-toggle-fullscreen-desktopboth depend on that direction. #7023 and #13670 are open and flip it, and both also updateomarchy-toggle-fullscreen-desktopand the tests to match. The maintainer decides which direction the command should go.Checked by Claude Opus 5.5, with Codex Medium as a second opinion on the duplicate.