/Hyprkeys

A simple, scriptable keybind retrieval utility for Hyprland [maintainer=@NotAShelf]

Primary LanguageGoMIT LicenseMIT

Hyprkeys

A simple, and relatively fast application that returns your Hyprland keys.

No, not just keybinds. We now return config sections as well

⚠️ Hyprkeys is currently in early development and is not ready for use. Not like it can break anything, but you will have wasted your time.

In case you still want to use it, instructions are below:

(Looking for testers and contributors, Go is not a language I often work with.)

Installation & Usage

From source

  1. Download Go. You can find it here
  2. Clone this repository with git clone https://github.com/hyprland-community/hyprkeys
  3. Install the application with make build then sudo make install
  4. You can run the application with hyprkeys

Using nix

nix run github:hyprland-community/Hyprkeys

Project Roadmap

  • Format keybinds better, maybe with a proper table
    • Remove the + in the keybinds that don't have modifiers
    • Add an extra column to mouse keybinds to match table titles
  • Optionally (--variables) parse variables and replace them with their actual value
  • Account for bind flags, that may be passed in any random order
    • Figure out a regex to match the flags
      • Figure out why the regex doesn't work
  • Account for line comments in rows
  • Break code into multiple files
    • move command line parsing to a separate file
  • Command line options
    • Sort output by dispatcher
    • Account for multiple arguments being passed at once
  • Somehow account for keybinds can be set dynamically? (I don't know how to do this)
    • Add instructions for a pipe to hyprkeys to get the keybinds from
  • Convert i3/sway keybinds to Hyprland keybinds with --convert
    • Possibly more wayland compositors, sway is enough for now.
  • Get more than just keybinds, try and get all config options seperated by section
    • Config sections
    • Autostarted applications
    • Keywords from inside hyprland.conf
  • Packaging for various Linux distros
    • Nix (WIP)
      • Flake
      • Legacy nixpkgs package
    • Arch (looking for maintainers)
    • Fedora (looking for maintainers)
example.1.mp4

Rofi script using hyprctl:

OrCEzxZ - Imgur

Example Outputs (as of 11 JAN 2023)

MARKDOWN

JSON

RAW

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contributing

If you want to contribute, feel free to open a pull request. I'll try to review it as soon as possible.