From 616055e205e724e2e2cec434b71092f76498227a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 17 Jan 2024 03:15:05 -0800 Subject: [PATCH] Update README.md --- README.md | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 91a2632..1b87488 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,33 @@ -# niri +

niri

+

A scrollable-tiling Wayland compositor.

+

+ Matrix + GitHub License + GitHub Release +

-A scrollable-tiling Wayland compositor. +![](https://github.com/YaLTeR/niri/assets/1794388/16f87a4a-afac-49aa-b3e6-5e6f16c943a9) -![](https://github.com/YaLTeR/niri/assets/1794388/e35fd9e1-105b-4bd5-94c9-207fd6fb3c18) +## 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. + +Since windows go left-to-right horizontally, workspaces are arranged vertically. +Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down. + +## Features + +- Scrollable tiling +- Dynamic workspaces like in GNOME +- Built-in screenshot UI +- Monitor screencasting through xdg-desktop-portal-gnome +- Touchpad gesture to switch workspaces +- Configurable layout: gaps, borders, struts, window sizes +- Live-reloading config ## Status @@ -12,21 +37,12 @@ Have your waybars and fuzzels ready: niri is not a complete desktop environment. https://github.com/YaLTeR/niri/assets/1794388/5d355694-7b06-4f00-8920-8dce54a8721c -## Idea +## Inspiration -Niri implements scrollable tiling, heavily inspired by [PaperWM]. -Windows are arranged in columns on an infinite strip going to the right. -Every column takes up a full monitor worth of height, divided among its windows. +Niri is heavily inspired by [PaperWM] which implements scrollable tiling on top of GNOME Shell. -With multiple monitors, every monitor has its own separate window strip. -Windows can never "overflow" onto an adjacent monitor. - -This is one of the reasons that prompted me to try writing my own compositor. -PaperWM is a solid implementation, but, being a GNOME Shell extension, it has to work around Shell's global window coordinate space to prevent windows from overflowing. - -Niri also has dynamic workspaces which work similar to GNOME Shell. -Since windows go left-to-right horizontally, workspaces are arranged vertically. -Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down. +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. Niri tries to preserve the workspace arrangement as much as possible upon disconnecting and connecting monitors. When a monitor disconnects, its workspaces will move to another monitor, but upon reconnection they will move back to the original monitor. @@ -176,6 +192,10 @@ Please use the default configuration file as the starting point for your custom Niri will live-reload most of the configuration settings, like key binds or gaps or output modes, as you change the config file. +## Contact + +We have a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org + [PaperWM]: https://github.com/paperwm/PaperWM [mako]: https://github.com/emersion/mako [OBS]: https://flathub.org/apps/com.obsproject.Studio