mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-22 02:01:55 +07:00
Update README
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user