Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JrWM - A Junior Window Manager

(Alternatively, jpco's river window manager)

JrWM is a dynamic tiling window manager written for the river Wayland compositor. It is designed to be small, low-dependency, easy to build, read and modify, and to have a good degree of correctness.

Windows in JrWM are organized into spaces, which are collections of windows associated with an output and a layout. Multiple spaces may be associated with an output simultaneously, but only one space is visible on an output at any one time. Supported layouts, at this time, are a monocle layout and a tiled layout inspired by that of dwm, with windows arranged into a main area and a stacking area.

JrWM supports very little in the way of visuals. Window borders are drawn to indicate focus, but for anything else, additional programs such as waybar must be used. For the sake of these programs, JrWM supports the river-layer-shell-v1 protocol.

Screenshot of JrWM

A screenshot of JrWM featuring waybar, foot, vim, es, the notcat notification server, and zathura.

Building and installation

To build, JrWM requires:

  • a C99-capable compiler
  • GNU or BSD make
  • the wayland-scanner utility (probably from your distribution's wayland package)
  • libxkbcommon, or your distribution's version

Given Wayland and libxkbcommon are already dependencies for river, these are probably all already installed.

Building should be as simple as

make

To install, run the following as root

make install

JrWM will be installed into the /usr/local/bin directory, and its man page will be installed into /usr/local/man.

The Makefile, like JrWM itself, is intended to be simple and easy to modify.

Configuration

Configuration, such as it is, is done by editing the file config.c.

Alternatively, it is possible to create an alternative config file and build the WM using that file instead of config.c. For example, to build with the config defined in the file examples/jpco-config.c, one can use the command

make CONFIG=examples/jpco-config.c

About

It's a junior window manager!

Resources

Contributing

Stars

7 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages