summaryrefslogtreecommitdiff
path: root/artix/home/.local/bin/spawn-alacritty-cwd
blob: dcadff8295e03ed00f6c3f6adaa9084e0d063a10 (plain)
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
#!/bin/bash

ACTIVE_WINDOW_INFO=$(hyprctl activewindow -j)

CLASS=$(echo "$ACTIVE_WINDOW_INFO" | jq -r '.class')
PID=$(echo "$ACTIVE_WINDOW_INFO" | jq -r '.pid')

if [[ "$CLASS" == "Alacritty" ]]; then

    if [[ -z "$PID" || "$PID" == "null" ]]; then
        alacritty
        exit 0
    fi

    CHILD_PID=$(pgrep -P "$PID" | head -n 1)

    if [[ -z "$CHILD_PID" ]]; then
        alacritty
        exit 0
    fi

    if [[ -e "/proc/$CHILD_PID/cwd" ]]; then
        SHELL_CWD=$(readlink -f "/proc/$CHILD_PID/cwd")
        alacritty --working-directory "$SHELL_CWD"
    else
        alacritty
    fi

else
    alacritty
fi