All Projects → ifreund → River

ifreund / River

Licence: gpl-3.0
A dynamic tiling wayland compositor

Projects that are alternatives of or similar to River

shod
mouse-based window manager that can tile windows inside floating containers
Stars: ✭ 126 (-75.44%)
Mutual labels:  tiling, window-manager
Fireplace
Modular wayland window manager written in rust
Stars: ✭ 513 (+0%)
Mutual labels:  wayland, window-manager
shod-old
hybrid (floating and tiling) tabbed window manager
Stars: ✭ 56 (-89.08%)
Mutual labels:  tiling, window-manager
Perceptia
Dynamic window manager with support for Wayland
Stars: ✭ 138 (-73.1%)
Mutual labels:  wayland, window-manager
swayfire
Sway/I3 inspired tiling window manager for Wayfire
Stars: ✭ 146 (-71.54%)
Mutual labels:  window-manager, wayland
Shell
🐚 QtQuick and Wayland shell for convergence
Stars: ✭ 168 (-67.25%)
Mutual labels:  wayland, compositor
forge
Forge - Tiling and Window Manager for Gnome-Shell
Stars: ✭ 144 (-71.93%)
Mutual labels:  tiling, window-manager
Dotfiles
i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines.
Stars: ✭ 651 (+26.9%)
Mutual labels:  compositor, window-manager
katriawm
A non-reparenting, dynamic window manager with decorations
Stars: ✭ 53 (-89.67%)
Mutual labels:  tiling, window-manager
japokwm
A wlroots and dwl based tiling wayland compositor based around creating layouts
Stars: ✭ 99 (-80.7%)
Mutual labels:  tiling, wayland
Sway
i3-compatible Wayland compositor
Stars: ✭ 9,854 (+1820.86%)
Mutual labels:  wayland, compositor
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+813.65%)
Mutual labels:  compositor, window-manager
Wayfire
3D wayland compositor
Stars: ✭ 810 (+57.89%)
Mutual labels:  wayland, window-manager
Awesome Wayland
A curated list of Wayland code and resources.
Stars: ✭ 219 (-57.31%)
Mutual labels:  wayland, window-manager
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-87.13%)
Mutual labels:  compositor, window-manager
mmwm
Modern Minimalistic Window Manager
Stars: ✭ 45 (-91.23%)
Mutual labels:  dynamic, tiling
Shell
Pop!_OS Shell
Stars: ✭ 3,338 (+550.68%)
Mutual labels:  window-manager, tiling
Dewm
A pure go autotiling window manager written with literate programming
Stars: ✭ 225 (-56.14%)
Mutual labels:  window-manager, tiling
westford
Westford Wayland Compositor
Stars: ✭ 39 (-92.4%)
Mutual labels:  compositor, wayland
gobble
Rust rewrite of Devour
Stars: ✭ 23 (-95.52%)
Mutual labels:  window-manager, wayland

river

river is a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm.

Note: river is currently early in development. Expect breaking changes and missing features. If you run into a bug don't hesitate to open an issue

Design goals

  • Simplicity and minimalism, river should not overstep the bounds of a window manager.
  • Window management based on a stack of views and tags.
  • Dynamic layouts generated by external, user-written executables. (A default rivertile layout generator is provided.)
  • Scriptable configuration and control through a custom wayland protocol and separate riverctl binary implementing it.

Building

On cloning the repository, you must init and update the submodules as well with e.g.

git submodule update --init

To compile river first ensure that you have the following dependencies installed:

  • zig 0.7.1
  • wayland
  • wayland-protocols
  • wlroots 0.12.0
  • xkbcommon
  • libevdev
  • pixman
  • pkg-config
  • scdoc (optional, but required for man page generation)

Note: NixOS users may refer to the Building on NixOS wiki page

Then run, for example:

zig build -Drelease-safe --prefix /usr install

To enable experimental Xwayland support pass the -Dxwayland option as well.

Usage

River can either be run nested in an X11/wayland session or directly from a tty using KMS/DRM.

On startup river will look for and run an executable file at one of the following locations, checked in the order listed:

  • $XDG_CONFIG_HOME/river/init
  • $HOME/.config/river/init
  • /etc/river/init

Usually this executable init file will be a shell script invoking riverctl to create mappings and preform other configuration.

An example init script with sane defaults is provided here in the example directory and installed to /etc/river/init.

For complete documentation see the river(1), riverctl(1), and rivertile(1) man pages.

Development

If you are interested in the development of river, please join us at #river on freenode. You should also read CONTRIBUTING.md if you intend to submit patches.

Licensing

river is released under the GNU General Public License version 3, or (at your option) any later version.

The protocols in the protocol directory are released under various licenses by various parties. You should refer to the copyright block of each protocol for the licensing information. The protocols prefixed with river and developed by this project are released under the ISC license (as stated in their copyright blocks).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].