BLOCKODILE
Keyboard

Tiling blocks

Split, focus, swap, fullscreen and remove blocks from the keyboard, window-manager style.

Every terminal has a 12×6 bento and the bento never has gaps. Adding a block splits the one you are on, removing a block hands its space to a neighbour, and the arrows move you between blocks the way they do in Hyprland or Omarchy. Same habits, inside one window.

Opening a session selects its terminal, so the accent border is already where you type and the arrows have somewhere to start from.

The chords

ChordCommandWhat happens
⌘K → add …Add a moduleSplits the focused block along its long axis (side by side when it is wide, stacked when it is tall). The first block takes the whole grid.
⌃⌥← ⌃⌥→ ⌃⌥↑ ⌃⌥↓Focus block left / right / up / downFocus moves to the neighbour that shares that edge. Typing follows: the terminal or web module in that block gets the keyboard.
⌃⌥⇧← ⌃⌥⇧→ ⌃⌥⇧↑ ⌃⌥⇧↓Swap block left / right / up / downThe two blocks exchange position and size, so the grid stays gapless.
⌃⌥FToggle block fullscreenThe focused block covers the bento. The saved layout is untouched; Esc, the backdrop, or focusing another block leaves.
⌃⌥I ⌃⌥OZoom in / out one levelThe bento zooms one level towards the focused block: the half it sits in, then the block itself. Zoom out steps back to the overview. Focusing a neighbour while zoomed slides over to it at the same level.
⌃⌫Remove focused blockThe block goes away and the neighbour sharing a full edge grows into the hole. If no single neighbour fits, the grid is repacked.
⌘K → move files top right 4x3Move blockPuts the block at one of nine zones, optionally with a size. If something is there already, the two swap rects.

All of these are catalog commands: rebind them in Settings → Keyboard, or run them from the palette when you forget the chord. Arrow chords are stored as arrowleft, arrowright, and so on.

Arrows only move to a block that shares that edge. A lone full-grid terminal has nowhere to go, and two stacked blocks ignore ⌃⌥← / ⌃⌥→. Ties (two blocks on the same edge) go to the one whose centre is closest, then to the longer shared edge.

Zones for move

Type move, the block name, a zone, and an optional WxH:

top left · top · top right · left · center · right · bottom left · bottom · bottom right

The row shows where the block will land, for example Move files top right · 4×3 at 9,1. Without a size the block keeps its own.

Resize is the mouse's job

Pull any corner grip. Growing shrinks the neighbours you push into, but only when the growth takes a clean slice off their edge. A neighbour that would be cut through the middle blocks the resize and your block keeps its last good size. There is no resize chord on purpose: sizes come from templates, positions from the keyboard.

Layouts and templates

Every terminal remembers its own arrangement. From the palette:

  • Layout: … applies a template (built-ins: Terminal only, Terminal + monitor, Terminal + two commands, Empty, plus yours).
  • Pin layout: … makes it the default for every new terminal.
  • Save layout as template stores the current grid under a name you type in the titlebar.
  • Delete layout: … removes one of yours.

On Omarchy, Hyprland owns Super+arrows and Super+F itself, so those chords never reach the window. Rebind the block commands to something Hyprland leaves alone, for example ctrl+alt+arrowleft.

See Shortcuts for the full default table and the settings.json chord language.

On this page