Compare commits
3 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8cfc502e94 | ||
|
|
0991688a81 | ||
|
|
7d34866057 |
3 changed files with 83 additions and 18 deletions
|
|
@ -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 "$@"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
--- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_nox 2010-03-18 00:52:45.000000000 +0900
|
||||
+++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py 2010-03-18 01:00:30.000000000 +0900
|
||||
--- wallpapoz-0.5/share/wallpapoz/lib/wallpapoz_system.py.kill_nox 2011-11-28 18:16:13.959482838 +0900
|
||||
+++ wallpapoz-0.5/share/wallpapoz/lib/wallpapoz_system.py 2011-11-28 18:19:02.545376745 +0900
|
||||
@@ -24,9 +24,11 @@
|
||||
## wallpapoz_system.py -- finds current desktop and changes wallpaper
|
||||
# achieve goal by calling external program
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
class WallpapozSystem:
|
||||
|
||||
@@ -59,12 +61,46 @@
|
||||
@@ -59,12 +61,48 @@
|
||||
print "daemon_wallpapoz: respawning daemon_wallpapoz."
|
||||
self.respawn_system()
|
||||
|
||||
|
|
@ -41,6 +41,8 @@
|
|||
+
|
||||
+ if (cmd.find('xprop') >= 0) and (pstdout.find('no such atom') >= 0):
|
||||
+ kill_daemon = True
|
||||
+ if (cmd.find('xprop') >= 0) and (pstdout.find('not') >= 0):
|
||||
+ kill_daemon = True
|
||||
+
|
||||
+ if kill_daemon:
|
||||
+ ## No X resource available, kill daemon_wallpapoz
|
||||
|
|
@ -60,7 +62,7 @@
|
|||
start_width = raw_resolution.find('Width')
|
||||
end_width = raw_resolution.find('\n',start_width)
|
||||
start_height = raw_resolution.find('Height')
|
||||
@@ -77,7 +113,7 @@
|
||||
@@ -77,7 +115,7 @@
|
||||
if self.beryl:
|
||||
self.total_workspaces = self.row_workspaces * self.column_workspaces
|
||||
else:
|
||||
|
|
@ -69,7 +71,7 @@
|
|||
|
||||
# Save this total_workspaces value
|
||||
if not WallpapozSystem.static_finding_total_workspaces_called_p:
|
||||
@@ -86,7 +122,7 @@
|
||||
@@ -86,7 +124,7 @@
|
||||
|
||||
## class method to find if user use beryl in his system or not
|
||||
def check_beryl(self):
|
||||
|
|
@ -78,7 +80,7 @@
|
|||
# output of xprop -root _NET_DESKTOP_GEOMETRY is '_NET_DESKTOP_GEOMETRY(CARDINAL) = 1024, 768\n'
|
||||
# and we just need the '1024, 768' part
|
||||
raw_geometry = raw_geometry[34:raw_geometry.find('\n')]
|
||||
@@ -117,7 +153,7 @@
|
||||
@@ -117,7 +155,7 @@
|
||||
## class method to know what workspace we are in now
|
||||
def current_desktop(self):
|
||||
if self.beryl:
|
||||
|
|
@ -87,7 +89,7 @@
|
|||
# output of xprop -root _NET_DESKTOP_VIEWPORT is '_NET_DESKTOP_VIEWPORT(CARDINAL) = 1024, 768\n'
|
||||
# and we just need the '1024, 768' part
|
||||
raw_viewport = raw_viewport[34:raw_viewport.find('\n')]
|
||||
@@ -126,7 +162,7 @@
|
||||
@@ -126,7 +164,7 @@
|
||||
y_pos = int(viewport[1]) / self.screen_height
|
||||
workspace = x_pos + self.column_workspaces * y_pos
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
%define mainver 0.5
|
||||
%undefine betaver
|
||||
#%%define svnver svn92_trunk
|
||||
%define fedorarel 8
|
||||
%define fedorarel 10
|
||||
|
||||
%define rel %{?betaver:0.}%{fedorarel}%{?svnver:.%svnver}%{?betaver:.%betaver}
|
||||
|
||||
|
|
@ -26,6 +26,7 @@ Source11: wallpapoz-autostart.desktop
|
|||
%endif
|
||||
# Install daemon_wallpapoz wrapper script, which may
|
||||
# fix 584980, 597687?
|
||||
# and 711541
|
||||
Source12: daemon_wallpapoz-wrapper
|
||||
# Misc fixes for daemon_wallpapoz under compiz working,
|
||||
# containing fix for bug 531342, 542244, bug 567437, bug 573642
|
||||
|
|
@ -40,6 +41,7 @@ Patch4: wallpapoz-0.4.1-rev92-paste-initialization.patch
|
|||
# Kill daemon_wallpapoz when X resource is no longer available
|
||||
# bug 531343, 538533, 541434, 556377, 569135, 571827
|
||||
# (and bug 566594)
|
||||
# (and bug 711541)
|
||||
Patch5: wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch
|
||||
# Kill other daemon_wallpapoz if running
|
||||
Patch6: wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch
|
||||
|
|
@ -108,6 +110,7 @@ wallpapers for different workspaces or virtual desktops.
|
|||
%patch11 -p1 -b .gsettings
|
||||
%endif
|
||||
%patch12 -p1 -b .workspace_img
|
||||
%patch13 -p1 -b .workspace_num_incr
|
||||
|
||||
# Umm... permission fix
|
||||
find . -type f -print0 | xargs -0 chmod 0644
|
||||
|
|
@ -176,6 +179,13 @@ popd
|
|||
%{_datadir}/applications/fedora-%{name}.desktop
|
||||
|
||||
%changelog
|
||||
* Fri Dec 30 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.5-10
|
||||
- Forgot to apply patch13...
|
||||
|
||||
* Mon Nov 28 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.5-9
|
||||
- More strict check on daemon_wallpapoz startup for xprop
|
||||
(bug 711541)
|
||||
|
||||
* Wed Jun 1 2011 Mamoru Tasaka <mtasaka@fedoraproject.org> - 0.5-8
|
||||
- Fix crash witching from desktop style XML to workspace style one
|
||||
with workspace number increased (bug 708769)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue