add 'grow' and 'shrink' commands for adjusting pane sizes
This commit is contained in:
parent
3de4803734
commit
2815067b1c
1 changed files with 76 additions and 4 deletions
80
bunkdeck
80
bunkdeck
|
@ -1,6 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
heedPane="bunkdeck:0.0"
|
||||||
|
proclaimPane="bunkdeck:0.1"
|
||||||
|
shellPane="bunkdeck:0.2"
|
||||||
|
|
||||||
function isExistingDeck {
|
function isExistingDeck {
|
||||||
set +e
|
set +e
|
||||||
sessions=$(tmux list-sessions)
|
sessions=$(tmux list-sessions)
|
||||||
|
@ -16,16 +20,75 @@ function isExistingDeck {
|
||||||
function startNewDeck {
|
function startNewDeck {
|
||||||
tmux new -d -s bunkdeck heed
|
tmux new -d -s bunkdeck heed
|
||||||
tmux split-window -h -t bunkdeck -p 70
|
tmux split-window -h -t bunkdeck -p 70
|
||||||
tmux split-window -t bunkdeck:0.0 -v -p 10
|
tmux split-window -t $heedPane -v -p 3
|
||||||
tmux send-keys -t bunkdeck:0.1 'proclaim' C-m
|
tmux send-keys -t $proclaimPane 'proclaim' C-m
|
||||||
tmux send-keys -t bunkdeck:0.2 'cowsay "press [CTRL+b then o] to cycle through panes"' C-m
|
tmux send-keys -t $shellPane 'cowsay "press [CTRL+b then o] to cycle through panes"' C-m
|
||||||
tmux attach -t bunkdeck:0.2
|
# turn on pane titling
|
||||||
|
tmux select-pane -t $heedPane -T heed
|
||||||
|
tmux select-pane -t $proclaimPane -T proclaim
|
||||||
|
tmux select-pane -t $shellPane -T shell
|
||||||
|
tmux set -g set-titles on
|
||||||
|
# attach session to shell
|
||||||
|
tmux attach -t $shellPane
|
||||||
}
|
}
|
||||||
|
|
||||||
function killDeck {
|
function killDeck {
|
||||||
tmux kill-session -t bunkdeck
|
tmux kill-session -t bunkdeck
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function growPane {
|
||||||
|
case $2 in
|
||||||
|
shell)
|
||||||
|
tmux resize-pane -t $shellPane -L "$3"
|
||||||
|
;;
|
||||||
|
proclaim)
|
||||||
|
tmux resize-pane -t $proclaimPane -U "$3"
|
||||||
|
;;
|
||||||
|
heed)
|
||||||
|
tmux resize-pane -t $heedPane -D "$3"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage: bunkdeck grow [WINDOW] [SIZE]"
|
||||||
|
echo
|
||||||
|
echo "windows:"
|
||||||
|
echo " shell horizontally grow the shell window"
|
||||||
|
echo " proclaim vertically grow the window where you send text"
|
||||||
|
echo " heed vertically grow the window where you read texts"
|
||||||
|
echo
|
||||||
|
echo "size:"
|
||||||
|
echo " number of cells to grow the selected window"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function shrinkPane {
|
||||||
|
case $2 in
|
||||||
|
shell)
|
||||||
|
tmux resize-pane -t $shellPane -R "$3"
|
||||||
|
;;
|
||||||
|
proclaim)
|
||||||
|
tmux resize-pane -t $proclaimPane -D "$3"
|
||||||
|
;;
|
||||||
|
heed)
|
||||||
|
tmux resize-pane -t $heedPane -U "$3"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage: bunkdeck shrink [WINDOW] [SIZE]"
|
||||||
|
echo
|
||||||
|
echo "windows:"
|
||||||
|
echo " shell horizontally shrink the shell window"
|
||||||
|
echo " proclaim vertically shrink the window where you send text"
|
||||||
|
echo " heed vertically shrink the window where you read texts"
|
||||||
|
echo
|
||||||
|
echo "size:"
|
||||||
|
echo " number of cells to shrink the selected window"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
|
|
||||||
kill)
|
kill)
|
||||||
|
@ -38,12 +101,21 @@ case $1 in
|
||||||
startNewDeck
|
startNewDeck
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
grow)
|
||||||
|
growPane "$@"
|
||||||
|
;;
|
||||||
|
shrink)
|
||||||
|
shrinkPane "$@"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "usage: bunkdeck [COMMAND]"
|
echo "usage: bunkdeck [COMMAND]"
|
||||||
echo
|
echo
|
||||||
echo "commands:"
|
echo "commands:"
|
||||||
echo " (none) attach to existing bunkdeck or start new one"
|
echo " (none) attach to existing bunkdeck or start new one"
|
||||||
echo " kill kill running bunkdeck"
|
echo " kill kill running bunkdeck"
|
||||||
|
echo " grow grow the size of a bunkdeck window"
|
||||||
|
echo " shrink shrink the size of a bunkdeck window"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue