Skip to content

meowrch/HotKeyHub

Repository files navigation

app preview

⌨️ HotkeyHub

Your keybinds in one window

Essential for newcomers in a new environment


Issues Stars License

README RU README ENG

🚀 Quick Start - ✨ Features - 🔧 Supported Formats - 📚 FAQ


🎯 What is HotkeyHub?

HotkeyHub is an application that displays your keybindings. It can help newcomers get comfortable with new dotfiles.
Just add the super + / keybinding to your WM and a convenient Cheat Sheet will always be at hand!

✨ Key Features

📋 Multiple Configuration Support

HotkeyHub automatically detects WM and parses keybindings:

  • Hyprland (~/.config/hypr/hyprland.conf)
  • SXHKD (~/.config/sxhkd/sxhkdrc or ~/.config/bspwm/sxhkdrc)

Each configuration is displayed in a separate tab!

🔍 Smart Search

  • Search by modifiers (Super, Ctrl, Alt)
  • Search by keys (Return, Space)
  • Search by commands (kitty, firefox, rofi)
  • Real-time search

🚀 Quick Start

Installation

Arch Linux (AUR)

# Coming soon to AUR
yay -S hotkeyhub-bin

Build from Source

# 1. Install dependencies
sudo pacman -S rust gtk4 base-devel

# 2. Clone the repository
git clone https://github.com/meowrch/HotkeyHub.git
cd HotkeyHub

# 3. Build
cargo build --release

# 4. Install
sudo cp target/release/hotkeyhub /usr/bin/

First Launch

# Run the application
hotkeyhub

# Or run for a specific config
hotkeyhub --hyprland ~/.config/hypr/hyprland.conf
hotkeyhub --sxhkd ~/.config/sxhkd/sxhkdrc

Add to Your WM

Hyprland (~/.config/hypr/hyprland.conf):

bind = $mainMod, SLASH, exec, hotkeyhub  # Super + /

BSPWM (~/.config/sxhkd/sxhkdrc):

super + slash
    hotkeyhub

⌨️ Keyboard Shortcuts

Keys Action
Ctrl + F Focus search field
Alt + 1-9 Switch between tabs
PgUp / PgDn Scroll list
Q Quit application

Tip

On startup, the cursor is automatically in the search field — start typing right away!

🎨 Theme Customization

HotkeyHub supports custom themes via ~/.config/HotkeyHub/theme.conf:

# Theme colors (HEX format)
background = #1e1e2e
background_alt = #313244
accent = #89b4fa
text = #cdd6f4
border = #45475a

Note

The theme updates automatically when the file changes — no restart needed!

🔧 Supported Formats

Hyprland

# Simple binds
bind = $mainMod, Return, exec, kitty

# With modifiers
bind = $mainMod+Shift, Q, killactive

# Special keys
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+

# Code keys
bind = $mainMod, code:60, exec, rofimoji  # code:60 = period

# Mouse
bindm = $mainMod, mouse:272, movewindow   # LMB
bindm = $mainMod, mouse:273, resizewindow # RMB

SXHKD

# Simple binds
super + Return
    kitty

# Multiple variants
super + {_,shift + }{Left,Right,Up,Down}
    bspc node -{f,s} {west,east,north,south}

# XF86 keys
XF86Audio{RaiseVolume,LowerVolume,Mute}
    wpctl set-volume @DEFAULT_AUDIO_SINK@ {5%+,5%-,toggle}

📚 FAQ

Why aren't some binds displayed?

Make sure the syntax in your config is correct. HotkeyHub skips lines with parsing errors.

Can support for i3/Sway be added?

Yes! Open a Feature Request — we'll add support.

How do I change the font?

Edit the CSS in the code or create an issue requesting font settings to be added to theme.conf.

Does it work on Wayland?

Yes, HotkeyHub uses GTK4, which is fully compatible with Wayland.

Tip

Not working?
Open an issue with a description of the problem.

🤝 Contributing

Want to improve HotkeyHub? We'd love your contribution!

  1. Fork the repository
  2. Create a branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🗺️ Roadmap

  • i3/Sway support
  • Niri support
  • Export binds to PDF/PNG
  • Awesome WM support

☕ Support the Project

Like HotkeyHub? Help the project grow! 🚀

💎 Cryptocurrency 📬 Address
TON UQB9qNTcAazAbFoeobeDPMML9MG73DUCAFTpVanQnLk3BHg3
Ethereum 0x56e8bf8Ec07b6F2d6aEdA7Bd8814DB5A72164b13
Bitcoin bc1qt5urnw7esunf0v7e9az0jhatxrdd0smem98gdn
Tron TBTZ5RRMfGQQ8Vpf8i5N8DZhNxSum2rzAs

Every donation motivates us to continue development! ❤️


Made with ❤️ for the Linux community