Skip to content

omarchy toggle bar on hides the bar instead of showing it #13846

Closed as duplicate

Description

@evgen867777-coder

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-bar

Actual

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:

  1. Rename the flag to bar-hidden and have omarchy-toggle-bar map
    on -> remove, off -> create. Keeps omarchy-toggle generic.
  2. Or keep bar-off and translate inside omarchy-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

  1. manuaudio commented on Sep 30, 2026

    @manuaudio
    Contributor

    Confirmed on current quattro: bin/omarchy-toggle-bar passes on/off straight through to the bar-off flag, so on creates 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.

  2. omarchybot commented on Oct 13, 2026

    @omarchybot
    Collaborator

    Thanks for the detailed write-up. This is the same report as #7022, opened on 2026-08-15: the same command (omarchy toggle bar on hides the bar, off shows it), the same cause (bin/omarchy-toggle-bar passes on/off straight to the generic toggle for the bar-off flag, which shell/plugins/bar/Bar.qml reads as "hidden"), and the same fix direction (translate the action inside omarchy-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 quattro right now, checked by reading the source (nothing to run, since this issue has no fix of its own): #11803, merged on 2026-10-11, changed omarchy toggle bar --help to say "on hides the bar, off shows it", and test/shell.d/toggle-test.sh and bin/omarchy-toggle-fullscreen-desktop both depend on that direction. #7023 and #13670 are open and flip it, and both also update omarchy-toggle-fullscreen-desktop and 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingduplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions