diff --git a/hooks/session-create.sh b/hooks/session-create.sh new file mode 100755 index 0000000..56b2da5 --- /dev/null +++ b/hooks/session-create.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +session_name=$(tmux display-message -p '#S') +session_layout=~/.local/share/tmux/layouts/session-$session_name +if [ -f $session_layout ]; then + tmux source-file $session_layout +else + tmux rename-window home +fi diff --git a/layouts/session-local b/layouts/session-local new file mode 100644 index 0000000..3268160 --- /dev/null +++ b/layouts/session-local @@ -0,0 +1,7 @@ +rename-window home +new-window -c ~/.config/local +rename-window local +move-window -s local:local -t 9 +select-window -t local:home + +# vim: filetype=tmux diff --git a/tasks.yaml b/tasks.yaml index a01d0d3..a185889 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -14,6 +14,8 @@ dest: ~/.tmux.conf - src: ~/.config/tmux/layouts/session-main dest: ~/.local/share/tmux/layouts/session-main + - src: ~/.config/tmux/layouts/session-local + dest: ~/.local/share/tmux/layouts/session-local - src: ~/.config/tmux/layouts/window-tall dest: ~/.local/share/tmux/layouts/window-tall - src: ~/.config/tmux/layouts/window-wide-left diff --git a/tmux.conf b/tmux.conf index 73f8127..efae023 100644 --- a/tmux.conf +++ b/tmux.conf @@ -1,3 +1,6 @@ +# Set global hooks to perform actions when events occur +set-hook -g session-created 'run ~/.config/tmux/hooks/session-create.sh' + # Set the tmux version to check for command support run 'tmux setenv -g TMUX_VERSION $(tmux -V | cut -c 6-8)'