From e4e4fe4ca009bae05c761172f06ca6850c9d3beb Mon Sep 17 00:00:00 2001 From: Alex Corbin Date: Sat, 4 May 2019 16:25:22 -0400 Subject: [PATCH 1/2] Added option to specify directory for new sessions --- scripts/new_session.sh | 3 ++- scripts/new_session_prompt.sh | 3 ++- sessionist.tmux | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/new_session.sh b/scripts/new_session.sh index 4e8e5f3..7046cbc 100755 --- a/scripts/new_session.sh +++ b/scripts/new_session.sh @@ -4,6 +4,7 @@ CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # global variable SESSION_NAME="$1" +SESSION_START_DIR="$2" source "$CURRENT_DIR/helpers.sh" @@ -18,7 +19,7 @@ create_new_tmux_session() { switch_to_session "$SESSION_NAME" display_message "Switched to existing session ${SESSION_NAME}" "2000" else - TMUX="" tmux -S "$(tmux_socket)" new-session -d -s "$SESSION_NAME" + TMUX="" tmux -S "$(tmux_socket)" new-session -d -s "$SESSION_NAME" -c "$SESSION_START_DIR" switch_to_session "$SESSION_NAME" fi } diff --git a/scripts/new_session_prompt.sh b/scripts/new_session_prompt.sh index f4eb603..53b8088 100755 --- a/scripts/new_session_prompt.sh +++ b/scripts/new_session_prompt.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SESSION_START_DIR="$1" main() { - tmux command -p "new session name:" "run '$CURRENT_DIR/new_session.sh \"%1\"'" + tmux command -p "new session name:" "run '$CURRENT_DIR/new_session.sh \"%1\" \"$SESSION_START_DIR\"'" } main diff --git a/sessionist.tmux b/sessionist.tmux index 25aae7d..61152df 100755 --- a/sessionist.tmux +++ b/sessionist.tmux @@ -10,6 +10,7 @@ tmux_option_alternate="@sessionist-alternate" default_key_bindings_new="C" tmux_option_new="@sessionist-new" +starting_directory="@sessionist-start-directory" default_key_bindings_promote_pane="@" tmux_option_promote_pane="@sessionist-promote-pane" @@ -44,9 +45,10 @@ set_alternate_session_binding() { # it will switch to existing session. set_new_session_binding() { local key_bindings=$(get_tmux_option "$tmux_option_new" "$default_key_bindings_new") + local start_directory=$(get_tmux_option "$starting_directory") local key for key in $key_bindings; do - tmux bind "$key" run "$CURRENT_DIR/scripts/new_session_prompt.sh" + tmux bind "$key" run "$CURRENT_DIR/scripts/new_session_prompt.sh '$start_directory'" done } From b02aea8adaf7d3843228e4d47a1db6470a5d9edd Mon Sep 17 00:00:00 2001 From: Alex Corbin Date: Mon, 13 May 2019 12:49:13 -0400 Subject: [PATCH 2/2] Added a default value for start directory (home folder) Was done using get_tmux_option function in helpers.sh. Done because users aren't likely to set this value on their own. --- sessionist.tmux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sessionist.tmux b/sessionist.tmux index 61152df..8d34fa2 100755 --- a/sessionist.tmux +++ b/sessionist.tmux @@ -45,7 +45,7 @@ set_alternate_session_binding() { # it will switch to existing session. set_new_session_binding() { local key_bindings=$(get_tmux_option "$tmux_option_new" "$default_key_bindings_new") - local start_directory=$(get_tmux_option "$starting_directory") + local start_directory=$(get_tmux_option "$starting_directory" "$HOME") local key for key in $key_bindings; do tmux bind "$key" run "$CURRENT_DIR/scripts/new_session_prompt.sh '$start_directory'"