This update brings a preliminary implementation of the Rust API!
You can now configure Pinnacle using Rust. To get started, follow the steps in the README.
Important
Please note that Pinnacle is still under heavy development. There will be breaking changes and even complete rewrites of the APIs, so if you want to run a custom config, make sure to specify the git commit.
Alternatively, you can just use the included configs, which will be updated in tandem with Pinnacle.
- Add preliminary Rust API
There are now API options for xkeyboard and libinput settings.
- Add xkbconfig to API
- Add libinput config options to API
- Update keyboard LEDs
This update brings breaking changes to the metaconfig.toml file.
If you have an old one, you will need to:
- Change
commandto be an array of arguments instead of one string, and - Change all references to
$PINNACLE_DIR/apito$PINNACLE_LIB_DIR.
Additionally, the default config will now automatically load if your's crashes or can't be found.
- Change
commandinmetaconfig.tomlto take in an array of strings instead of a single string- Fixes a problem due to me splitting the command by spaces
- Change
$PINNACLE_DIR/apito be$PINNACLE_LIB_DIRinstead - Load default config if current one crashes or can't be found
- Pinnacle now copies the Lua library to
$XDG_DATA_HOME/pinnacle(or~/.local/share/pinnacle)
This update brings mousebinds to the config API. You can now do things on button press and release.
- Add mousebinds to API
- Add env setting to API
- Correct scroll direction on Winit
This update adds an initial window rules implementation! There are only a few conditions and rules to start, but this is expected to grow over time as I add more.
- Add window rules
This update brings breaking changes to configuration.
You'll now need a metaconfig.toml file to tell Pinnacle to run a Lua config.
You can copy the provided metaconfig.toml file to ~/.config/pinnacle
or wherever you have your config files.
To continue using the provided Lua config, you now need to run
PINNACLE_CONFIG_DIR="./api/lua" cargo runinstead of using PINNACLE_CONFIG.
This update also brings config reloading! You can now update your config and reload on the fly without having to restart the compositor. If your config crashes, you can also reload to restart it.
- Add
metaconfig.tomlfile - Add config reloading
- Add fullscreen and maximized window support
- There is slight flickering then changing a window to and from floating
- Xwayland fullscreen requests are currently
really buggybasically unusable- Fullscreen window sizing won't update unless the tag is changed
- Some windows may disappear when toggling off fullscreen
- Add wlr-layer-shell support
- Add XWayland support