dim-screen 0.4.1

Native Wayland screen dimming tool
Documentation
# dim

Native Wayland screen dimming tool

## Usage

> [!NOTE]
> A Wayland compositor implementing the [wlr-layer-shell-unstable-v1]https://wayland.app/protocols/wlr-layer-shell-unstable-v1#compositor-support
> protocol is required, e.g. Niri, Sway, Hyprland, River, Labwc.

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:

```bash
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:

```bash
dim --help
```

## Installing

dim packages are titled as `dim-screen` to avoid naming conflicts.

### Fedora (COPR)

dim is available in Fedora as a [COPR]:

```bash
sudo dnf copr enable marcelohdez/dim
sudo dnf install dim-screen
```

### Arch (AUR)

For Arch, dim is available in the [AUR] (Thanks to [ge-garcia] for
maintaining!). You may use your preferred [AUR helper] like so:

```bash
paru -Syu dim-screen
```

### Others

> [!IMPORTANT]
>
> - Ensure you have [Rust] installed.
> - The system libraries `libxkbcommon` and `libwayland` are required.

dim is available on crates.io:

```bash
cargo install dim-screen
```

### Building Manually

Choose a directory for this repo, then clone and `cd` into it:

```bash
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/`:

```bash
cargo install --path .
```

Or, if you would like to place the binary in your `$PATH` yourself:

```bash
cargo build -r
```

And the resulting binary should be in `./target/release/dim`.

## License

`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.

[AUR]: https://aur.archlinux.org/packages/dim-screen
[ge-garcia]: https://github.com/ge-garcia/
[AUR helper]: https://wiki.archlinux.org/title/AUR_helpers
[COPR]: https://copr.fedorainfracloud.org/coprs/marcelohdez/dim
[installing]: #installing
[swayidle]: https://github.com/swaywm/swayidle
[swaylock]: https://github.com/swaywm/swaylock
[submit an issue]: https://github.com/marcelohdez/dim/issues
[Rust]: https://www.rust-lang.org/
[LICENSE]: LICENSE