Tableau turns your whole Omarchy desk into a choice in the bar. Your workspaces, windows, terminals, applications, services, and layout come back together — so switching from coding to browsing feels like changing rooms, not rebuilding a desk.
- Install Tableau and open it from the bar.
- Choose Work or Browse to try a ready-made desk.
- Arrange anything you like, then choose Capture Current Desktop.
That is the entire learning curve. Your own tableaus appear beside the starters, ready for one-click switching.
- Keep context: return to the same coding desk, terminals, and services.
- Change mode: move to a clean research and file-management environment.
- Capture the good state: save the desktop you already have without writing configuration.
- Stay in control: Tableau asks before recovery and never silently restores a desktop after a restart.
On a clean install, Work and Browse are available immediately; no setup
command is required. The cards are previews of the desk each choice builds, and
the highlighted card always means “currently loaded” — not merely “keyboard
focus”.
A tableau can open:
- workspaces
- terminal sessions
- applications
- background services
Choose a Tableau from the bar. Tableau closes the current desktop, then opens the new one. Nothing starts automatically at login.
- Empty desktop closes all windows and stops services started by Tableau.
- Saved tableaus load a desktop layout.
- Capture Current Desktop saves the windows that are open now.
- Rename, Duplicate, and Delete manage saved tableaus.
- Edit opens the configuration file.
Keyboard controls:
j/kor Up / Down: move- Enter or Space: activate
r: refreshx: delete the selected tableau- Escape: close the menu
Open the centered Tableau switcher at any time with SUPER + ALT + T.
The file is:
~/.config/omarchy/tableau.toml
It is read each time the menu opens.
[options]
grace = 8
[[setups]]
name = "Work"
icon = ""
services = []
[[setups.workspaces]]
number = 1
columns = [
{ width = 2, windows = [{ term = "" }] },
{ width = 1, windows = [{ term = "btop" }] },
]
[[setups.workspaces]]
number = 2
columns = [
{ width = 1, windows = [{ app = "omarchy-launch-browser" }] },
{ width = 1, windows = [{ app = "nautilus" }] },
]| Key | Meaning |
|---|---|
term |
Open the configured terminal directly into a command. Use "" for a shell prompt. |
app |
Run an application with its arguments. |
dir |
Working directory. |
class |
Window class, when it differs from the command. |
height |
Relative height inside a column. |
width |
Relative width of a column. |
float |
Keep the window floating. |
wait |
Seconds to wait for the window. Default: 20. |
Use the default Omarchy helpers when possible:
{ term = "" }
{ term = "btop" }
{ app = "omarchy-launch-browser" }
{ app = "nautilus" }The built-in starter configuration uses these defaults, so it also works on a fresh Omarchy install without optional developer applications.
Add monitor to a workspace to request a display:
[[setups.workspaces]]
number = 3
monitor = "DP-2"
columns = [{ width = 1, windows = [{ term = "" }] }]If the display is not connected, Tableau uses the focused monitor.
Services can be systemd user units or background commands. Commands are parsed as arguments and launched directly; shell operators and pipelines are not interpreted.
services = [
"docker-desktop",
{ run = "python -m http.server 8000", dir = "~/Work/project" },
]Only services started by Tableau are stopped later. System services are not supported. Review commands before loading a file from another source.
Tableau adapts layouts to the connected displays. It limits columns on narrow screens and remembers an arrangement for each display setup.
Forget the remembered arrangement with:
omarchy-tableau forgetTableau opens windows one at a time. A missing application is reported in the menu. If a window refuses to close, Tableau pauses and asks what to do.
If a load is interrupted by a crash or shell restart, Tableau marks it as recoverable and offers Restore and Start clean in the menu. It never silently replaces the current desktop.
omarchy-tableau status [--json]
omarchy-tableau load Work [--force]
omarchy-tableau capture "New tableau"
# `save` remains available as a compatibility alias.
omarchy-tableau save "New tableau"
omarchy-tableau rename "New tableau" "Renamed tableau"
omarchy-tableau duplicate Work "Work copy"
omarchy-tableau delete "Work copy"
omarchy-tableau init [--force]
omarchy-tableau edit
omarchy-tableau retry [--force]
omarchy-tableau clearThe fastest path is two commands:
omarchy plugin add https://github.com/novuon/omarchy_tableau.git --enable --yes
omarchy bar move novuon.tableau --section leftThen open the Tableau icon in the bar and choose Work or Browse. Both starter tableaus are available immediately on a clean install, so you can try the workflow before editing any configuration. When you have a desk worth keeping, use Capture Current Desktop to save it.
Requirements: Omarchy with the standard omarchy-shell and Hyprland helpers.
Tableau uses the terminal and application launchers already provided by Omarchy;
there are no extra services or developer tools to install.
To remove Tableau safely:
omarchy plugin remove novuon.tableau --yesRemoving the plugin does not delete your ~/.config/omarchy/tableau.toml file
or saved Tableau state. Reinstalling the plugin can therefore restore your
previous setup selection without changing your desktop automatically.
For local development:
omarchy plugin validate ~/.config/omarchy/plugins/novuon.tableau
omarchy-shell shell rescanPluginsRun the checks with:
test/validate.sh