/tydra

Shortcut menu-based task runner, inspired by Emacs Hydra

Primary LanguageRustMIT LicenseMIT

tydra

Terminal Hydra

Build Status codecov

Tydra is a menu-based shortcut runner based on the great Hydra system for Emacs by Oleh Krehel.

It works by reading an "action file" that defines the full menu. Each menu has several pages, where one page at a time can be shown. Each page has one or more entries, each of which has a shortcut key, a command, and a label.

With these building blocks you can build deeply nested menus with a diverse range of commands, all behind a very simple shortcut system.

Contrast having to remember long commands (in terminal), or long complicated shortcuts (in GUI), with a single command/shortcut and then having a menu overlaid with each entry a single keystroke away.

Tydra makes it easier to add new things to your setup without having to come up with a globally unique shortcut, while still being possible to remember it even when it is not used often.

Some possible use-cases:

  • Control your media player.
  • Change your screen brightness and volume without RSI.
  • Bookmark programs with specific arguments, or websites.
  • Keep track of commonly used "recipes" and scripts.

Usage

See doc/tydra.1.md for more information.

Note: If you install through the AUR, then this documentation is also availabe as man pages tydra(1) and tydra-actions(5).

Installing

Packaging status

This package is available through Arch Linux's AUR repository as tydra. You may also compile it from source by downloading the source code and install it using cargo (Rust's build system and package manager):

cargo install

Completions

This command comes with support for shell autocompletions for bash, zsh, and fish.

Note: If you install through the AUR, then these completions are already installed for you automatically.

You can generate and install these completions globally:

tydra --generate-completions zsh > _tydra
tydra --generate-completions bash > tydra.bash
tydra --generate-completions fish > tydra.fish

sudo install -Dm644 _tydra \
  /usr/share/zsh/site-functions/_tydra

sudo install -Dm644 tydra.bash \
  /usr/share/bash-completion/completions/tydra

sudo install -Dm644 tydra.fish \
  /usr/share/fish/completions/tydra.fish

If you have a local source for completions, redirect the output of the --generate-completions command to the appropriate location.

Copyright

Copyright 2018 Magnus Bergmark magnus.bergmark@gmail.com

Code is released under MIT license, see LICENSE.