aboutsummaryrefslogtreecommitdiff
path: root/.scripts/open_terminal
blob: c816a138c718b3a3c0d38adae9535307cfcb9af3 (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
#!/bin/sh

ACTIVE_WINDOW=$(xdotool getactivewindow)
ACTIVE_WM_CLASS=$(xprop -id $ACTIVE_WINDOW | grep WM_CLASS)
if [[ $ACTIVE_WM_CLASS == *"Alacritty"* ]]
then
    # Get PID. If _NET_WM_PID isn't set, bail.
    PID=$(xprop -id $ACTIVE_WINDOW | grep _NET_WM_PID | grep -oP "\d+")
    if [[ "$PID" == "" ]]
    then
        WINIT_X11_SCALE_FACTOR=1.5 alacritty
    fi
    # Get first child of terminal
    CHILD_PID=$(pgrep -P $PID)
    if [[ "$PID" == "" ]]
    then
        WINIT_X11_SCALE_FACTOR=1.5 alacritty
    fi
    # Get current directory of child. The first child should be the shell.
    pushd "/proc/${CHILD_PID}/cwd"
    SHELL_CWD=$(pwd -P)
    popd
    # Start alacritty with the working directory
    WINIT_X11_SCALE_FACTOR=1.5 alacritty --working-directory $SHELL_CWD
else
    WINIT_X11_SCALE_FACTOR=1.5 alacritty
fi