A Hyprland IPC extension written in Rust to remove window decorations when only one window is visible
There is currently no release cycle, so using this outside of Nix isn't ideal.
This is currently broken due to:
- https://github.com/hyprwm/Hyprland/commit/10caa03ce5bc2ce8238c494d59405213d32ddead (hyprwm/Hyprland#5691)
- https://github.com/hyprwm/Hyprland/commit/a5a648091760ac002120fab18247e5292b6482de
I won't be fixing this in the future, due to the simple fact that this whole program can be replaced by 2 workspace rules:
workspace=w[v1] s[false], gapsin:0, gapsout:0, border:false, shadow:false, rounding:false, decorate:false
workspace=f[1], gapsin:0, gapsout:0, border:false, shadow:false, rounding:false, decorate:false
- Add the flake as an input, eg.:
no_decorations_when_only = {
url = "github:diniamo/no_decorations_when_only";
inputs.nixpkgs.follows = "nixpkgs";
};
- If you use home-manager, you can add the executable directly to exec-once, eg.:
wayland.windowManager.hyprland.settings.exec-once = {
(lib.getExe inputs.no_decorations_when_only.packages."x86_64-linux".default)
};
Otherwise you will have to install the package, and run it with exec-once
, eg.:
environment.systemPackages = [
inputs.no_decorations_when_only.packages."x86_64-linux".default
]
- Clone the repository with
git clone https://github.com/diniamo/no_decorations_when_only.git
- Run
cargo build --release
in the project root - Run the binary (found at
target/release/no_decorations_when_only
) withexec-once
- The program will break when the Hyprland configuration is reloaded, since the event for that hasn't been added to Hyprland-rs. You can fix this by either restarting the program, or updating (going to the other state and back) your workspaces.
- There is a crash that happens sometimes, but I have no idea how to reproduce it.