MCPcopy Index your code
hub / github.com/donovanglover/hyprdim

github.com/donovanglover/hyprdim @3.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0.1 ↗ · + Follow
30 symbols 52 edges 28 files 9 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

hyprdim

hyprdim is a daemon that automatically dims windows in Hyprland when switching between them.

Features

  • Easily see which window has focus, even with subtle or no borders.
  • Windows only dim when switching windows, eliminating the need to toggle dim on/off when you want to see other windows.
  • Prevent windows from being dimmed if there are no other visible windows in a workspace.
  • Prevent windows from being dimmed when toggling special workspaces.
  • Dim background windows when dialog windows open.

Installation

hyprdim has official support for NixOS, Arch Linux (AUR), and Fedora (Copr).

Packaging status

NixOS (Recommended)

Add hyprdim to your systemPackages and rebuild.

{ pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    hyprdim
  ];
}

Alternatively, use nix run nixpkgs#hyprdim to start hyprdim without installing it.

Arch Linux (AUR)

Use an AUR helper like yay to install hyprdim.

yay hyprdim

Fedora (Copr)

hyprdim is available in the solopasha/hyprland Copr repository.

sudo dnf copr enable solopasha/hyprland && sudo dnf install hyprdim

Other distributions

Follow the install guide for Rust. Then, use cargo to install hyprdim.

cargo install --git https://github.com/donovanglover/hyprdim --tag 3.0.1

Make sure $HOME/.cargo/bin is in your $PATH if it isn't already.

Usage

Usage: hyprdim [OPTIONS]

Options:
  -s, --strength <STRENGTH>      A value from 0 (no dim) to 1 (maximum dim) [default: 0.4]
  -d, --duration <DURATION>      How many milliseconds to wait before removing dim [default: 800]
  -f, --fade <FADE>              Fade animation speed from 0 (instantaneous) to 255 (very slow) [default: 7]
  -b, --bezier <BEZIER>          Bezier curve used for the animation [default: default]
  -D, --dialog-dim <DIALOG_DIM>  Strength of dim for windows that are the same class and floating [default: 0.7]
  -v, --verbose                  Show information about what hyprdim is doing
  -h, --help                     Print help (see more with '--help')
  -V, --version                  Print version

Contributing

Use cargo clippy, cargo fmt, and cargo test to check your work.

Thanks

Core symbols most depended-on inside this repo

log
called by 6
src/utils/log.rs
set_dim
called by 4
src/mutations/set_dim.rs
maybe_dim
called by 2
src/handlers/maybe_dim.rs
clap
called by 2
src/ui/clap.rs
generate_man_pages
called by 1
build.rs
generate_shell_completions
called by 1
build.rs
is_single
called by 1
src/queries/is_single.rs
get_parent
called by 1
src/queries/get_parent.rs

Shape

Function 21
Class 6
Method 3

Languages

Rust100%

Modules by API surface

tests/release.rs6 symbols
src/state/initial_state.rs3 symbols
build.rs3 symbols
src/state/global_state.rs2 symbols
src/handlers/spawn_dim_thread.rs2 symbols
src/utils/log.rs1 symbols
src/ui/single_instance.rs1 symbols
src/ui/ctrlc.rs1 symbols
src/ui/clap.rs1 symbols
src/queries/is_single.rs1 symbols
src/queries/is_floating.rs1 symbols
src/queries/get_parent.rs1 symbols

For agents

$ claude mcp add hyprdim \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact