No description
  • Rust 98.9%
  • GLSL 0.6%
  • Nix 0.4%
Find a file
2026-10-03 15:32:31 +03:00
.github Merge upstream/main 2026-10-03 15:32:31 +03:00
docs Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
resources Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
src Merge upstream/main 2026-10-03 15:32:31 +03:00
xiri-config Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
xiri-ipc overview: fix keyboard and wheel navigation on vertical scrolling 2026-09-18 10:24:47 +03:00
xiri-visual-tests First commit 2026-09-16 03:52:56 +03:00
.gitignore Revert "chore: stop ignoring .idea" 2026-09-17 02:02:41 +03:00
build.rs First commit 2026-09-16 03:52:56 +03:00
Cargo.lock Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
Cargo.toml Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
clippy.toml Deal with Clippy warnings 2024-07-28 11:41:09 +03:00
CONTRIBUTING.md Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
flake.lock nix: bump inputs 2026-08-02 23:07:21 +03:00
flake.nix Merge remote-tracking branch 'origin/main' 2026-09-27 02:22:42 +03:00
LICENSE Add LICENSE 2023-08-10 14:50:51 +04:00
README.md upd 2026-09-16 04:12:29 +03:00
rustfmt.toml Add rustfmt.toml and reformat 2023-08-10 14:49:38 +04:00
typos.toml Fix typos in comments 2025-11-29 10:05:44 +03:00
xiri-home.nix First commit 2026-09-16 03:52:56 +03:00
xiri.spec.rpkg First commit 2026-09-16 03:52:56 +03:00

Xiri is a scrollable-tiling Wayland compositor.

About

Windows are arranged in columns on an infinite strip going to the right. Opening a new window never causes existing windows to resize.

Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor.

Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.

The workspace arrangement is preserved across disconnecting and connecting monitors where it makes sense. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor.

Features

Video Demo

https://github.com/niri-wm/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729