#!/usr/bin/env bash CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$CURRENT_DIR/../helpers.sh" source "$CURRENT_DIR/../variables.sh" template() { local tmux_start_script="$1" local is_fullscreen="$2" local fullscreen_tag="" if [ "$is_fullscreen" == "true" ]; then # newline and spacing so tag is aligned with other tags in template fullscreen_tag=$'\n fullscreen' fi local content read -r -d '' content <<- EOF Label ${osx_auto_start_file_name} ProgramArguments ${tmux_start_script}$fullscreen_tag RunAtLoad EOF echo "$content" } get_iterm_or_teminal_option_value() { local options="$1" if [[ "$options" =~ "iterm" ]]; then echo "iterm" elif [[ "$options" =~ "kitty" ]]; then echo "kitty" else # Terminal.app is the default console app echo "terminal" fi } get_fullscreen_option_value() { local options="$1" if [[ "$options" =~ "fullscreen" ]]; then echo "true" else echo "false" fi } main() { 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 tmux_start_script_path="${CURRENT_DIR}/osx_${iterm_or_terminal_value}_start_tmux.sh" local launchd_plist_file_content="$(template "$tmux_start_script_path" "$fullscreen_option_value")" echo "$launchd_plist_file_content" > "$osx_auto_start_file_path" } main