2024-01-17 03:15:05 -08:00
|
|
|
<h1 align="center">niri</h1>
|
|
|
|
<p align="center">A scrollable-tiling Wayland compositor.</p>
|
|
|
|
<p align="center">
|
|
|
|
<a href="https://matrix.to/#/#niri:matrix.org"><img alt="Matrix" src="https://img.shields.io/matrix/niri%3Amatrix.org?logo=matrix&label=matrix"></a>
|
|
|
|
<a href="https://github.com/YaLTeR/niri/blob/main/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/YaLTeR/niri"></a>
|
|
|
|
<a href="https://github.com/YaLTeR/niri/releases"><img alt="GitHub Release" src="https://img.shields.io/github/v/release/YaLTeR/niri?logo=github"></a>
|
|
|
|
</p>
|
2023-08-10 14:45:54 +04:00
|
|
|
|
2024-04-20 11:24:33 +04:00
|
|
|
<p align="center">
|
|
|
|
<a href="https://github.com/YaLTeR/niri/wiki/Getting-Started">Getting Started</a> | <a href="https://github.com/YaLTeR/niri/wiki/Configuration:-Overview">Configuration</a>
|
|
|
|
</p>
|
|
|
|
|
2024-03-09 14:45:18 +04:00
|
|
|

|
2023-08-13 12:46:53 +04:00
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
## 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.
|
|
|
|
|
2024-01-25 08:34:42 +04:00
|
|
|
Workspaces are dynamic and arranged vertically.
|
2024-01-17 03:15:05 -08:00
|
|
|
Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.
|
|
|
|
|
2024-01-25 08:34:42 +04:00
|
|
|
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.
|
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
## Features
|
|
|
|
|
|
|
|
- Scrollable tiling
|
|
|
|
- Dynamic workspaces like in GNOME
|
|
|
|
- Built-in screenshot UI
|
|
|
|
- Monitor screencasting through xdg-desktop-portal-gnome
|
2024-03-29 14:20:51 +04:00
|
|
|
- You can [block out](https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules#block-out-from) sensitive windows from screencasts
|
2024-03-15 09:56:11 -07:00
|
|
|
- [Touchpad gestures](https://github.com/YaLTeR/niri/assets/1794388/946a910e-9bec-4cd1-a923-4a9421707515)
|
2024-01-17 03:15:05 -08:00
|
|
|
- Configurable layout: gaps, borders, struts, window sizes
|
2024-04-20 17:30:35 +04:00
|
|
|
- [Animations](https://github.com/YaLTeR/niri/assets/1794388/ce178da2-af9e-4c51-876f-8709c241d95e)
|
2024-01-17 03:15:05 -08:00
|
|
|
- Live-reloading config
|
2023-08-14 08:05:57 -07:00
|
|
|
|
2024-01-25 08:34:42 +04:00
|
|
|
## Video Demo
|
|
|
|
|
2024-04-20 17:30:35 +04:00
|
|
|
https://github.com/YaLTeR/niri/assets/1794388/bce834b0-f205-434e-a027-b373495f9729
|
2024-01-25 08:34:42 +04:00
|
|
|
|
2023-08-13 12:46:53 +04:00
|
|
|
## Status
|
|
|
|
|
2023-10-24 14:33:26 +04:00
|
|
|
A lot of the essential functionality is implemented, plus some goodies on top.
|
2024-04-20 11:24:33 +04:00
|
|
|
Feel free to give niri a try: follow the instructions on the [Getting Started](https://github.com/YaLTeR/niri/wiki/Getting-Started) wiki page.
|
2024-01-25 08:34:42 +04:00
|
|
|
Have your [waybar]s and [fuzzel]s ready: niri is not a complete desktop environment.
|
2023-08-13 12:46:53 +04:00
|
|
|
|
2024-04-20 17:45:17 +04:00
|
|
|
Note that NVIDIA GPUs may have issues.
|
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
## Inspiration
|
2023-08-13 12:46:53 +04:00
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
Niri is heavily inspired by [PaperWM] which implements scrollable tiling on top of GNOME Shell.
|
2023-08-13 12:46:53 +04:00
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
One of the reasons that prompted me to try writing my own compositor is being able to properly separate the monitors.
|
|
|
|
Being a GNOME Shell extension, PaperWM has to work against Shell's global window coordinate space to prevent windows from overflowing.
|
2023-08-13 12:46:53 +04:00
|
|
|
|
2024-01-17 03:15:05 -08:00
|
|
|
## Contact
|
|
|
|
|
|
|
|
We have a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org
|
|
|
|
|
2023-08-13 12:46:53 +04:00
|
|
|
[PaperWM]: https://github.com/paperwm/PaperWM
|
2024-01-25 08:34:42 +04:00
|
|
|
[waybar]: https://github.com/Alexays/Waybar
|
|
|
|
[fuzzel]: https://codeberg.org/dnkl/fuzzel
|
2023-08-10 14:45:54 +04:00
|
|
|
|