Back to plugins
Auto-Tile

Auto-Tile

Automatically redistributes niri column widths evenly when windows open or close

v1.4.2 pir0c0pter0 MIT Mar 23, 2026

About

niri-auto-tile

Auto-tiling daemon for niri compositor — automatically redistributes column widths evenly when windows are opened or closed.


Features

  • Automatic redistribution — columns resize instantly on window open/close
  • Multi-workspace support — redistributes all active workspaces, restoring original focus afterwards
  • Configurable max visible columns — caps how many columns fit on screen (default: 4)
  • Per-workspace settings — each workspace can have its own column count
  • Only at max mode — only redistribute when column count reaches the configured maximum
  • Smart event filtering — only reacts to actual window open/close, ignores title changes
  • Theme-aware UI — all colors follow the active Noctalia theme
  • Hot-reload config — update settings without restarting the daemon (SIGUSR1)
  • Thread-safe debouncing — coalesces rapid events to prevent flickering
  • Rate limiting — circuit breaker for event floods
  • i18n — 10 languages (en, pt, es, fr, de, it, ru, zh, ja, ko)

Usage

Bar Widget

  • Column indicators showing the current max visible count
  • Status dot (theme primary = running, theme secondary = starting)
  • Left-click opens the floating panel
  • Right-click context menu: enable/disable, settings

Floating Panel

  • Enable/disable toggle in the header
  • Visual column layout selector (1-4 columns grid)
  • Status bar with current state and workspace info

Settings

  • Enable Auto-Tile — master on/off switch
  • Per workspace — each workspace has its own column count
  • Only at max — only redistribute when columns reach the maximum
  • Max visible columns — slider from 1 to 8
  • Debounce delay — 100-1000ms event coalescence
  • Rate limit — 5-50 events per second
  • Daemon status — running/error/stopped indicator

Files

File Role
Main.qml Daemon lifecycle (start/stop/restart), settings bridge
BarWidget.qml Bar indicator with column count visualization and status dot
Panel.qml Floating panel with visual column grid selector
Settings.qml Full settings page (toggles, sliders, status indicator)
auto-tile.py Python daemon — core auto-tiling logic

Author

Developed by Pir0c0pter0.

Standalone repo: pir0c0pter0/niri-auto-tile