Comfy is a Wayland compositor written in the Rust programming language and inspired by i3wm, bspwm and XMonad. It's main goal is ease of use, extensibility and a sane codebase.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
- Git (https://git-scm.com/)
- Rust compiler and development tools (install using https://rustup.rs/)
- Make
- wlroots dependencies (https://github.com/swaywm/wlroots):
meson
wayland
wayland-protocols
EGL
GLESv2
libdrm
GBM
libinput
xkbcommon
udev
pixman
systemd (optional, for logind support)
elogind (optional, for logind support on systems without systemd)
libcap (optional, for capability support)
xcb
xcb-composite
xcb-xfixes
xcb-image
xcb-render
x11-xcb
xcb-errors (optional, for improved error reporting)
x11-icccm (optional, for improved Xwayland introspection)
xcb-xkb (optional, for improved keyboard handling on the X11 backend)
commands A step by step series of examples that tell you how to get a development env running
Arch Linux:
...
Ubuntu:
...
Debian:
...
Using Cargo:
# Pull and update the git submodules
git submodule update --init --recursive
# Build the application
cargo build
# If the build was successfull, call the install command
cargo install
A step by step series of examples that tell you how to install Comfywm on your system
# Build the application (this requires caro and make)
make
sudo make install
Run the following command:
cargo test
cargo test <name of the test>
- Rust - System programming language
- wlroots - A modular Wayland compositor library.
- wlroots-rs - Safe Rust bindings for wlroots.
Please read contributing for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning.
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the license file for details
- Hat tip to anyone whose code was used
- Inspiration
- etc