Omahub
← All plugins
S

Bartoggle

by salted-sorbet

Toggle the bar on or off per connected screen

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
eb42547
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
eb42547
Reviewed
1 month ago

The plugin is well-structured and transparent about its behavior. It modifies user config files (bindings.lua, shell.json) and patches other bar plugins' QML files, but does so idempotently with backups and clear documentation. No malicious or obfuscated code was found.

  • Automatically appends a keybinding to ~/.config/hypr/bindings.lua on service start, though it checks for existing bindings and is reversible.
  • Patch scripts modify other plugins' Bar.qml files, but they are idempotent, create backups, and fail safely if anchors are missing.
  • The service writes to shell.json via a mutator, which is expected for a bar management plugin.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/salted-sorbet/salted.bartoggle --enable
Appearance #bar

salted.bartoggle

preview

Per-screen bar control for Omarchy. Turn the status bar on or off independently for each connected monitor.

kind: bar-widget + service

Features

  • Switch popup listing every connected screen with an on/off toggle
  • Works with any Omarchy bar clone (omarchy plugin add <bar>)
  • Floating switch panel reachable even when every bar is hidden (SUPER + ALT + B keybind recommended)
  • Settings persist in ~/.config/omarchy/shell.json under bar.monitors

Install

omarchy plugin add salted-sorbet/salted.bartoggle
omarchy restart shell

Then add the widget to your bar's layout in ~/.config/omarchy/shell.json:

"bar": {
  "layout": {
    "right": [ { "id": "salted.bartoggle" } ]
  }
}

(merge into your existing layout.left / center / right arrays — the bar picks up the change without a restart).

The floating-panel keybind installs itself: on first shell start the service appends SUPER + ALT + B to ~/.config/hypr/bindings.lua and reloads Hyprland. If that combo is already taken it leaves your existing binding alone — wire up omarchy-shell salted.bartoggle togglePanel however you like instead.

One-time patch for enforcement

Switches and persistence work everywhere out of the box. For the active bar to actually honor per-screen hiding and layouts, its clone needs the screenNames patch — applied automatically:

  • Click Patch active bar in the floating panel, or run:
~/.config/omarchy/plugins/salted.bartoggle/patch-active-bar.sh

The patch is idempotent, keeps a pristine Bar.qml.orig-monitor-bars backup, and only restarts the shell when it actually changed something. Re-run it after selecting a different bar.

omarchy-shell salted.bartoggle toggle|show|hide|showAll|status

Remove

# 1. Clear per-screen overrides so nothing references this plugin
python3 -c "import json,pathlib; p=pathlib.Path.home()/'.config/omarchy/shell.json'; c=json.loads(p.read_text()); c.setdefault('bar',{})['monitors']={}; p.write_text(json.dumps(c,indent=2))"

# 2. Uninstall
omarchy plugin remove salted.bartoggle
omarchy restart shell

# 3. Optional: restore patched bars to pristine
cd ~/.config/omarchy/plugins/<bar>
cp Bar.qml.orig-monitor-bars Bar.qml && rm -f MonitorBars.qml   # or: git checkout -- .

Also remove the keybind line from ~/.config/hypr/bindings.lua if you added it.

How it works

  • The service writes bar.monitors.<screen> entries through the shell's own config mutator; the host reacts live, no restarts needed.
  • MonitorBars.qml is spawner code that gets injected into patched bars. It reads the same map and spawns independent bar instances pinned to single screens.
  • patch-bar.sh applies that injection mechanically using structural anchors present in every omarchy.bar clone, so future bars need no manual edits.

License

MIT