Crates.io | umberwm |
lib.rs | umberwm |
version | 0.0.34 |
source | src |
created_at | 2020-04-27 22:44:33.486444 |
updated_at | 2022-02-28 21:43:06.834066 |
description | minimalist X11 window manager |
homepage | https://github.com/yazgoo/umberwm |
repository | https://github.com/yazgoo/umberwm |
max_upload_size | |
id | 234807 |
size | 103,215 |
Minimalistic X window manager based on tinywm, inspired by qtile.
Video introduction on LBRY or on youtube.
cd umbertutor
make
rofi
, ...)qtile
, dwm
, xmonad
), as RON, or both.You will need XCB bindings with the randr extension.
Ubuntu: sudo apt install libxcb-randr0-dev
.
cargo install umberwm
umberwm
~/.config/umberwm.ron
(using RON file format)umberwm
, it will take into account your configurationUmberWM
is used/configured in rust, here is how to use it:
Clone this project: git clone https://github.com/yazgoo/umberwm
umberwm
as a
dependency to your own project. See using it as a dependency.Edit src/main.rs
.
Edit umberwm-start
if desired. Here you can launch any programs you need to before launching
umberwm
.
Run cargo build --release
. The binary will be available in target/release/umberwm
.
Optionally, run ./install.py
. This will do three things:
target/release/umberwm
to /usr/bin
.umberwm-start
to /usr/bin
.umberwm.desktop
to /usr/share/xsessions
. This will allow display managers such as
GDM
to find umberwm
and allow you to launch it.If you do not use a display manager, you will need to add the following to your .xinitrc
:
exec umberwm-start
If you don't want to modify the source code, you can create your own rust project and add umberwm
as a cargo
dependency.
Cargo.toml
:
# ...
[dependencies]
umberwm = "0.0.21"
You can then supply your own main.rs
rather than editing the existing one. It is advised that you
use main.rs
from this repository as your starting point.
See examples:
Note that you will have to manually set up umberwm-start
and umberwm.desktop
if you wish to use
them.
Hot reloading allows to restart umberwm
while keeping its state (i.e. keeping track of windows and
their relative workspaces).
This is quite useful when you want to update your configuration.
In wm_actions:
, the action Actions::SerializeAndQuit
will serialize all of its windows and then
quit with exit code 123
.
The umberwm-start
script checks for the exit code 123
and reruns umberwm
, thereby facilitating
a smooth restart.