From fa35f50edc8c028dca9ca1ee490faaccf5e148bf Mon Sep 17 00:00:00 2001 From: omagdy Date: Wed, 18 Dec 2024 23:17:03 +0200 Subject: Did some stuff. --- scripts/.scripts/tmux-sessionizer.sh | 39 +++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'scripts/.scripts/tmux-sessionizer.sh') diff --git a/scripts/.scripts/tmux-sessionizer.sh b/scripts/.scripts/tmux-sessionizer.sh index c536df7..419484a 100755 --- a/scripts/.scripts/tmux-sessionizer.sh +++ b/scripts/.scripts/tmux-sessionizer.sh @@ -1,29 +1,36 @@ #!/bin/sh - if [[ $# -eq 1 ]]; then - selected=$1 + selected=$1 else - selected=$(find ~/programming -mindepth 1 -maxdepth 2 -type d | fzf) + selected=$(fd '^.git$' -a --hidden --no-ignore --type d ./programming --exec dirname | grep -v "thirdparties" | fzf) fi if [[ -z $selected ]]; then - exit 1 + exit 1 fi selected_name=$(basename "$selected" | tr . _) tmux_running=$(pgrep tmux) -if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then - tmux new-session -s $selected_name - tmux send-keys -t $selected_name "cd $selected" Enter - tmux send-keys -t $selected_name "clear" Enter - exit 0 -fi +create_session() { + tmux new-session -d -s $selected_name -n nvim + tmux send-keys -t "$selected_name:1" "cd $selected && clear && nvim ." Enter + # Create second window (shell) + tmux new-window -t $selected_name -n shell + tmux send-keys -t "$selected_name:2" "cd $selected && clear" Enter + # Create third window (git) + tmux new-window -t $selected_name -n git + tmux send-keys -t "$selected_name:3" "cd $selected && clear && lazygit" Enter +} -if ! tmux has-session -t=$selected_name 2> /dev/null; then - tmux new-session -ds $selected_name - tmux send-keys -t $selected_name "cd $selected" Enter - tmux send-keys -t $selected_name "clear" Enter +# If not in tmux, create and attach +if [[ -z $TMUX ]]; then + create_session + tmux attach-session -t $selected_name +else + # If in tmux, create if needed and switch + if ! tmux has-session -t=$selected_name 2>/dev/null; then + create_session + fi + tmux switch-client -t $selected_name fi - -tmux switch-client -t $selected_name -- cgit v1.2.3