Skip to content

FelixSchladt/OxideWM

Repository files navigation

OxideWM

workflow Rust-Tests

Plot

What is Oxide?

OxideWM is a X11 dynamic tiling window manager written in Rust. This project idea is inspired by the DWM, leftWM and i3WM. Oxide supports a dynamic config, IPC and multiple tiling modes. Take a look at our readthedocs to see the full documentation.

Prerequisits

Rust needs to be installed. After it has been installed, restart the terminal session, so that any new environment variables are loaded.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Build tools need to be install:

sudo apt install git make build-essential libglib2.0-dev libcairo2-dev libpango1.0-dev kitty xterm

Installation

  1. Clone the Oxide git repository:
git clone https://github.com/DHBW-FN/OxideWM.git
  1. Install Oxide via make:
cd OxideWM
make install

Sudo privileges are required to install Oxide. After installation you can quit your current X session and log out. Subsequently Oxide should be selectable as window manager in your login screen.

Run Oxide locally (Debug)

To run oxide locally, Xephyr is used to emulate a seperate X-server.

make run

Documentation

Logging

To change log level, set environment variable OXIDE_LOG=[error, info, debug, trace] changes affect only after restart... . Logs will always be written to /var/log/syslog. When project is built without --release flag, the logs are additionally written to stdout and to log/*.log.

Credits

Special thanks to Sascha Kegreiß for the continuous support and great lecture.