diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index 6753ba5..035731b 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -30,15 +30,17 @@ let launch_terminal = pkgs.writeShellScriptBin "launch_terminal" '' function find_leaf_pid(){ - local PID=$1 - local CHILD_PID=$(pgrep -P "$PID") - if [ "$CHILD_PID" != "" ]; then - local RET=$(find_leaf_pid "$CHILD_PID") + local PID + local RET + local NAME + PID=$1 + for CHILD_PID in $(pgrep -P "$PID"); do + RET=$(find_leaf_pid "$CHILD_PID") if [ "$RET" != "" ]; then - PID=$RET + PID="$RET" fi - fi - local NAME=$(ps -p "$PID" -o comm=) + done + NAME=$(ps -p "$PID" -o comm=) if [ "$NAME" == "zsh" ]; then echo "$PID" elif [ "$NAME" == "ssh" ]; then