Cheat-sheets for shortcuts & commands at your fingertips.

# KeyHint

Display keyboard shortcuts or other hints based on the the active window. (GTK, Linux only!)

## Dependencies

Make sure to install the following dependencies:

sudo apt install pkg-config python3-dev libcairo2-dev libgirepository1.0-dev


## Usage

• Install from PyPi with pip install keyhint and run keyhint.
• Or download the Binary from releases, make it executable and run it.
• Configure a global hotkey (e.g. F1) to start KeyHint on demand.

KeyHint with KeyBindings for VS Code:

## CLI Options

Application Options:
-h, --hint=HINT-ID                      Show hints by specified ID
-d, --default-hint=HINT-ID              Hint to show in case no hints for active application were found
-a, --accent-color=css color string     Accent color, used e.g. for section titles
-v, --verbose                           Verbose log output for debugging
--display=DISPLAY                       X display to use


## Configuration

• The config directory is ~/.config/keyhint/.
• To customize existing hints, copy the corresponding .yaml-file into the config directory. Make your changes in a text editor. As long as you don't change the id it will overwrite the defaults.
• To create new hints, I suggest you also start with one of the existing .yaml-file:
• Place it in the config directory and give it a good file name.
• Change the value id to something unique.
• Adjust regex_process and regex_title so it will be selected based on the active window. (See Tips)
• Add the hints to be displayed.
• If you think the hints might be useful for others, please consider opening a pull request or an issue.
• You can always reset a configuration to the shipped version by deleting the .yaml files from the config folder.

## Tips

Hints selection:

• The hints to be displayed on startup are selected by comparing the value of regex_process with the wm_class of the active window and the value of regex_title with the title of the active window.
• The potential hints are processed alphabetically by filename, the first file that matches both wm_class and title are gettin displayed.
• Both of regex_ values are interpreted as case insensitive regular expressions.
• Check "Debug Info" in the application menu to get insights about the active window and the selected hints file.

Available hints:

• Check the included yaml-files to see wich applications are available by default.
• Feel free submit additional yaml-files for further applications.

Differentiate hints per website:

• For showing different browser-hints depending on the current website, you might want to use a browser extension like "Add URL To Window Title" and then configure the sections in hints.yaml to look for the URL in the window title.

## Contribute

I'm happy about any contribution! Especially I would appreciate submissions to improve the shipped hints. (The current set are the hints I personally use).

## Design Principles

• Don't run as service
It shouldn't consume resources in the background, even if this leads to slower start-up time.
• No network connection
Everything should run locally without any network communication.
• Dependencies
The fewer dependencies, the better.
• Multi-Monitors
Supports setups with two or more displays

## Project details

### Source Distribution

keyhint-0.2.4.tar.gz (647.1 kB view hashes)

Uploaded source

### Built Distribution

keyhint-0.2.4-py3-none-any.whl (646.8 kB view hashes)

Uploaded py3