diff --git a/reset-projekt b/reset-projekt index ac3b573..bd8022c 100755 --- a/reset-projekt +++ b/reset-projekt @@ -1,6 +1,12 @@ #!/bin/bash +PROGS=("$@") +[ ${#PROGS[@]} -eq 0 ] && PROGS=(firefox code gnome-terminal-server) + mount | awk '$3 ~ /\/doc$/ {print $3}' | xargs -r sudo umount -killall -9 firefox code gnome-terminal-server 2>/dev/null -while pgrep -x code > /dev/null; do sleep 0.1; done -while pgrep -x gnome-terminal-server > /dev/null; do sleep 0.1; done -while pgrep -x firefox > /dev/null; do sleep 0.1; done + +for p in "${PROGS[@]}"; do + killall -9 "$p" 2>/dev/null +done +for p in "${PROGS[@]}"; do + while pgrep -x "$p" > /dev/null; do sleep 0.1; done +done diff --git a/start-projekt b/start-projekt index 985d42c..f510380 100755 --- a/start-projekt +++ b/start-projekt @@ -34,12 +34,17 @@ RESULT=$(yad --form \ --field="Projekt:CB" "$COMBO_VALUES" \ --field="Ticket-Nr (optional)" "" \ --field="Zusatzinfo an Claude:TXT" "" \ + --field="Firefox beenden:CHK" TRUE \ + --field="VS Code beenden:CHK" TRUE \ + --field="Terminals beenden:CHK" TRUE \ + --field="Obsidian beenden:CHK" TRUE \ --width=600 --height=500 \ --button="Abbrechen:1" --button="Starten:0") [ -z "$RESULT" ] && exit 0 -IFS="$SEP" read -r PROJEKT_NAME TICKET_NR INFO_ESCAPED _ <<< "$RESULT" +IFS="$SEP" read -r PROJEKT_NAME TICKET_NR INFO_ESCAPED \ + CHK_FF CHK_CODE CHK_TERM CHK_OBS _ <<< "$RESULT" SKRIPT="${PROJEKT_MAP[$PROJEKT_NAME]}" [ -z "$SKRIPT" ] && exit 0 @@ -55,6 +60,12 @@ if [ -n "$INFO_ESCAPED" ]; then printf '%b' "$INFO_ESCAPED" > "$INFO_FILE" fi -/home/arbeit/projects/project-starter/reset-projekt +KILL=() +[ "$CHK_FF" = "TRUE" ] && KILL+=("firefox") +[ "$CHK_CODE" = "TRUE" ] && KILL+=("code") +[ "$CHK_TERM" = "TRUE" ] && KILL+=("gnome-terminal-server") +[ "$CHK_OBS" = "TRUE" ] && KILL+=("obsidian") + +/home/arbeit/projects/project-starter/reset-projekt "${KILL[@]}" exec "/home/arbeit/projects/project-starter/$SKRIPT" "$TICKET_NR"