Surviving a tiling window manager in Omarchy
How Omarchy 4's tiling window manager actually works, the twelve Hyprland keybindings that matter, and how to make it feel like macOS or Windows.
Learn twelve keys and stop fighting the layout. Super + Space launches, Super + K lists every binding, Super + W closes, Super + Arrow moves focus, Super + Shift + Arrow swaps windows, Super + 1 to 0 switches workspaces, Super + J flips a split, Super + T floats a window, Super + F fullscreens. Everything else is optional. Use workspaces the way you used to use overlapping windows.
On this page
If you have spent twenty years dragging windows by their title bars, the first hour in Omarchy feels like the mouse broke. It did not. The model is just different, and it is small enough to learn in an afternoon. This page is checked against the Omarchy 4.0.4 source. The bug reports cited below were filed on Hyprland 0.56.2; Omarchy does not pin a Hyprland point release, so yours may differ.
The mechanism: windows do not have positions
In macOS and Windows a window has coordinates. You put it somewhere, it stays there, and it overlaps whatever was underneath.
In Omarchy a window has a slot in a tree. Launch one app and it takes every pixel. Launch a second and the screen divides in two. Launch a third and one of those halves divides again. You never choose a position, you choose a neighbour. Nothing overlaps, so nothing ever gets lost behind anything else.
Four concepts carry the whole system.
Workspaces. Ten of them, numbered 1 to 10, each with its own set of tiles. These do the job your overlapping windows used to do. Instead of stacking a browser on top of an editor, you put the browser on workspace 2 and jump between them instantly. The manual’s Coming From Mac or Windows chapter makes the same point, that windows never overlap and workspaces are the Spaces or virtual desktops you will actually use, and it is the single habit that makes tiling click.
The tiling layout. The default is dwindle: every new window splits the focused one, and every window on the workspace stays visible even as they shrink. Omarchy configures dwindle with preserve_split = true and force_split = 2 in /usr/share/omarchy/default/hypr/looknfeel.lua. Per the Hyprland wiki, force_split = 2 means a new window always lands to the right of or below the focused one, so placement is predictable rather than cursor-dependent. preserve_split means a split keeps its orientation, which is also what makes Super + J work at all.
The alternative is the scrolling layout, a side-scrolling tape of columns that runs past the edge of the screen. Super + L toggles it, the choice is per workspace, and it persists across restarts. The manual’s Navigation chapter walks through both layouts with screenshots.
Floating. The escape hatch. A floating window sits on top of the tiles with a free position and size, exactly like the desktop you came from. Omarchy already floats the things that should float: portal file dialogs, 1Password, Bitwarden, mpv, imv, and its own terminal utility windows, per default/hypr/apps/system.lua. Everything else tiles unless you say otherwise.
Groups. Several windows sharing one tile with a tab bar across the top, which is the closest thing to browser tabs for arbitrary apps.
The twelve keybindings that matter
Verified against default/hypr/bindings/tiling.lua, applications.lua and utilities.lua in the 4.0.4 source.
| Keys | What it does |
|---|---|
Super + K |
Show every binding, searchable. The only one you must memorise. |
Super + Space |
The Omarchy menu. Your Spotlight, Raycast or Start menu. |
Super + Return |
Terminal. Super + Shift + Return for the browser. |
Super + W |
Close the focused window. The app really quits. |
Super + Arrow |
Move focus left, right, up or down. |
Super + Shift + Arrow |
Swap the focused window with its neighbour. |
Super + 1 to Super + 0 |
Jump to workspace 1 through 10. |
Super + Shift + 1 to 0 |
Send the focused window to that workspace. |
Super + J |
Flip the current split between side by side and stacked. |
Super + T |
Toggle the focused window between tiled and floating. |
Super + F |
Fullscreen. Super + Alt + F for full width, keeping the bar. |
Super + - and Super + = |
Resize the focused window. Add Alt for smaller steps, Ctrl for bigger. |
That is enough to run the machine. Six more are worth learning in week two: Super + O pops a window out as floating and pinned so it follows you between workspaces, Super + S toggles the scratchpad overlay and Super + Alt + S sends a window there, Super + G groups windows into tabs, Super + Tab walks to the next workspace, Alt + Tab cycles windows on the current workspace, and Super + L switches the workspace between dwindle and scrolling. The full list is in the manual’s Hotkeys chapter and on our keybindings reference.
The mouse is not dead either. Hold Super and drag with the left button to move a window, hold Super and drag with the right button to resize it.
Five things that confuse everyone
“My new window went somewhere odd.” It split whatever was focused, and because of force_split = 2 it went right or below. If you wanted it elsewhere, focus the window you want it next to first, then launch. Super + Shift + Arrow fixes it after the fact.
“Super + Arrow does nothing on this window.” Directional focus is built for tiles. Moving focus between a floating window and the tiled ones is not smooth, and it is an open request in discussion #4039. Use Alt + Tab to reach a floating window, or Super + T to tile it.
“Alt + Tab is not an app switcher.” It cycles windows on the current workspace only, not applications across the system. There is no macOS-style command-tab switcher in 4.0.4; someone proposed one as an external plugin in discussion #7849. There is also no built-in workspace overview: it was requested in discussion #6624, and a native one proposed in PR #6611 was closed without being merged. Workspace numbers plus Super + 1 to 0 is the intended replacement, and it is faster once it is muscle memory.
“Super + J threw a red error.” You are on a scrolling workspace. Super + J sends togglesplit, which only exists in dwindle, so Hyprland raises “no such layoutmsg for scrolling”. This is open and reported several times over, including #8220 and #9726. Press Super + L to go back to dwindle, or just do not use Super + J there. Scrolling has a couple of other rough edges: Alt + Tab follows internal order rather than the visible left-to-right order (#12117), and widening the right-hand column was reported broken in #5101, filed on 3.4.2 and still open.
“This app opened tiny, or in the wrong mode.” Some apps guess wrong. Inkscape’s file dialogs tile and become unusable because Inkscape draws its own GTK chooser instead of calling the portal (#11995), and Steam’s main window opens small and floating (#9271). Both are window-rule problems, not tiling problems. Find the class with hyprctl clients, then add a rule at the bottom of ~/.config/hypr/hyprland.lua:
o.window("^(com\\.example\\.App)$", { float = true })
Making it feel like your old desktop
You can soften the edges without giving up tiling. Every file below is yours; Omarchy’s defaults load first and your overrides win.
Natural scrolling and three-finger workspace swipes, in ~/.config/hypr/input.lua:
hl.config({
input = {
touchpad = {
natural_scroll = true,
},
},
})
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
Rounded corners and no gaps, in ~/.config/hypr/looknfeel.lua:
hl.config({
decoration = { rounding = 8 },
general = { gaps_in = 0, gaps_out = 0 },
})
Rebinding, in ~/.config/hypr/bindings.lua. Unbind first, then bind:
hl.unbind("SUPER + W")
o.bind("SUPER + Q", "Close window", hl.dsp.window.close())
Two more that help ultrawide and large-display users: Super + Shift + Backspace toggles gaps and borders off, and Super + Ctrl + Backspace constrains a lone window to a square aspect ratio instead of stretching it across the whole panel. Omarchy 4 also added Super + Alt + Home to remember a window width and Super + Home to restore it, which is the closest thing to a saved layout.
If you are still reaching for a dock, do not add one. Give it the two weeks the manual asks for, then decide.
What to watch for on newer versions
The twelve keys above are identical in 3.8.4’s tiling-v2.conf and in every 4.0.x release, and tiling.lua has not changed between 4.0.0 and 4.0.4. Omarchy 4 only added bindings (the window-width save and restore, the finer Alt and Ctrl resize steps), so muscle memory carries forward. What changed in 4.0.0 is the config format: Hyprland moved from ~/.config/hypr/*.conf to Lua, and bindd = lines became o.bind("SUPER + K", "Label", action). Old blog posts and videos showing .conf snippets still describe the right keys but the wrong syntax. See the conf to Lua migration and upgrading 3 to 4.
Two live bugs are worth knowing before you lean on a feature. Super + T on a grouped window can segfault Hyprland 0.56.2 (#10342), so ungroup before floating. And the scrolling layout is clearly less finished than dwindle; if you are new, stay on dwindle until the reports above close.
The next release is announced as Quattro RS 4.5. After any major upgrade, press Super + K before assuming a binding survived, and re-read your own ~/.config/hypr/bindings.lua for overrides that now collide with a new default.
Related
Questions people ask
- Can I just drag windows around like I always did?
- Partly. Hold Super and drag with the left mouse button to move a window, or hold Super and drag with the right button to resize it. In the dwindle layout a dragged window swaps into the tile you drop it on rather than floating free, so it is repositioning, not free placement.
- How do I make one app always float?
- Add a window rule at the bottom of ~/.config/hypr/hyprland.lua, for example o.window("^(org\\.gnome\\.Calculator)$", { float = true }). Find the class with hyprctl clients. Omarchy already floats portal dialogs, 1Password, Bitwarden, mpv, imv and its own TUI windows.
- Is there a Mission Control or Task View equivalent?
- Not built in as of 4.0.4. A workspace overview was requested in discussion #6624, and a native one proposed in PR #6611 was closed without being merged. The nearest thing is Super + K for the full binding list and the workspace numbers on the top bar.
- Did the keybindings change in Omarchy 4?
- The tiling keys themselves are essentially the same as the tiling-v2 set in 3.8.4. What changed is where they live: Hyprland config moved from ~/.config/hypr/*.conf to Lua files, so you now write o.bind(...) instead of bindd = lines.
Sources and credit
Fixes on this page were worked out by johnwu (Traced the Super + J error on scrolling workspaces to the unconditional togglesplit binding), omeganter (Worked out why Inkscape's own GTK file chooser escapes Omarchy's floating dialog rules). Text here is our own paraphrase; follow the links for the original threads.
- manualOmarchy Manual: Navigation
- manualOmarchy Manual: Hotkeys
- manualOmarchy Manual: Coming From Mac or Windows
- issueIssue #9726: SUPER + J (togglesplit) raises "no such layoutmsg for scrolling" on scrolling-layout workspaces · johnwu · 2026-09-02
- issueIssue #8220: Super+J (togglesplit) errors on scrolling layout: 'no such layoutmsg for scrolling' · khru · 2026-08-25
- issueIssue #12117: Alt+Tab does not follow adjacent windows in scrolling layout · DaDecky · 2026-09-16
- issueIssue #10342: Hyprland 0.56.2 SIGSEGV on Super+T: grouped window keeps a dead workspace CSpace, toggleTargetFloating dereferences expired m_parent · Dayruke · 2026-09-05
- issueIssue #11995: Inkscape's file dialogs tile instead of floating: it draws its own GTK chooser, not the portal's · omeganter · 2026-09-15
- issueIssue #5101: Cant Increase Width on Last window when on Scrolling workspace Layout (Not dwindle) · rasyidrafi · 2026-03-23
- issueIssue #9271: [hyprland] Steam main window defaults to small floating 1100x700 instead of tiled/maximizable · MAXI8594 · 2026-08-30
- discussionDiscussion #4039: windows navigation for floating to tiling mode (SUPER + ARROW) · Muhammad-Jafar · 2025-12-31
- discussionDiscussion #6624: Feature Request: Workspace Overview (similar to GNOME Activities / macOS Mission Control) · flaxrora · 2026-08-06
- discussionDiscussion #7849: macOS-style Super+Tab app switcher (external plugin) · 920four4 · 2026-08-23
- prPR #6611: Add native workspace overview (closed, not merged) · sanjyay · 2026-08-07
- docsHyprland Wiki: Dwindle Layout
- blogDHH: next version of Omarchy is going to be Quattro RS 4.5 · dhh · 2026-09-08