diff options
Diffstat (limited to 'tmux/.local/bin/tmux-menu.sh')
-rwxr-xr-x | tmux/.local/bin/tmux-menu.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tmux/.local/bin/tmux-menu.sh b/tmux/.local/bin/tmux-menu.sh new file mode 100755 index 0000000..dd6c8d9 --- /dev/null +++ b/tmux/.local/bin/tmux-menu.sh @@ -0,0 +1,20 @@ +#!/bin/sh +PROJECTS_DIRS="$HOME/Documents/Projects $HOME/Documents/Projects/hp" +TMUXINATOR_PROJECTS_DIR="$HOME/.config/tmuxinator" + +SELECTED=$({ for dir in $PROJECTS_DIRS; do ls $dir; done; ls $TMUXINATOR_PROJECTS_DIR; } | dmenu -l 10) + +if [ $(echo $SELECTED | grep '.yml') ]; then + # Tmuxinator project was selected, start it + tmuxinator start "${SELECTED%.*}" +else + # Project directory was selected, find its full path (in any of the dirs) + for dir in $PROJECTS_DIRS; do + FULL_PATH=$(find $dir -maxdepth 1 -type d -name $SELECTED) + if [ -n "$FULL_PATH" ]; then + # Start project based on the template + tmuxinator start --no-attach -p=$HOME/.config/tmuxinator/.template.yml name=$SELECTED root=$FULL_PATH 2>/dev/null & + break + fi + done; +fi |