Native Wayland screen dimming tool
Note
A Wayland compositor supporting the single pixel buffer protocol is required e.g. Sway 1.8+, river, Hyprland.
After installing, you may run dim
before you would run your locker, when
you want the screen to dim for a period, e.g. in your swayidle config/command:
timeout 270 'dim && swaylock'
Would make it so that at 270 seconds, dim
is run waiting for user input
for the default of 30
seconds, then if no input is detected the next
command will proceed, in this case swaylock will lock your screen.
dim
should only finish successfully when no input is detected for the
duration. If dim
finishes successfully before this duration, please submit
an issue.
The alpha and duration of dim
may be configured with either a config file
located at ~/.config/dim/config.toml
, or through arguments at call-time, for
all options and their defaults please see:
dim --help
dim packages are titled as dim-screen
to avoid naming conflicts.
dim is available in Fedora as a COPR:
sudo dnf copr enable marcelohdez/dim
sudo dnf install dim-screen
For Arch, dim is available in the AUR (Thanks to ge-garcia for maintaining!). You may use your preferred AUR helper like so:
paru -Syu dim-screen
Important
- Ensure you have Rust installed.
- The system libraries
libxkbcommon
andlibwayland
are required.
dim is available on crates.io:
cargo install dim-screen
Choose a directory for this repo, then clone and cd
into it:
git clone https://github.com/marcelohdez/dim
cd dim
Lastly, cargo
can build and install dim
for you, placing the binary in
$HOME/.cargo/bin/
:
cargo install --path .
Or, if you would like to place the binary in your $PATH
yourself:
cargo build -r
And the resulting binary should be in ./target/release/dim
.
dim
is licensed under the GPLv3 license, a free and open source license. For
more information, please refer to the LICENSE file in the repository root.