#!/bin/sh
#
# 40autorandr: Change autorandr profile on thaw/resume
-exec > /var/log/autorandr.log 2>&1
-
-AUTORANDR="autorandr -c --default default"
-
-# Work around #44: Long user names in w
-export PROCPS_USERLEN=40
-
-detect_display()
-{
- # Wait for the system to recognize the changed state, see bug #30
- # Note the ampersand below, this runs asynchroneously.
- sleep 5
-
- for X in /tmp/.X11-unix/X*; do
- D="${X##/tmp/.X11-unix/X}"
- # Prefer w to who, see bug #39
- if [ -x "`which w`" ]; then
- user="`w -h | awk -vD="$D" '$2 ~ ":"D"(.[0-9])?$" || $3 ~ ":"D"(.[0-9])?$" {print $1}' | head -n1`"
-
- if [ -z "$user" ]; then
- # This fallback checks if there is exactly one user (except
- # root) logged in an interactive session and assumes the
- # session belongs to him. See bug #39.
- user="`w -hu | awk '/^\w+/ && $1 !~ "root" { users[$1]=$1; } ENDFILE { if(asort(users) == 1) for(u in users) print users[u]; }'`"
- fi
- else
- user="`who --all | awk -vD="$D" '$3 ~ ":"D"(.[0-9])?$" {print $1}' | head -1`"
-
- if [ -z "$user" ]; then
- # Same fallback as above; see bug #39.
- user="`who -u | awk '/^\w+/ && $1 !~ "root" { users[$1]=$1; } ENDFILE { if(asort(users) == 1) for(u in users) print users[u]; }'`"
- fi
- fi
-
- if [ x"$user" != x"" ]; then
- logger "autorandr: Changing display configuration for display :$D, user '$user'"
- export DISPLAY=":$D"
- /bin/su -c "${AUTORANDR}" "$user"
- fi
- done
-}
case "$1" in
thaw|resume)
- detect_display &
+ /usr/bin/autorandr --batch --change --default default
;;
esac