diff --git a/CHANGELOG.md b/CHANGELOG.md index 982c780..2f46f98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### master - enable "tmux auto start" for OS X +- enable customizing "tmux auto start" for OS X ### v2.0.0, 2015-02-15 - enable automatic environment restore when tmux is started diff --git a/scripts/handle_tmux_automatic_start/osx_enable.sh b/scripts/handle_tmux_automatic_start/osx_enable.sh index 370ccfe..d61e314 100755 --- a/scripts/handle_tmux_automatic_start/osx_enable.sh +++ b/scripts/handle_tmux_automatic_start/osx_enable.sh @@ -2,6 +2,7 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source "$CURRENT_DIR/../helpers.sh" source "$CURRENT_DIR/../variables.sh" template() { @@ -26,8 +27,32 @@ template() { echo "$content" } +get_iterm_or_teminal_option_value() { + local options="$1" + if [[ "$options" =~ "iterm" ]]; then + echo "iterm" + else + # Terminal.app is the default console app + echo "terminal" + fi +} + +get_fullscreen_option_value() { + local options="$1" + if [[ "$options" =~ "fullscreen" ]]; then + # space prepended bc this will be a script argument + echo " fullscreen" + else + echo "" + fi +} + main() { - local launchd_plist_file_content="$(template "$CURRENT_DIR/osx_terminal_start_tmux.sh")" + local options="$(get_tmux_option "$auto_start_config_option" "$auto_start_config_default")" + local iterm_or_terminal_value="$(get_iterm_or_teminal_option_value "$options")" + local fullscreen_option_value="$(get_fullscreen_option_value "$options")" + + local launchd_plist_file_content="$(template "${CURRENT_DIR}/osx_${iterm_or_terminal_value}_start_tmux.sh${fullscreen_option_value}")" echo "$launchd_plist_file_content" > "$osx_auto_start_file_path" } main diff --git a/scripts/variables.sh b/scripts/variables.sh index 59d8a91..600abec 100644 --- a/scripts/variables.sh +++ b/scripts/variables.sh @@ -19,5 +19,9 @@ auto_restore_halt_file="${HOME}/tmux_no_auto_restore" auto_start_option="@resurrect-auto-tmux-start" auto_start_default="off" +# comma separated list of additional options for tmux auto start +auto_start_config_option="@resurrect-auto-tmux-start-options" +auto_start_config_default="" + osx_auto_start_file_name="Tmux.Start.plist" osx_auto_start_file_path="${HOME}/Library/LaunchAgents/${osx_auto_start_file_name}"