aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-08-27 17:21:21 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-08-27 17:21:21 +0400
commitc3d2505487900b5c224b6a6e2171c2164713dec5 (patch)
treeaa2eb96655edf733f19286ea8b0a2437c982492a
parenteacafc270871625d05800c6c861df5239c992fad (diff)
downloadniri-c3d2505487900b5c224b6a6e2171c2164713dec5.tar.gz
niri-c3d2505487900b5c224b6a6e2171c2164713dec5.tar.bz2
niri-c3d2505487900b5c224b6a6e2171c2164713dec5.zip
Update README
-rw-r--r--README.md25
1 files changed, 17 insertions, 8 deletions
diff --git a/README.md b/README.md
index 1e4c81d9..13d39bdd 100644
--- a/README.md
+++ b/README.md
@@ -7,21 +7,18 @@ The beginnings of a scrollable-tiling Wayland compositor.
## Status
Heavily work in progress.
-The occasional thing works, but likely is in a half-broken state.
+Some things work, but a lot of expected functionality is missing.
https://github.com/YaLTeR/niri/assets/1794388/3713a563-d7a2-4c56-aa0b-b4986b5dc188
## Idea
-This section describes the goals I'm working towards.
-Many things don't work as written yet.
-
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 as much height as possible, spread between its windows.
+Every column takes up a full monitor worth of height, divided among its windows.
With multiple monitors, every monitor has its own separate window strip.
-Windows can never "overflow" to an adjacent monitor.
+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 that I use every day, but, being a GNOME Shell extension, it has to work around Shell's global window coordinate space to prevent windows from overflowing.
@@ -31,17 +28,28 @@ 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.
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 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.
## Running
-`cargo run -- -- alacritty`
+`cargo run`
Inside a desktop session, it will run in a window.
On a TTY, it will run natively.
To exit when running on a TTY, press <kbd>Super</kbd><kbd>Shift</kbd><kbd>E</kbd>.
+### Session
+
+You can install and run niri as a standalone desktop session.
+Check the `generate-rpm` metadata at the bottom of `Cargo.toml` to see which files go where.
+After installing, you can choose the niri session in GDM and, presumably, other display managers.
+
+The niri session will autostart apps through the systemd xdg-autostart target.
+You can also autostart systemd services like [mako] by symlinking them into `$HOME/.config/systemd/user/niri.service.wants/`.
+
+Niri also somewhat-works with xdg-desktop-portal-gnome for Flatpak apps.
+
## Hotkeys
When running on a TTY, the Mod key is <kbd>Super</kbd>.
@@ -77,4 +85,5 @@ The general system is: if a hotkey switches somewhere, then adding <kbd>Ctrl</kb
| <kbd>Mod</kbd><kbd>Shift</kbd><kbd>E</kbd> | Exit niri |
[PaperWM]: https://github.com/paperwm/PaperWM
+[mako]: https://github.com/emersion/mako