Komorebi Tiling WM Introduces Scrolling Layout for High-Density Window Management
Share this article
Komorebi's New Scrolling Layout: A Horizontal Revolution for Windows Tiling
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
ScrollingtoDefaultLayoutwith 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
- High-density workflows: Ideal for developers monitoring dashboards, multi-process debugging, or documentation-heavy tasks
- Predictable keyboard navigation: Consistent left/right movement patterns enhance muscle memory
- Customization hooks: The
LayoutOptionsstructure opens possibilities for future layout extensions - 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