This is a TUI to manage tmux sessions.
🚧 It's currently under heavy construction and might break unexpectetly. 🚧
$ git clone [email protected]:stoeffel/tmux-tui.git
$ cabal installI recommend setting up a keybinding to get to the TUI from anywhere.
bind -n C-h new-window -n tmux-tui -c "#{pane_current_path}" "tmux-tui"
And, if you want to switch to any open window if there is already a tmux-tui instance running use this.
bind -n C-h run-shell "tmux switch-client -t :tmux-tui || tmux new-window -k -n tmux-tui -c '#{pane_current_path}' 'tmux-tui'"
tmux-tui will startup tmux if you are running the command from outside tmux.
It creates a session that will be destroyed after you start or create a session.
There are 4 panels.
Stored: Contains stored session. Stores:
- layout
- windows and panes
- current path and command (might not work yet in non OSX OS) of panes. Sessions: Active sessions Windows: Windows in session or stored session. Panes: Panes dependant on focus per window or session.
There is a context sensitive help at the bottom of the screen.
| Keybinding | Behaviour |
|---|---|
| j,k,:arrow_up:, :arrow_down: | Moving up and down in the list. |
| h,l,:arrow_left:, :arrow_right: | Moving between panels. |
| q | Immidiatelly exits tmux-tui. |
| esc | Either clears filter in panel, stops pasting mode or exits tmux-tui. |
| / | Search in panel. |
| d | Delete Stored/Session/Window/Pane. |
| y | Yank Window/Pane. |
| p | Paste Window/Pane to Session/Window/Below Pane. |
| Keybinding | Behaviour |
|---|---|
| space | Instantiate a session of this type. This will ask for a session name if there is already a session with this name. |
| Keybinding | Behaviour |
|---|---|
| space | Attach to session. |
| s | Store session. |
| c | Create a new session. |
| r | Rename session. |
| Keybinding | Behaviour |
|---|---|
| space | Switch to window. |
| c | Create a new window. |
| r | Rename window. |
| J,K | Move window up and down. |
| m | Merge window with the one below. |
