Package: keyhint
KeyHintUtility to display keyboard shortcuts or other hints based on the active window on
Linux. (GTK 4.6+ required!)PrerequisitesPython 3.11+GTK 4.6+ (shipped since Ubuntu 22.04) + dev packages:sudoapt-getinstall\libgirepository1.0-dev\libcairo2-dev\python3-gi\gobject-introspection\libgtk-4-devInstallationpipx install keyhint(recommended, requirespipx)orpip install keyhintUsageConfigure aglobal hotkey(e.g.Ctrl + F1)via your system settingsto
launchkeyhint.If KeyHint is launched via hotkey, it detects the current active application and shows
the appropriate hints.CLI OptionsApplication Options:
  -c, --cheatsheet=SHEET-ID                 Show cheatsheet with this ID on startup
  -d, --default-cheatsheet=SHEET-ID         Cheatsheet to show in case no cheatsheet is found for active application
  -f, --no-fullscreen                       Launch window in normal window state instead of fullscreen mode
  -s, --no-section-sort                     Do not sort sections by size, keep order from config toml file
  -o, --orientation=horizontal|vertical     Orientation and scroll direction. Default: 'vertical'
  -v, --verbose                             Verbose log output for debuggingConfigurationTheconfig directoryis~/.config/keyhint/.Tocustomize existingcheatsheets, copythe corresponding .toml-fileinto the config directory. Make your changes in a text editor. As long as you don't
change theidit will overwrite the defaults.Tocreate newcheatsheets, I suggest you also start withone of the existing .toml-file:Place it in the config directory and give it a good file name.Change the valueidto something unique.Adjustregex_processandregex_titleso it will be selected based on the active
window. (SeeTips)Add theshortcuts&labelto asection.If you think your cheatsheet might be useful for others, please consider opening a
pull request or an issue.You can alwaysreset a configurationto the shipped version by deleting the.tomlfiles from the config folder.You caninclude shortcuts from other cheatsheetsaddinclude = ["<Cheatsheet ID>"]You canhide a cheatsheetby addhidden = truein the top block (same level asidandtitle).TipsCheatsheet selection:The cheatsheet to be displayed on startup are selected by comparing the value ofregex_processwith the wm_class of the active window and the value ofregex_titlewith the title of the active window.The potential cheatsheets are processed alphabetically by filename, the first file
that matches both wm_class and title are getting displayed.Both ofregex_values are interpreted ascase in-sensitive regular expressions.Check "Debug Info" in the application menu to get insights about the active window and
the selected cheatsheet file.Available cheatsheets:Check theincluded toml-filesto see which applications are available by default.Feel free submit additionaltoml-filesfor further applications.Differentiate cheatsheets per website:For showing different browser-cheatsheets 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<cheatsheet>.tomlto look for the URL in the
window title.KeyHint's shortcuts:Ctrl+F: Start filteringCtrl+S: Focus sheet selection dropdown (pressEnterto open it)Esc: Exit KeyHint→,↓,lork: scroll forward←,↑,horj: scroll backwardPageDown: scroll page forwardPageUP: scroll page backwardContributeI'm happy about any contribution! Especially I would appreciate submissions to improve
theshipped cheatsheets.
(The current set are the cheatsheets I personally use).Design PrinciplesDon't run as serviceIt shouldn't consume resources in the background, even if
this leads to slower start-up time.No network connectionEverything should run locally without any network
communication.DependenciesThe fewer dependencies, the better.Multi-MonitorsSupports setups with two or more displaysCertification