Home

Awesome

nomad-term

A terminal multiplexer based on xmonad

nomad-term is a terminal multiplexer that provides a similar interface to the tiling window manager, xmonad. It uses node-pty to fork each child process within a virtual pseudoterminal, maintaining an in-memory visual representation of program output. These "sub-terminals" are arranged as a grid and can be controlled with keyboard controls, with a very similar UX to xmonad.

Installation

Disclaimer - Please use at your own risk:

Make sure Node.js is installed, e.g. via nvm.

Clone git repo into nomad-term directory

$ git clone git@github.com:lukebarnard1/nomad-term.git

Install dependencies

$ cd nomad-term
$ npm install

Install into /usr/local/bin/

$ ln -s $(pwd)/index.js /usr/local/bin/nomad

Usage

$ nomad

Keyboard controls

shift-tabtoggle between input/movement

Modes

input: send all key strokes to the selected terminal

move: use key strokes to control nomad

Movement controls

key combinationaction
shift-tabtoggle between input and movement modes
backspacecreate a new terminal
shift-cclose selected terminal
jselect next terminal
kselect previous terminal
hdecrease main terminal size
lincrease main terminal size
,increase number of primary terminals
.decrease number of secondary terminals
␣ (space)select next layout: normal / full
shift-jswap current terminal with next terminal
shift-kswap current terminal with previous terminal
[0-9]select workspace n
shift-[0-9]move selected terminal to workspace n