Create side and top bars in tmux easily, along with a "devour" style command.
Create side and top bars in tmux easily, along with a “devour” style command.
You can see a larger version of the demo with the included MKV file.
These three scripts (called TDAB
for short) will create side or top bars
(or a “devour” style new pane) that run a command inside tmux. See the image
above to get an idea of what this means.
The name is a play on “A blank walks into a bar”, because puns.
This project is licensed under the MIT License. For the full license, see LICENSE
.
These scripts will probably work in other shells, but I don’t know for sure.
Clone or download the repository. Put the scripts (or symlinks to the scripts)
in your $PATH
. (In the example above, I’ve symlinked them to sidebar
,
topbar
, and devour
.)
If you wish to change the width or height of the sidebar/topbar, you will need to edit this line:
tmux resize-pane -t "$c_pane" -R 30
which actually resizes the larger pane from the center line. My screen that I used for the demo is 194 columns wide, so when it’s first split, it’s 97/96 columns wide, then resizes it to the right an additional 30 columns so that I end up with a 127/67 split. The same thing goes for the topbar, except it resizes upward (-U). Adjust so that they work for your terminal size.
Devour
I find a binding like the following very useful when using devour
:
bind-key -n C-/ select-pane -R \;\
resize-pane -Z
This will allow you to cycle among the zoomed panes - and will zoom each as you go through it. Very nice for programs like emojin.
SCRIPTNAME [program to run]
For example, tmux-sidebar.sh man man
will show you the man page for man in
the sidebar.
If the first argument is either -h
or --hold
then TDAB will pause after
executing the program and wait for you to hit a key (necessary for programs that
exit immediately, which triggers the pane closing).
If you run the scripts outside of tmux, it will just run the command.
Launch a process in a new pane, zoom the pane, kill the pane when done.
Create a sidebar (e.g. for reading manpages) and kill when done.
Create a vertical split and kill when done.
Steven Saus injects people with radioactivity for his day job, but only to serve the forces of good.
Mostly.