aboutsummaryrefslogtreecommitdiff
path: root/tmux/.local/bin/tmux-menu.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tmux/.local/bin/tmux-menu.sh')
-rwxr-xr-xtmux/.local/bin/tmux-menu.sh20
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