I wanted a terminal multiplexer that kept the power of tmux and screen while being easier to use and more pleasant to interact with. I found myself repeatedly dealing with session management, pane navigation, remembering commands and keybindings, and recovering my workspace after crashes or reboots. Many useful features also required plugins or additional tools. TermDock was built from scratch in Go to provide a modern, self contained alternative with persistent sessions, intuitive pane management, fuzzy navigation, session switching, scrollback search, logging, popups, and automatic crash and reboot recovery.
Demo
Terminal previewOverview
Terminal multiplexer with persistent sessions and split panes
π A terminal multiplexer with persistent sessions, split panes, detach, reattach. Written from scratch in Go.
From the maintainer
Start TermDock and create a few panes with different commands running in each one. Split the terminal, move between panes, and then detach from the session. Later, run TermDock again and reattach. All panes, layouts, working directories, and running processes are still there. Once comfortable with the basics, try Ctrl B g for the live pane overview or the fuzzy picker to instantly jump to any pane or window.
TermDock is not a wrapper around tmux or screen. It manages its own PTYs and includes its own VT100 terminal emulator, giving it full control over sessions, panes, rendering, scrollback, and recovery. The main design goal is to make a multiplexer feel discoverable rather than requiring users to memorize a large collection of commands. Fuzzy pickers, live pane overviews, visual feedback, drag and drop pane and window management, searchable scrollback, and built in recovery are all designed around that philosophy. It is still keyboard first and scriptable, but tries to make common operations immediately visible and intuitive.
The focus is on continuing to improve the core terminal experience while keeping TermDock lightweight and self contained. Planned areas include better remote session workflows, more customization, additional scripting capabilities, improved terminal compatibility, and further polish around session recovery and navigation. The long term goal is to keep expanding TermDock without turning it into a complicated framework. A fast, reliable terminal multiplexer that stays out of your way.
Latest Release
Changelog
- c1606d1758a23b278ab73685b9ce0df476d38761 Give link previews a still, since none of them animate a GIF
- 27d025860c9a46e9751607042e57ab71d84c485b remove message from shellinit
Installing
Debian/Ubuntu
curl -LO https://github.com/padovanl/termdock/releases/download/v0.0.8/termdock_0.0.8_linux_amd64.deb
sudo apt install ./termdock_0.0.8_linux_amd64.deb
Fedora/RHEL β sudo dnf install ./termdock_0.0.8_linux_amd64.rpm
Alpine β sudo apk add --allow-untrusted ./termdock_0.0.8_linux_amd64.apk
Anything else β grab the .tar.gz for your platform, or go install github.com/padovanl/termdock@v0.0.8
Then run termdock. Ctrl-B ? lists every keybinding, Ctrl-B C opens
the settings.
Discussions