1
0
Fork 0
forked from wry/wry
wry/book/src/tiling.md

4.1 KiB

Tiling

Jay uses an i3-like tiling layout. Windows are arranged automatically in containers that can be split horizontally or vertically. Containers can be nested to create complex layouts.

Grouping Containers

When you group a window, Jay wraps it in a new container with the specified direction. Subsequent windows opened in that group are placed side by side (horizontal group) or stacked top to bottom (vertical group).

alt-d -- make-group-h
Group the focused window horizontally
alt-v -- make-group-v
Group the focused window vertically
alt-t -- change-group-opposite
Toggle the current group's direction

Moving Focus

Move keyboard focus between windows with the directional focus actions:

alt-h -- focus-left
Move focus left
alt-j -- focus-down
Move focus down
alt-k -- focus-up
Move focus up
alt-l -- focus-right
Move focus right

Focus crosses container boundaries, so you can navigate across your entire layout with these four keys.

Moving Windows

Move the focused window within or between containers:

alt-shift-h -- move-left
Move window left
alt-shift-j -- move-down
Move window down
alt-shift-k -- move-up
Move window up
alt-shift-l -- move-right
Move window right

When a window reaches the edge of its container, the move action pushes it into the adjacent container.

Focus Parent

Press alt-f (focus-parent) to move focus from a window to its parent container. This is useful when you want to operate on an entire group of windows at once. For example, focusing a parent container and then using move-left moves the whole group rather than a single window.

Mono Mode

By default, a container shows all its children side by side. Mono mode changes this so only one child is visible at a time, similar to a tabbed view.

alt-m -- toggle-tab
Toggle between tabbed and side-by-side

You can also right-click any title in a container to toggle mono mode.

In mono mode, scroll over the title bar to cycle between windows in the container.

Autotiling

Autotiling makes newly tiled windows alternate split direction from the focused tiled window by splitting the focused tile along its largest axis. On an empty workspace, the first split uses the largest axis of the output. This starts with horizontal splits on landscape outputs and vertical splits on portrait outputs.

[shortcuts]
alt-a = "toggle-autotile"

Manual grouping and split commands still use the direction you request.

Fullscreen

Press alt-u (toggle-fullscreen) to make the focused window fill the entire output, hiding the bar and other windows. Press it again to return to the tiled layout.

For explicit control:

[shortcuts]
alt-shift-u = "enter-fullscreen"
alt-ctrl-u  = "exit-fullscreen"

Resizing Tiles

Drag the separators between tiles with the mouse to resize them. The separator changes the cursor to a resize indicator when hovered.

In window management mode, you can also right-drag anywhere on a tile to resize it without needing to target the separator.

Closing Windows

Press alt-shift-c (close) to request the focused window to close. This sends a polite close request to the application -- it is not a forceful kill.

[shortcuts]
alt-shift-c = "close"

Toggling Floating

Double-click a tile's title bar to toggle it between tiled and floating. See Floating Windows for more details.

Summary of Tiling Actions

make-group-h
Wrap focused window in a horizontal group
make-group-v
Wrap focused window in a vertical group
make-group-tab
Wrap focused window in a tabbed group
change-group-opposite
Toggle group direction
focus-left/right/up/down
Move keyboard focus
move-left/right/up/down
Move focused window
focus-parent
Focus the parent container
toggle-tab
Toggle tabbed mode
toggle-fullscreen
Toggle fullscreen
enter-fullscreen
Enter fullscreen
exit-fullscreen
Exit fullscreen
close
Request focused window to close
toggle-floating
Toggle between tiled and floating