X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=contrib%2Fpm-utils%2F40autorandr;fp=contrib%2Fpm-utils%2F40autorandr;h=716f771d9910c7f737d57f9e193645413bc787bf;hb=8467e92bd5d04acbfc263e25bf55a71082df7b15;hp=0e029af23e9f079b41ebc04293bc2990aea5d63f;hpb=756bf74c1301378f15cbe94b1a3ae2d5cf071a9d;p=deb_pkgs%2Fautorandr.git diff --git a/contrib/pm-utils/40autorandr b/contrib/pm-utils/40autorandr index 0e029af..716f771 100755 --- a/contrib/pm-utils/40autorandr +++ b/contrib/pm-utils/40autorandr @@ -18,20 +18,28 @@ find_user() { # by SO user intelfx user="$( loginctl list-sessions --no-legend | while read id uid user seat; do - loginctl show-session -p Display -p Active "$id" | while IFS='=' read property value; do - case "$property" in - Active) - if [ "$value" != "yes" ]; then - continue - fi - ;; - Display) - if [ -n "$value" -a "$value" = "$D" ]; then - echo $user - fi - ;; - esac - done + session=$(loginctl show-session -p Display -p Active "$id") + first=$(echo $session | cut -d" " -f1) + second=$(echo $session | cut -d" " -f2) + + if [ -n $(echo "$first" | grep "Display") ]; then + display=$first + active=$second + else + display=$second + active=$first + fi + + active_value=$(echo "$active" | cut -d"=" -f2) + display_value=$(echo "$display" | cut -d"=" -f2) + + if [ "$active_value" != "yes" ]; then + continue + fi + + if [ -n $display_value -a "$display_value" = "$D" ]; then + echo $user + fi done )" if [ -n "$user" ]; then