https://github.com/imchocomint/xwkh
A keybindings helper. Powered by AI.
https://github.com/imchocomint/xwkh
hyprland i3wm keybindings linux sway vibe-coding wayland wayland-compositor windows-manager
Last synced: 22 days ago
JSON representation
A keybindings helper. Powered by AI.
- Host: GitHub
- URL: https://github.com/imchocomint/xwkh
- Owner: imchocomint
- License: gpl-3.0
- Created: 2025-04-03T12:46:10.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-08-05T04:30:40.000Z (3 months ago)
- Last Synced: 2025-08-05T06:22:11.046Z (3 months ago)
- Topics: hyprland, i3wm, keybindings, linux, sway, vibe-coding, wayland, wayland-compositor, windows-manager
- Language: Python
- Homepage:
- Size: 41 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xwkh (x-wayland keybindings helper)
A keybindings helper.
## Based on [this script](https://github.com/JaKooLit/Hyprland-Dots/blob/main/config/hypr/scripts/KeyHints.sh) by [JaKooLit](https://github.com/JaKooLit). Converted to Python using GPT O4 mini (Merlin). Fixes by me.
# Feature
- small package
- uses JSON to configure keybinds to display
- easy to configure the application
# Use
Download and run the binary. Press `esc` to quit.
You must put the .json files and the .ini file in `$HOME/.config/xwkh.` Otherwise it will be in the `config` folder in the same directory. Config and keyfiles will be loaded in `.config` first, then in the app directory.
# Launch options
## Attention: please list all the keybindings file (.json) on the config file before launching.
Run `xwkh -0` for the first config file of the list, then -1 for the second and so on. It will use config number 0 as default, unless configured.
# Configure
The config file is straightfoward. You can modify the background color, font color, opacity and font (it's so straightfoward lol).
`json_files =` will list a list of keybindings files, separated by a comma. Put all of them in the same folder as the executable.
`default_json_file = ` will configure which file to use when there is no launch option. File number starts with 0.
# To-be-added
- [x] transparency ([gemini is fucking dumb](https://www.tutorialspoint.com/pyqt/pyqt_opacity_effect.htm))
- [x] loading config files from `$HOME/.config/`
- [ ] loading config file from the Internet
- [x] separating the two columns (now with invisible barrier; might be a real column separator itf)
# Credits/Thanks
- [JaKooLit](https://github.com/JaKooLit) for his bash script
- OpenAI and Google for the model
- Merlin and Google for the service
- me for testing and fixing bugs (yes, there are)