[wallpapoz/f16] Add more fixes
Mamoru Tasaka
mtasaka at fedoraproject.org
Mon Nov 28 10:10:23 UTC 2011
commit 0991688a813f8885b4a7b7dcad92417006f91344
Author: TASAKA Mamoru <mtasaka at localhost.localdomain>
Date: Mon Nov 28 19:10:20 2011 +0900
Add more fixes
daemon_wallpapoz-wrapper | 73 +++++++++++++++++++++++++++++++++++++++------
1 files changed, 63 insertions(+), 10 deletions(-)
---
diff --git a/daemon_wallpapoz-wrapper b/daemon_wallpapoz-wrapper
index 89ea42d..bb0d5df 100644
--- a/daemon_wallpapoz-wrapper
+++ b/daemon_wallpapoz-wrapper
@@ -4,25 +4,78 @@ which xprop &>/dev/null || exit 1
sleep 2
TRIAL=0
+FOUND=0
PROGNAME=$0
while true ; do
- RESULT=$(xprop -root _NET_DESKTOP_GEOMETRY 2>/dev/null)
+ if test $TRIAL -ge 6 ; then
+ echo "$PROGNAME: not lauching daemon_wallpapoz"
+ exit 1
+ fi
+
+ COMMAND="xprop -root _NET_NUMBER_OF_DESKTOPS 2>/dev/null"
+ RESULT=$(eval "$COMMAND")
+ RESULT=${RESULT:36}
+ if ( (test -z "$RESULT" ) || ! (echo "$RESULT" | grep -q "^[0-9]" ) ) ; then
+ # xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
+ TRIAL=$((TRIAL+1))
+ sleep 3
+ continue
+ fi
+
+ COMMAND="xprop -root _NET_DESKTOP_GEOMETRY 2>/dev/null"
+ RESULT=$(eval "$COMMAND")
RESULT=${RESULT:34}
WIDTH=$(echo $RESULT | sed -e 's|,.*$||')
HEIGHT=$(echo $RESULT | sed -e 's|^.*,||' | sed -e 's|^[ \t][ \t]*||')
- if [[ ( -z $WIDTH ) || ( -z $WIDTH ) ]] ; then
+ if ( (test -z "$WIDTH" ) || ! (echo "$WIDTH" | grep -q "^[0-9]" ) ) ; then
# xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
TRIAL=$((TRIAL+1))
- echo "$PROGNAME: xprop returned unexpected result for $TRIAL times"
- if test $TRIAL -ge 4 ; then
- echo "$PROGNAME: not lauching daemon_wallpapoz"
- exit 1
- fi
sleep 3
- else
- # xprop succeeded
- break
+ continue
fi
+ if ( (test -z "$HEIGHT" ) || ! (echo "$HEIGHT" | grep -q "^[0-9]" ) ) ; then
+ # xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
+ TRIAL=$((TRIAL+1))
+ sleep 3
+ continue
+ fi
+
+ COMMAND="xprop -root _NET_DESKTOP_VIEWPORT 2>/dev/null"
+ RESULT=$(eval "$COMMAND")
+ RESULT=${RESULT:34}
+ WIDTH=$(echo $RESULT | sed -e 's|,.*$||')
+ HEIGHT=$(echo $RESULT | sed -e 's|^.*,||' | sed -e 's|^[ \t][ \t]*||')
+ if ( (test -z "$WIDTH" ) || ! (echo "$WIDTH" | grep -q "^[0-9]" ) ) ; then
+ # xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
+ TRIAL=$((TRIAL+1))
+ sleep 3
+ continue
+ fi
+ if ( (test -z "$HEIGHT" ) || ! (echo "$HEIGHT" | grep -q "^[0-9]" ) ) ; then
+ # xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
+ TRIAL=$((TRIAL+1))
+ sleep 3
+ continue
+ fi
+
+ COMMAND="xprop -root _NET_CURRENT_DESKTOP 2>/dev/null"
+ RESULT=$(eval "$COMMAND")
+ RESULT=${RESULT:33}
+ if ( (test -z "$RESULT" ) || ! (echo "$RESULT" | grep -q "^[0-9]" ) ) ; then
+ # xprop failed
+ echo "daemon_wallpapoz: $COMMAND failed at startup, retrying after 3 seconds..."
+ TRIAL=$((TRIAL+1))
+ sleep 3
+ continue
+ fi
+
+ # succeeded
+ break
done
exec /usr/libexec/daemon_wallpapoz "$@"
More information about the scm-commits
mailing list