32 lines
1.2 KiB
Bash
Executable File
32 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
DEFAULT_SESSION='quak'
|
|
DUMMY_SESSION='dummy'
|
|
|
|
# start dummy session to avoid error messages on `has-session`
|
|
tmux new-session -d -s "$DUMMY_SESSION"
|
|
|
|
# check if the default session exists
|
|
# redirect stderr to /dev/null because `session not found` is
|
|
# not a relevant error in this case
|
|
if $(tmux has-session -t ${DEFAULT_SESSION} 2>/dev/null); then
|
|
echo "default session <${DEFAULT_SESSION}> already exists"
|
|
# no action needed if the session exists, the attach command is run externally
|
|
else
|
|
# dont forget the '-d' option, otherwise the session is closed
|
|
# before the rest of the commands are executed
|
|
tmux new-session -d -s "$DEFAULT_SESSION" -n "dotfiles" -c "$HOME/dotfiles"
|
|
tmux new-window -t "$DEFAULT_SESSION" -n "docs" -c "$HOME/collection"
|
|
tmux new-window -t "$DEFAULT_SESSION" -n "stuff" -c "$HOME"
|
|
|
|
# this causes the script to exit only, when the session is ended or detached
|
|
# it also causes tmux's detach command with hang up signal to fail
|
|
# therefore the following line is commented out
|
|
# an `alias` is created in `.bashrc` which calls this script and runs
|
|
# `tmux attach` on successful execution
|
|
|
|
#tmux attach -t "$DEFAULT_SESSION"
|
|
fi
|
|
|
|
tmux kill-session -t "$DUMMY_SESSION"
|