Skip to content

pablocpas/tiri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,159 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiri

An i3/sway-like tiling Wayland compositor built from niri.

Release AUR tiri-bin Fedora COPR License

Getting Started · Configuration · Releases · niri

tiri with tiled windows

About

Tiri is a fork of niri that keeps niri's Wayland compositor foundation and replaces the scrollable layout with traditional i3/sway-style tiling.

Windows live in a container tree: split horizontally, split vertically, tab them, stack them, or float them when the window calls for it. Each monitor owns its own workspace stack and tiling tree, so windows stay visible and predictable instead of flowing into another output.

Tiri is for people who like i3/sway's direct spatial model, but want it on top of niri's rendering, protocol support, animations, screencasting, gestures, and multi-monitor infrastructure.

Install

Fedora:

sudo dnf copr enable pablocpas/tiri
sudo dnf install tiri

Arch Linux:

paru -S tiri-bin
# or build from source:
paru -S tiri

Nix:

nix profile install github:pablocpas/tiri

Debian/Ubuntu:

Download the .deb from the latest release.

After installing, choose Tiri in your display manager, or run tiri-session from a TTY.

Highlights

  • i3/sway-like tiling with a real container tree.
  • Split, tabbed, stacked, and floating container modes.
  • Independent monitor trees: windows do not overflow into another monitor.
  • Dynamic vertical workspaces with an always-empty workspace at the end.
  • Live-reloading configuration in KDL.
  • Screenshot UI and screencasting through xdg-desktop-portal-gnome.
  • Sensitive-window blocking for screencasts.
  • Touchpad and mouse gestures inherited from niri.
  • Configurable gaps, borders, struts, and window sizes.
  • Gradient borders, animations, and custom shaders.
  • Accessibility support through the same base as niri.

Tiri vs niri

Area niri tiri
Core layout Scrollable columns i3/sway-style container tree
Window placement Manual column workflow Automatic tiling splits
Spatial model Infinite horizontal strip per workspace Visible tree per workspace
Container modes Columns and tabs SplitH, SplitV, tabbed, stacked, floating
Foundation Wayland compositor built in Rust niri foundation with tiling semantics

Tiri intentionally does not try to be a full desktop environment. Bring your bar, launcher, notification daemon, lock screen, wallpaper tool, and portal setup, just like you would for i3 or sway.

Status

Tiri is in active development and is being refined for daily i3-like use. It inherits a mature compositor base from niri, including rendering, input, screencasting, protocol support, and multi-monitor handling.

Things that are already first-class:

  • Multi-monitor layouts, including mixed DPI.
  • Fractional scaling with pixel-perfect compositor UI.
  • Floating windows for dialogs and special cases.
  • Xwayland through xwayland-satellite.
  • Wlr protocols such as layer-shell, gamma-control, and screencopy.
  • Tablets, touchpads, and touchscreens.

Packaging

Current distribution paths:

Packagers should read Packaging tiri. Release tarballs include a matching vendored dependency archive for offline Rust builds.

Credits

Tiri is built on top of niri by Ivan Molodetskikh (YaLTeR). The rendering pipeline, Wayland protocol work, compositor architecture, and much of the surrounding documentation come from niri's excellent foundation.

Useful niri resources:

Contributing

Contributions are welcome, especially around i3/sway behavior parity, layout correctness, testing, documentation, packaging, and real-world bug reports.

See CONTRIBUTING.md and the Getting Started docs.

License

Tiri is licensed under GPL-3.0-or-later.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors