{ pkgs, ... }: { home.packages = with pkgs; [ (writeShellScriptBin "get-focused-monitor" '' # get the current cursor location into X and Y variables eval $(xdotool getmouselocation --shell) # compare mouse location to monitor coordinates while IFS= read -r line; do if [[ $line =~ " connected" ]]; then display=$(echo "$line" | awk '{print $1}') coords=$(echo "$line" | grep -oP "\d+x\d+" | tr 'x+' ' ') read width height x_offset y_offset <<< $coords if (( X >= x_offset && X <= width + x_offset )) && (( Y >= y_offset && Y <= height + y_offset )); then echo "$display" break fi fi done < <(xrandr) '') ]; }