twinner helps with integrating various commands, terminal applications such as btop or Neovim, or any handy scripts you might write for yourself into your worfkflow.
Whether you are Linux admin, developer or power user, twinner aims to provide you with ways to streamline your workflow which entails running myriad of scripts, commands as well as TUI applications, while avoiding the distraction of having to “babysit” terminal windows as well as commands running into them.
It can also act as a catalyst for embracing existing applications where their TUI form—and thus reliance on details of terminal—might have been a barrier so far.
twinner is best utilized for repeated command-launching tasks, perhaps linked to hotkeys or GUI based command launchers.
Few examples to get you started:
-
The classic “hello world”:
twinner -p -c 'echo "Hello, world!'To set another emulator as default:
export TWINNER_EMULATOR=alacritty twinner -p -c 'echo "Hello, world!'Note that simply adding the environment variable to
.profile
won’t affect your running desktop; you will need to use another
method or wait until file-based configuration is implemented. -
Run flatpak update in terminal emulator:
twinner flatpak update -
Run top but with a title that is GOAT:
twinner -t GOAT top -
Run top in alacritty (which already is GOAT):
twinner -e alacritty top -
Start Neovim in your project directory:
twinner -C my/proj nvim -
Show weather from
wttr.inand waits 10 seconds:twinner -p -L 10 curl wttr.in -
Have ls try to list a non-existent dir (examle of a failing command):
twinner -c 'ls /nonexistent/dir'This should pause automatically, unless the directory acually exists, which would be ridiculous.