Skip to main content

Windows Basics

Windows in kitty are like terminal splits inside a single tab. Each window runs an independent shell process, and you can arrange them side by side or in a grid.

Learning Focus

Use this lesson to get comfortable creating, navigating, and resizing windows for efficient multi-tool workflows.

Creating Windows

# from inside kitty
Ctrl+Shift+Enter → New window (vertical split — side by side)
Ctrl+Shift+Alt+Enter → New window (horizontal split — top/bottom)

# from the command line
kitty @ new-window
kitty @ new-window --cwd /var/log
kitty @ new-window --cwd /etc --title "config"

Window Splits Visual

Vertical split (Ctrl+Shift+Enter):

┌─────────────────────┬─────────────────────┐
│ │ │
│ Window 0 │ Window 1 │
│ (shell) │ (vim) │
│ │ │
└─────────────────────┴─────────────────────┘

Horizontal split (Ctrl+Shift+Alt+Enter):

┌───────────────────────────────────────────┐
│ Window 0 │
│ (shell) │
├───────────────────────────────────────────┤
│ Window 1 │
│ (htop) │
└───────────────────────────────────────────┘
ShortcutAction
Ctrl+Shift+leftFocus window to the left
Ctrl+Shift+rightFocus window to the right
Ctrl+Shift+upFocus window above
Ctrl+Shift+downFocus window below
Ctrl+Shift+oFocus next window (cycle)

Resizing Windows

ShortcutAction
Ctrl+Shift+Alt+leftWiden focused window
Ctrl+Shift+Alt+rightNarrow focused window
Ctrl+Shift+Alt+upShorten focused window
Ctrl+Shift+Alt+downTaller focused window
Ctrl+Shift+Alt+=Reset window sizes (equal)

From the command line:

# resize by percentage
kitty @ resize-window --increment 5

# reset to equal sizes
kitty @ resize-window --reset

Maximizing Windows

Ctrl+Shift+z → Toggle maximize on current window

One window fills the entire tab area. Press Ctrl+Shift+z again to return to the split layout.

tip

Use maximize when you need to focus on one task (e.g., reading logs), then unmaximize to return to your multi-window layout.

Closing Windows

# inside the window
exit

# force close current window
Ctrl+Shift+q

# close from command line
kitty @ close-window
note

Closing the last window in a tab closes the tab. Closing the last tab closes the kitty window (but not the server — it stays running for remote control).

Moving and Swapping Windows

# from the command line
kitty @ neighboring_window left
kitty @ neighboring_window right

You can also use mouse drag to reorder windows (if enabled in config).

Window Layouts

Kitty offers several layouts that control how windows are arranged (see Layouts and Tiling):

LayoutBehavior
fatEqual sized vertical splits
gridBalanced grid arrangement
horizontalSide by side (default for new windows)
splitsManual split-based layout
stackOnly one window visible at a time
tallOne main window on left, rest stack on right
verticalWindows stacked top to bottom

Common Window Workflow: Monitoring

# start kitty, then inside a tab:
# Ctrl+Shift+Enter → split vertically (left: shell, right: empty)
# Ctrl+Shift+Alt+Enter → split right side horizontally (right-top, right-bottom)
# Ctrl+Shift+arrows → navigate between all three

# Result:
# ┌─────────────────────┬─────────────────────┐
# │ │ htop │
# │ tail -f app.log ├─────────────────────┤
# │ │ watch df -h │
# └─────────────────────┴─────────────────────┘

Common Pitfalls

PitfallSymptomFix
Too many windows in one tabCramped, unreadable splitsUse multiple tabs instead
Window resize not workingModifier conflict with window managerRemap resize keys, or use Ctrl+Shift+Alt+arrows
Ctrl+Shift+q closes whole tabOnly one window leftCreate more windows first, or add a second tab
Mouse drag not reorderingFeature disabledEnable mouse_map in kitty.conf

Hands-On Practice

Try this inside kitty:

# Step 1: Create a vertical split
# Ctrl+Shift+Enter

# Step 2: Create a horizontal split on the right
# Ctrl+Shift+Alt+Enter (with focus on right window)

# Step 3: Navigate between windows
# Ctrl+Shift+arrows

# Step 4: Run different commands
# Window 0: watch -n 1 'date'
# Window 1: ping -c 10 localhost
# Window 2: echo "hello from window 3"

# Step 5: Maximize one window
# Ctrl+Shift+z

# Step 6: Return to split view
# Ctrl+Shift+z

# Step 7: Resize windows
# Ctrl+Shift+Alt+left (widen current window)

# Step 8: Close windows
# Ctrl+Shift+q on each, or exit

What's Next