Skip to content

Configuration Layout

github-actions[bot] edited this page Oct 12, 2026 · 2 revisions

Layout

layout key Type / values Default Meaning
mode "scrolling", "tree" "scrolling" Workspace layout
inner-gap number ≥ 0 10 Between windows
outer-gap number ≥ 0 4 Around workspace edges
smart-gaps boolean false Remove outer gaps for one tiled window
scrolling key Type / values Default Meaning
default-column-display "stacked", "tabbed" "stacked" Display mode of new columns; reload preserves existing column choices
default-column-width proportion > 0; or "full" 0.5 Width of new columns
focus-strategy "minimal", "center_on_focus", "paged" "minimal" Viewport movement on focus
width-presets array of widths [0.3333333333333333, 0.5, 0.6666666666666666, "full"] Super+R cycle; empty uses defaults

minimal leaves fully visible columns in place and scrolls only enough to reveal a hidden edge, ignoring differences of up to 0.5 logical pixels. Full-width columns align with the viewport. Wider columns reveal their left edge when approached from the left and their right edge when approached from the right; an existing view inside a wider column stays in place. center_on_focus centers the focused column. paged packs columns into viewport-sized pages: halves form pairs, thirds form triples; mixed widths and effective minimum sizes determine actual boundaries. Changing default width preserves manually resized columns.

Tabbed columns

To open new columns as tabs:

scrolling {
    default-column-display "tabbed"
}

Your existing columns stay as they are. Press Super + Shift + T to switch the focused column.

See Tabbed windows for grouping, tab selection and the default shortcuts.

Scrolling tab indicator

scrolling.tab-indicator key Type / range Default
width number, 1–16 4
segment-height number, width–128 24
segment-gap number, 0–64 4
hit-width number, width–64 12
gap-threshold number, width–128 8
list-width number, 80–640 220
row-height number, (font-size + 6)–80 28
padding number, 0–24 4
font-size number, 8–32 12
outline-width number, 0–8 0.5
flash-duration-ms integer, 0–60000 1000
active-color optional color Theme accent
inactive-color optional color Theme border
background-color optional color Theme raised surface
text-color optional color Theme primary text
outline-color optional color Theme border

Configure the scrolling indicator under scrolling.tab-indicator:

scrolling {
    tab-indicator {
        width 4
        segment-height 24
        segment-gap 4
        hit-width 12
        gap-threshold 8
        list-width 220
        row-height 28
        padding 4
        font-size 12
        outline-width 0.5
        flash-duration-ms 1000
    }
}

Sizes are logical pixels. The hover list fits its longest title, up to list-width, with an 80px minimum. Its width stays fixed while open. outline-width 0 hides the outline; positive widths draw at least one physical pixel. flash-duration-ms 0 disables keyboard feedback. Leave colors unset to use your theme, or override them with #RRGGBB or #RRGGBBAA values. The selected row has a faint highlight using the text color. The rail has fully rounded ends; the title list follows the shell corner radius. The hover list and keyboard feedback pill follow the shell material opacity. Solid material or Reduce transparency makes their backgrounds opaque. Text and rail markers retain their own opacity. These controls use flat fills without blur or shadows. Changes apply on configuration reload.

Clone this wiki locally