Skip to content
/ HyprBind Public

Hyprland Keybind Viewer - A simple viewer for hyprland shortcuts / keybinds

License

MIT, OFL-1.1 licenses found

Licenses found

MIT
LICENSE-MIT
OFL-1.1
LICENSE-OFL
Notifications You must be signed in to change notification settings

ry2x/HyprBind

Repository files navigation

HyprBind – Hyprland Keybind Viewer

HyprBind hero

A fast, minimal GUI to view Hyprland keybinds parsed from hyprctl binds. Built with Rust + eframe/egui.

Screenshot

App screenshot

Requirements

  • Linux + Hyprland running
  • hyprctl available in PATH
  • Rust toolchain: cargo (to build from source)

Install / Build

# Clone
git clone https://github.com/ry2x/HyprBind.git
cd HyprBind

# Build & run (debug)
cargo run

# Build release
cargo build --release

# for arch linux, this project has PKGBUILD
makepkg -si
  • For Arch Linux users, you can also download prebuilt package from releases page.
# After downloading from releases
sudo pacman -U hyprbind-<tag>-x86_64.pkg.tar.zst

Usage

  • Start the app. It will run hyprctl binds, parse the output, and show the table.
  • Press / to focus the search bar; typing filters in real time.
  • Click column headers to sort (asc/desc/none).
  • Drag column borders to resize.
  • Open Options (gear icon):
    • Switch theme (Dark/Light)

    • Choose visible columns and search targets

    • Enable ZEN mode; a modal appears once. Press Z to exit (info modal: Enter to close)

    • Press ESC to close Options

      👉 What Zen Mode Looks Like

      Zen Mode screenshot

Add descriptions to your keybinds

Note

The documentation for hyprland config is here

Descriptions are taken from bindd entries. Example in your Hyprland config:

bindd = SUPER, Return, Terminal, exec, kitty # description is "Terminal"
bindd = SUPER+SHIFT, Q, Kill active window, killactive # description is "Kill active window"

Plain bind also works but description will be empty:

bind = SUPER, F, exec, thunar  # description is empty

Notes

  • In dev builds, you might see a transient "Unaligned" overlay while resizing columns. This is an egui debug hint and does not appear in release builds.
  • For very long keybinds/commands, overflowing text is clipped by the column; hover to see the full command.

JSON output

  • Print keybinds as JSON and exit:

    cargo run -- --json
    • or after installing:
    hyprbind --json

dmenu output

  • Print keybinds in dmenu-compatible format and exit:

    cargo run -- --dmenu
    • or after installing:
    hyprbind --dmenu
    • Usage with dmenu:
    hyprbind --dmenu | dmenu -l 20

Config

  • Config file: $XDG_CONFIG_HOME/hyprbind/config.json (fallback: ~/.config/hyprbind/config.json)
  • Preferences are saved automatically on change and loaded on startup

Styling(CSS)

  • Dark and Light themes available

  • Custom CSS support (CSS theme will override built-in themes)

    • CSS path: $XDG_CONFIG_HOME/hyprbind/hyprbind-theme.css (fallback: ~/.config/hyprbind/hyprbind-theme.css)
    • Generate default CSS:
    # default
    hyprbind --write-default-css
    
    # force overwrite
    hyprbind --force-write-default-css

Note

@import is NOT supported in hyprbind's css.

Contributions

Contributions are welcome! Feel free to open issues or PRs on GitHub

Tech

  • eframe/egui + egui_extras (TableBuilder)
  • image (embedded logo)
  • nerd_font (embedded Nerd Font data)

License

SourceCode: MIT

Font: SIL OFL 1.1

About

Hyprland Keybind Viewer - A simple viewer for hyprland shortcuts / keybinds

Topics

Resources

License

MIT, OFL-1.1 licenses found

Licenses found

MIT
LICENSE-MIT
OFL-1.1
LICENSE-OFL

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •