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

157 lines
3.6 KiB
Markdown

# 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.
## 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:
```toml
[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](mouse.md#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.
```toml
[shortcuts]
alt-shift-c = "close"
```
## Toggling Floating
Double-click a tile's title bar to toggle it between tiled and floating. See
[Floating Windows](floating.md) 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