| Crates.io | hypr-showkey |
| lib.rs | hypr-showkey |
| version | 0.1.0 |
| created_at | 2025-08-11 12:34:42.711873+00 |
| updated_at | 2025-08-11 12:34:42.711873+00 |
| description | A TUI application to display and search Hyprland keybindings |
| homepage | |
| repository | https://github.com/cubismod/hypr-showkey |
| max_upload_size | |
| id | 1790108 |
| size | 1,047,820 |
A fast, configurable TUI application for displaying and searching Hyprland keybindings with fuzzy search functionality.

Fuzzy Search - Quickly find keybindings by typing partial matches
Responsive Columns - Automatically adapts to terminal width (50+ chars per column)
Catppuccin Themes - Beautiful color themes with full customization
Configurable - Parse any Hyprland config files you specify
Categorization - Automatically categorize keybindings by function
Smart Filtering - Unbound keybindings are automatically filtered out
Fast - Built in Rust for speed and reliability
Easy Navigation - Vim-like keybindings for smooth navigation
git clone <repository-url>
cd hypr-showkey
task setup
task install # Install to ~/.local/bin
# OR
task install-global # Install globally with cargo
git clone <repository-url>
cd hypr-showkey
cargo build --release
cp target/release/hypr-showkey ~/.local/bin/
Create a configuration file at ~/.config/hypr-showkey/showkey.yaml:
# Hyprland configuration files to parse
hyprland_configs:
files:
- "conf/keybindings/default.conf"
- "conf/keybindings/custom.conf"
# Add your Hyprland config files here
# Optional: Categorize keybindings
categories:
applications:
name: "Applications"
description: "Launch applications and tools"
keywords: ["terminal", "browser", "filemanager"]
# UI settings
ui:
show_descriptions: true
search_threshold: 0.6
max_results: 50
# Theme (Catppuccin Mocha by default)
theme:
name: "catppuccin_mocha"
colors:
key_color: "#89b4fa" # Blue
action_color: "#cdd6f4" # Text
category_color: "#a6e3a1" # Green
# ... more colors
# Use default config location (~/.config/showkey.yaml)
hypr-showkey
# Use custom config file
hypr-showkey --config /path/to/config.yaml
# With Task runner
task dev # Run in development mode
task dev-config -- custom.yaml # Run with custom config
This project uses Task for automation. Common commands:
task # Show all available tasks
task dev # Run in development mode
task build-release # Build optimized binary
task check # Check code without building
task test # Run tests
task lint # Run clippy linter
task fmt # Format code
task qa # Run all quality checks
task install # Install to ~/.local/bin
task setup-config # Copy example config
↑/k (up), ↓/j (down)? or F1 to toggle helpq or EscBackspaceunbind or empty actions) are hiddenHypr-showkey comes with built-in Catppuccin themes:
catppuccin_mocha (default, dark)catppuccin_latte (light)catppuccin_macchiato (dark)catppuccin_frappe (dark)ui:
theme: "catppuccin_latte" # Use the light theme
# Or use short names: "mocha", "latte", "macchiato", "frappe"
You can override specific colors while keeping a base theme:
ui:
theme:
name: "catppuccin_mocha"
colors:
key_color: "#ff0000" # Custom red for keys
border_color: "#00ff00" # Custom green for borders
The app supports both relative paths (relative to ~/.config/hypr/) and absolute paths for Hyprland configuration files:
hyprland_configs:
files:
- "conf/keybindings/default.conf" # Relative to ~/.config/hypr/
- "/absolute/path/to/config.conf" # Absolute path
Licensed under the Apache License, Version 2.0