概要
niri は、Wayland向けの スクロール型タイル型コンポジタ。 ウィンドウは 無限に右へ続くストリップ で管理、既存ウィンドウのリサイズなし。 マルチモニター ・ 動的ワークスペース ・ カスタマイズ性 が特徴。 アクセシビリティ や パフォーマンス にも配慮。 コミュニティ や関連リソースも充実。
niri: スクロール型タイル型Waylandコンポジタの特徴
-
ウィンドウ管理
- ウィンドウは 右方向に無限に続く列 で配置
- 新規ウィンドウ追加時も既存ウィンドウのリサイズなし
- 各モニターごとに独立したウィンドウストリップ
- ウィンドウが 隣のモニターにオーバーフローしない設計
-
ワークスペース機能
- 動的ワークスペース (GNOMEのようなスタイル)
- ワークスペースは 縦方向に並び、常に1つ空きが下に存在
- モニターの接続・切断時もワークスペース配置を維持
- 切断時は他モニターへ移動、再接続時は元のモニターへ自動復帰
-
主な機能
- スクロール型タイル型設計 を基礎から実装
- ワークスペース・ウィンドウのズームアウトオーバービュー
- 内蔵スクリーンショットUI
- xdg-desktop-portal-gnomeによる画面・ウィンドウキャスト
- センシティブウィンドウのキャスト除外
- 動的キャストターゲット切替
- タッチパッド・マウスジェスチャー
- ウィンドウのタブグループ化
- レイアウトカスタマイズ(ギャップ、ボーダー、ウィンドウサイズなど)
- Oklab/Oklch対応のグラデーションボーダー
- カスタムシェーダ対応アニメーション
- ライブリロード設定
- スクリーンリーダー対応
-
デモ・導入例
- demo.mp4によるビデオデモ
- Brodie Robertsonによる紹介動画
- awesome-niri でコミュニティプロジェクトやリソースを紹介
-
利用状況とサポート
- 日常利用に十分な安定性
- MatrixチャンネルやDiscordでコミュニティサポート
- Getting Startedページで導入方法を案内
- WaybarやFuzzel等の外部ツールとの併用推奨
- niri自体はデスクトップ環境全体ではなく、コンポジタ単体
niriの技術詳細と互換性
-
マルチモニター対応
- 設計段階からマルチモニターを重視
- Mixed DPI・フラクショナルスケーリング にも対応
- 全UIがピクセルパーフェクト
- NVIDIA環境でも動作確認済み
-
ウィンドウ管理拡張
- フローティングウィンドウ (niri 25.01以降対応)
- タブレット・タッチパッド・タッチスクリーン対応
- タブレットは特定モニターへのマッピングやOpenTabletDriver利用可
- タッチパッドジェスチャー対応(タッチスクリーンジェスチャーは未実装)
-
Waylandプロトコル対応
- layer-shell, gamma-control, screencopy 等主要プロトコルに対応
- wayland.app で各プロトコルの対応状況を確認可能
-
パフォーマンス
- 軽量設計 で古いPC(例:Eee PC 900)でも動作報告あり
-
Xwayland対応
- niri 25.08以降、xwayland-satelliteを統合
メディア・関連情報
- 講演・記事・インタビュー
- 2024年Moscow RustConでのniri開発講演(YouTubeで英語字幕あり)
- 2025年Das Triumviratによる開発者インタビュー(英語)
- 2025年LWNによるniriの概要と紹介記事
コミュニティ・貢献方法
-
貢献ガイド
- CONTRIBUTING.md でコーディング・非コーディング貢献方法を案内
-
インスピレーション
- PaperWM (GNOME Shell拡張)から着想
- モニターごとのウィンドウ分離 を目指す設計思想
- PaperWMはグローバル座標空間の制約があるため、独自実装に挑戦
類似プロジェクト
- PaperWM: GNOME Shell用のスクロール型タイル型
- karousel: KDE用スクロール型タイル型
- scroll/papersway: sway/i3用スクロール型タイル型
- hyprscrolling/hyprslidr: Hyprland用スクロール型タイル型
- PaperWM.spoon: macOS用スクロール型タイル型
連絡先・コミュニティ
- Matrixチャット: https://matrix.to/#/#niri:matrix.org
- Discordコミュニティ: https://discord.gg/vT8Sfjy7sx