aboutsummaryrefslogtreecommitdiff

MetaTerm

…is a prompt like user interface enabling running multiple terminal applications at the same time while preserving the sequence of execution. This functionality is controllable in a vim like way in respect of both keybindings and a mode based paradigm.

MetaTerm is implemented in QML and uses QMLTermWidget as its embedded terminal emulator.

Screenshot

MetaTerm in action

Usage

MetaTerm starts in insert mode which means that one can simply start typing a command and trigger it's execution by pressing enter.

The list of running and killed terminal instances is navigable using vim-like keybindings, i.e. using j and k. Additionally one can jump to the top using g and to the bottom using G. Navigation is also accessible in command mode via :next, :prev and :jump <INDEX>.

Insert mode may be entered manually using i and exited using Shift+ESC. The currently selected terminal instance is killable via d. Command mode is entered whenever one presses : in normal mode.

A list of all running processes and their respective index is exposed via :ls.

Settings may be explored and changed using :set in command mode, e.g. the window background is changeable via :set window background <COLOR>.

Furthermore MetaTerm's command mode exposes a JavaScript prompt through :exec <COMMAND>.

Building

If all requirements are satisfied MetaTerm may be built using a simple chain of qmake and make. Alternatively one can also open the provided project file in QtCreator.

Requirements