Omahub
← All plugins
E

One App Per Workspace

by Eric van Riet Paap

Keeps tiled applications on separate Hyprland workspaces

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
a4e9c93
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
a4e9c93
Reviewed
1 month ago

The plugin is a transparent Hyprland workspace-management service and bar widget. It moves tiled windows, toggles a local state file, and loads its own Lua hook via hyprctl repl, all matching the documented behavior. No obfuscation, credential access, destructive install steps, or hidden persistence were found.

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/ericvrp/omarchy-one-app-per-workspace --enable
Desktop #Hyprland #quickshell #workspaces

Omarchy One App Per Workspace

An Omarchy Quickshell plugin that keeps one tiled application on each Hyprland workspace.

One app per workspace enabled in the Omarchy bar

Why Use It

Notebook screens have limited space, and sharing one workspace among several tiled applications reduces the room available to the current app. Keeping each workspace dedicated to one tiled application lets the current app use more of the display without being split or cluttered by other apps. It also makes workspace switching predictable, independent of the selected tiling layout.

[!IMPORTANT] This plugin is for Omarchy 4 (Quattro), where the desktop shell and bar use Quickshell. It is not intended for older Omarchy releases that use Waybar.

Behavior

  • Starts enabled by default.
  • Moves a newly opened tiled window to Hyprland's first empty workspace when the focused workspace already contains another window, and follows it there.
  • When the focused normal workspace's last window closes, focuses the nearest occupied workspace before it, then the nearest one after it.
  • Falls back to workspace 1 when no occupied workspace is available.
  • Does not inspect, change, or depend on the selected Hyprland tiling layout.
  • Does not move floating windows when they open.
  • On Omarchy's Lua configuration mode, redirects a second tiled window before the active layout places it, so Dwindle and Scrolling do not visibly split the current workspace first.
  • On Omarchy's Lua configuration mode, focuses the destination workspace during the close event, before the compositor removes the last window from the old layout, so the old workspace does not briefly reveal its wallpaper.
  • With the regular configuration provider, keeps the delayed close fallback.
  • Uses the existing omarchy-shell service and a small in-process Hyprland Lua hook without a helper daemon or a persistent Hyprland configuration change.

The bar icon is a square while the feature is enabled and two outlined tiles while it is disabled. Click the icon to toggle the behavior. The setting is stored in ~/.local/state/omarchy/toggles/one-app-per-workspace-off, so it is preserved across shell restarts and reboots. The icon follows the active bar theme and provides an action-specific tooltip. Toggling from the icon or hotkey shows a short notification.

Screenshots

Enabled state with one tiled app

Disabled state with two tiled apps

Requirements

  • Omarchy 4 with the Quickshell bar
  • Hyprland

Related Plugin

Users who want consistent floating behavior for selected windows may also find ericvrp.omarchy-floating-window-overrides useful alongside this plugin.

Install

omarchy plugin add https://github.com/ericvrp/omarchy-one-app-per-workspace.git --enable

The plugin manager places the icon in the right bar section by default. Move it to another section with:

omarchy bar move ericvrp.one-app-per-workspace --section right

An optional keybinding for toggling the feature is:

Super+Ctrl+Alt+O  Toggle one app per workspace

Update

omarchy plugin update ericvrp.one-app-per-workspace

Disable Or Remove

Disabling the plugin removes its bar icon and stops its workspace handling:

omarchy plugin disable ericvrp.one-app-per-workspace

Remove it completely with:

omarchy plugin remove ericvrp.one-app-per-workspace

The feature toggle state is kept separately from plugin installation.

Development

Validate the manifest, model tests, and QML imports from the repository root:

omarchy plugin validate .
./test/one-app-per-workspace-test.sh
qmllint -I "$OMARCHY_PATH/shell" Service.qml
qmllint -I "$OMARCHY_PATH/shell" Widget.qml

Install the current working tree as a local plugin build:

./scripts/dev-install.sh

Use ./scripts/dev-install.sh --no-restart to update the installed files and bar configuration without restarting the shell. Remove the local build with:

./scripts/dev-uninstall.sh

More development notes are in DEVELOPING.md.

License

Licensed under the MIT License.