Komorebi's New Scrolling Layout: A Horizontal Revolution for Windows Tiling

Article illustration 1

The komorebi tiling window manager for Windows has unveiled a significant update with its new Scrolling layout – a horizontal window arrangement designed for workspaces with high window density. This innovative approach addresses a critical challenge in tiling WM design: efficiently managing numerous windows without excessive minimization or impractical sizing.

How the Scrolling Layout Works

The Scrolling layout organizes windows in a continuous horizontal strip, with only a subset (default: 3 columns) visible at any time:

match self {
    Self::Scrolling => {
        let column_count = layout_options
            .and_then(|o| o.scrolling.map(|s| s.columns))
            .unwrap_or(3);
        // Logic to calculate window positions based on focus
    }
}

Key technical features:
1. Focus-driven navigation: The layout automatically scrolls to keep the active window visible. If focus moves to an off-screen window, the entire strip shifts
2. Configurable density: Users define visible columns via LayoutOptions (default: 3)
3. Smooth transitions: The calculate_scrolling_adjustment function handles live resizing while maintaining window relationships
4. Directional awareness: Arrow keys navigate left/right with edge detection

Under the Hood Implementation

The architecture introduces several significant changes:

  • New layout enum variant: Added Scrolling to DefaultLayout with cycle sequencing
  • LayoutOptions struct: Enables runtime configuration:
    pub struct ScrollingLayoutOptions {
        pub columns: usize, // Visible columns count
    }
  • Directional logic: Special handling for left/right navigation boundaries
  • Border repositioning: Fixes for cases where windows move without resizing

Why Developers Should Care

  1. High-density workflows: Ideal for developers monitoring dashboards, multi-process debugging, or documentation-heavy tasks
  2. Predictable keyboard navigation: Consistent left/right movement patterns enhance muscle memory
  3. Customization hooks: The LayoutOptions structure opens possibilities for future layout extensions
  4. Windows WM maturity: Demonstrates komorebi's evolution toward parity with Linux tiling WMs

Practical Applications

  • Stock trading setups: Monitor multiple tickers simultaneously
  • CI/CD pipelines: Track parallel build processes
  • Media production: Timeline, preview, and asset windows in a single workspace

The Scrolling layout joins komorebi's existing arsenal (BSP, Columns, Grid) and is accessible via layout cycling. As tiling WMs gain traction on Windows, innovations like this demonstrate how spatial window management adapts to modern workflows.

Source: LGUG2Z/komorebi commit b4e61b0