10 stable releases
Uses new Rust 2024
| 1.9.0 | Jul 26, 2025 |
|---|---|
| 1.7.0 | Jan 27, 2025 |
| 1.6.0 | Oct 25, 2024 |
| 1.3.0 | Jul 7, 2024 |
| 0.1.0 | May 2, 2022 |
#841 in GUI
655 downloads per month
Used in 2 crates
360KB
8K
SLoC
This crate allows you to configure the Jay compositor.
A minimal example configuration looks as follows:
use jay_config::{config, quit, reload};
use jay_config::input::get_default_seat;
use jay_config::keyboard::mods::ALT;
use jay_config::keyboard::syms::{SYM_q, SYM_r};
fn configure() {
let seat = get_default_seat();
// Create a key binding to exit the compositor.
seat.bind(ALT | SYM_q, || quit());
// Reload the configuration.
seat.bind(ALT | SYM_r, || reload());
}
config!(configure);
You should configure your crate to be compiled as a shared library:
[lib]
crate-type = ["cdylib"]
After compiling it, copy the shared library to $HOME/.config/jay/config.so and restart
the compositor. It should then use your configuration file.
Note that you do not have to restart the compositor every time you want to reload your
configuration afterwards. Instead, simply invoke the reload function via a shortcut.
Jay
Jay is a Wayland compositor.

Features
See features.md.
Configuration
See config.md.
Building and Setup
See setup.md.
License
Jay is free software licensed under the GNU General Public License v3.0.
Community
Dependencies
~8–11MB
~209K SLoC