Last active
September 26, 2024 04:28
-
-
Save todgru/6224848 to your computer and use it in GitHub Desktop.
Start up tmux with custom windows, panes and applications running
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Setup a work space called `work` with two windows | |
# first window has 3 panes. | |
# The first pane set at 65%, split horizontally, set to api root and running vim | |
# pane 2 is split at 25% and running redis-server | |
# pane 3 is set to api root and bash prompt. | |
# note: `api` aliased to `cd ~/path/to/work` | |
# | |
session="work" | |
# set up tmux | |
tmux start-server | |
# create a new tmux session, starting vim from a saved session in the new window | |
tmux new-session -d -s $session -n vim #"vim -S ~/.vim/sessions/kittybusiness" | |
# Select pane 1, set dir to api, run vim | |
tmux selectp -t 1 | |
tmux send-keys "api;vim" C-m | |
# Split pane 1 horizontal by 65%, start redis-server | |
tmux splitw -h -p 35 | |
tmux send-keys "redis-server" C-m | |
# Select pane 2 | |
tmux selectp -t 2 | |
# Split pane 2 vertiacally by 25% | |
tmux splitw -v -p 75 | |
# select pane 3, set to api root | |
tmux selectp -t 3 | |
tmux send-keys "api" C-m | |
# Select pane 1 | |
tmux selectp -t 1 | |
# create a new window called scratch | |
tmux new-window -t $session:1 -n scratch | |
# return to main vim window | |
tmux select-window -t $session:0 | |
# Finished setup, attach to the tmux session! | |
tmux attach-session -t $session |
thanks for posting, helped me a lot to set up my startup script 👍🏼
Much appreciated for this script. I was able to modify it to automate the launch of different ncmpcpp
panes for displaying the media library, playlist and visualization.
Amazing
This is great! Thank you
thanks !
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks!