From afd63d50667eb9665754eb6679e48816f092b078 Mon Sep 17 00:00:00 2001 From: helterscelter Date: Mon, 6 Aug 2012 15:08:08 -0400 Subject: [PATCH] Updated pm-utils scripts 40autorandr had issues when resuming on a system where one or more users have multiple terminal sessions open. enhanced 40autorandr to allow being called as 40auto-disper to automatically swap to using auto-disper semantics --- pm-utils/40auto-disper | 1 + pm-utils/40autorandr | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) create mode 120000 pm-utils/40auto-disper diff --git a/pm-utils/40auto-disper b/pm-utils/40auto-disper new file mode 120000 index 0000000..9d7b227 --- /dev/null +++ b/pm-utils/40auto-disper @@ -0,0 +1 @@ +40autorandr \ No newline at end of file diff --git a/pm-utils/40autorandr b/pm-utils/40autorandr index 60ca9ae..f465b06 100755 --- a/pm-utils/40autorandr +++ b/pm-utils/40autorandr @@ -2,22 +2,35 @@ # # 40autorandr: Change autorandr profile on thaw/resume -AUTORANDR="autorandr -c" +# detect if we are being called as 40auto-disper or 40autorandr +FORM=${0##*40} +case $FORM in + auto-disper) + AUTORANDR="auto-disper -c" + ;; + *) + AUTORANDR="autorandr -c" + ;; +esac +echo "$AUTORANDR" detect_display() { for X in /tmp/.X11-unix/X*; do D="${X##/tmp/.X11-unix/X}" - user=$(who | awk -vD="$D" '$5 ~ "\\(:"D"\\)$" {print $1}') + user=$( who | grep \(:$D\) | cut -d ' ' -sf 1 | uniq ) + echo "Checking $X -- $D - $user" if [ x"$user" != x"" ]; then + echo "AUTORANDR $D - $user" export DISPLAY=":$D" /bin/su -c "${AUTORANDR}" "$user" fi done + echo "Done" } case "$1" in thaw|resume) - detect_display + detect_display ;; esac