]>
Commit | Line | Data |
---|---|---|
9f528ac4 IB |
1 | #!/bin/bash |
2 | ||
3 | type="${1:-bash}" | |
4 | if [ -n "$TMUX" ]; then | |
5 | m=switch-client | |
6 | else | |
7 | m=attach-session | |
8 | fi | |
9 | ||
10 | case "$type" in | |
11 | "bash") start_dir="$HOME";; | |
12 | "remote") start_dir="$HOME";; | |
13 | "puppet") start_dir="/etc/puppetlabs/code" | |
14 | esac | |
15 | ||
16 | if tmux has-session -t "$type" 2>/dev/null; then | |
17 | tmux $m -t "$type" | |
18 | else | |
19 | if [ "$type" = "remote" ]; then | |
20 | tmux new-session -d -c $start_dir -s "$type" mosh immae.eu \; \ | |
21 | $m -t "$type" | |
22 | elif [ -n "$start_dir" ]; then | |
23 | tmux new-session -d -c $start_dir -s "$type" \; \ | |
24 | $m -t "$type" \; \ | |
25 | new-window -c $start_dir | |
26 | elif [ -d "$HOME/workdir/$type" ]; then | |
27 | tmux new-session -d -c "$HOME/workdir/$type" -s "$type" \; \ | |
28 | $m -t "$type" \; \ | |
29 | send-keys "../start" C-m \; \ | |
30 | rename-window "running" \; \ | |
31 | new-window -c "$HOME/workdir/$type" | |
32 | else | |
33 | echo "Unknown session" >&2 | |
34 | exit 1 | |
35 | fi | |
36 | fi |