aboutsummaryrefslogtreecommitdiff
path: root/scripts/open-project.sh
blob: f7a41ba6eab7898163a466a6fef6fcbca5455c62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash

PROJECTS_DIR="$HOME/dev/projects";
SUCKLESS_DIR="$HOME/.config/suckless";

get_projects() {
  ls -t "$PROJECTS_DIR" | sed 's/^/dev:/g';
  ls -t "$SUCKLESS_DIR" | sed 's/^/suckless:/g';
}

project=$(get_projects | dmenu -p "Project name :: ");

if [ -z "$project" ]; then
  exit 1;
fi;

projtype=$(echo "$project" | cut -d: -f1);
projdir=$(echo "$project" | cut -d: -f2-);

fulldir="";

case "$projtype" in
  dev)        fulldir="$PROJECTS_DIR/$projdir" ;;
  suckless)   fulldir="$SUCKLESS_DIR/$projdir" ;;
  *)          fulldir="$PROJECTS_DIR/$projdir" ;;
esac

if [ ! -z "$fulldir" ]; then
  if [ ! -d "$fulldir" ]; then
    mkdir -p $fulldir;
    notify-send "Created new project at $fulldir";
  fi;

  ~/scripts/sessions/project.sh "$fulldir";
fi;