Omahub
← All plugins
C

Pill Workspaces

by Charlieras262

Workspace indicators with a rounded pill for the active workspace

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
c442f78
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

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

This is a straightforward QML bar-widget plugin that renders workspace indicators and dispatches workspace focus commands through the standard Omarchy/Quickshell API. The code is readable, contains no install scripts, obfuscation, persistence, or credential handling, and all user-configurable values are clamped to safe ranges. The deterministic scan found no issues, and none are apparent on manual review.

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/Charlieras262/omarchy-pill-workspaces --enable
Widgets #Hyprland #bar #workspaces

Pill Workspaces

An Omarchy bar-widget plugin: a drop-in replacement for the stock omarchy.workspaces widget where the active workspace renders as a rounded, filled, always-square pill instead of just losing its dim/idle opacity. The number's color automatically picks whichever theme color contrasts best against the pill, so it stays legible across light and dark themes alike.

Pill Workspaces: rounded, theme-colored active-workspace indicator

Install

omarchy plugin add https://github.com/Charlieras262/omarchy-pill-workspaces.git --enable

This clones the plugin into ~/.config/omarchy/plugins/ and switches the bar's workspaces slot to it. omarchy plugin update later pulls new versions the same way any git-managed plugin does.

Configure

All settings are optional and set per-instance in ~/.config/omarchy/shell.json, on the widget's own layout entry:

{
  "id": "charlieras262.pill-workspaces",
  "maxWorkspaces": 6,
  "indicatorColor": "urgent",
  "indicatorRadius": 8,
  "indicatorXInset": 4,
  "indicatorYInset": 4,
  "indicatorBold": false
}
Key Type Default Description
maxWorkspaces number 5 How many workspace slots to always show, clamped to 1-36. A workspace beyond this count still shows up once something is open on it.
indicatorColor "foreground" | "accent" | "urgent" | "muted" "foreground" Which theme color fills the active workspace's pill.
indicatorRadius number (px) 6 Corner radius of the pill, clamped to 0-200.
indicatorXInset number (px) 2 Extra padding (left + right) around the pill, added to the cell -- doesn't change the pill's own size. Clamped to 0-200.
indicatorYInset number (px) 6 Shrinks the pill's side length, barSize - indicatorYInset * 2 on each edge. Clamped to 0-200.
indicatorBold boolean true Bold the active workspace's number. Set false for a normal weight.

The pill is always a square: its side length is the bar's own height minus indicatorYInset * 2. A single bar-widget can't grow the bar's own thickness -- every other widget shares it -- so indicatorXInset only pads the cell around the pill rather than resizing it. To get a bigger square pill, lower indicatorYInset, or raise the bar's own height first (Omarchy's shell.toml, [bar] size-horizontal) and the pill will size up to fill it.

Upgrading from 1.0.1 or earlier: indicatorInset was split into indicatorXInset/indicatorYInset. If you had set indicatorInset, replace it with indicatorYInset (same meaning, same default) and add indicatorXInset only if you also want extra padding around the pill.

The file hot-reloads — no restart needed after editing it.

Remove

omarchy plugin remove charlieras262.pill-workspaces

This removes the plugin's files and switches the bar's workspaces slot back to the stock omarchy.workspaces widget.

Dependencies

None beyond what a stock Omarchy install already ships — this is plain QML built on Omarchy's own qs.Commons/qs.Ui modules and the Quickshell Hyprland integration, no external packages or services.

Why not just theme the stock widget?

Omarchy's built-in omarchy.workspaces widget only changes opacity for the focused workspace; it doesn't have a way to render a filled shape or pick a contrasting text color. This plugin is a clone of that widget with those two behaviors added, kept close enough to the original that clone-and-diff against a future stock version stays easy.

License

MIT — see LICENSE.