Coder Social home page Coder Social logo

vazw / niri Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yalter/niri

0.0 0.0 0.0 1.5 MB

A scrollable-tiling Wayland compositor.

Home Page: https://matrix.to/#/#niri:matrix.org

License: GNU General Public License v3.0

Shell 0.11% Rust 98.86% CSS 0.01% Nix 0.26% GLSL 0.77%

niri's Introduction

niri

A scrollable-tiling Wayland compositor.

Matrix GitHub License GitHub Release

Getting Started | Configuration

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.

Workspaces are dynamic and arranged vertically. Every monitor has an independent set of workspaces, and there's always one empty workspace present all the way down.

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.

Features

  • Scrollable tiling
  • Dynamic workspaces like in GNOME
  • Built-in screenshot UI
  • Monitor screencasting through xdg-desktop-portal-gnome
    • You can block out sensitive windows from screencasts
  • Touchpad gestures
  • Configurable layout: gaps, borders, struts, window sizes
  • Animations
  • Live-reloading config

Video Demo

demo.mp4

Status

A lot of the essential functionality is implemented, plus some goodies on top. Feel free to give niri a try: follow the instructions on the Getting Started wiki page. Have your waybars and fuzzels ready: niri is not a complete desktop environment.

Note that NVIDIA GPUs may have issues.

Inspiration

Niri is heavily inspired by PaperWM which implements scrollable tiling on top of GNOME Shell.

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.

Contact

We have a Matrix chat, feel free to join and ask a question: https://matrix.to/#/#niri:matrix.org

niri's People

Contributors

yalter avatar kchibisov avatar cmeissl avatar sodiboo avatar trundle avatar fluxtape avatar kiaragrouwstra avatar xrtxn avatar phuhl avatar metent avatar uetcis avatar axtloss avatar okvik avatar tversteeg avatar supreeeme avatar sed4906 avatar rabidpug avatar exoticorn avatar billksun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.