diff --git a/.gitignore b/.gitignore
index 05e45bf..7053e9c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1 @@
-wallpapoz-0.4.1-svn92_trunk.tar.bz2
-/wallpapoz-0.5.tar.bz2
-/wallpapoz-0.6.1.tar.bz2
-/wallpapoz-0.6.2.tar.bz2
-/wallpapoz-0.6.2-builder.tar.bz2
+wallpapoz-0.4.1-svn87_trunk.tar.bz2
diff --git a/daemon_wallpapoz-wrapper b/daemon_wallpapoz-wrapper
deleted file mode 100644
index bb0d5df..0000000
--- a/daemon_wallpapoz-wrapper
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-
-which xprop &>/dev/null || exit 1
-sleep 2
-
-TRIAL=0
-FOUND=0
-PROGNAME=$0
-while true ; do
- 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 ( (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_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 "$@"
-exit 1
diff --git a/sources b/sources
index cd46ad5..6758522 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (wallpapoz-0.6.2.tar.bz2) = 36ed198ba72e08f33ed92dca173f41eb7e7d307366ad42b7cfac2659511f42980351eeb4c02f155469fdf75be79fad37d77bb02118ad91f39da22dae5246860b
+dcdc89bee9b1e35e000f99f104a39774 wallpapoz-0.4.1-svn87_trunk.tar.bz2
diff --git a/wallpapoz-0.4.1-rev92-delete-one-wallpaper.patch b/wallpapoz-0.4.1-rev92-delete-one-wallpaper.patch
deleted file mode 100644
index 88fb809..0000000
--- a/wallpapoz-0.4.1-rev92-delete-one-wallpaper.patch
+++ /dev/null
@@ -1,107 +0,0 @@
---- wallpapoz-0.4.1-svn92_trunk/src/wallpapoz.deleteone 2010-06-13 03:08:43.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/src/wallpapoz 2010-06-13 17:33:06.000000000 +0900
-@@ -833,6 +833,16 @@
- # list to put our lowest iter in every related workspace
- lowest_iter_list = []
-
-+ # FIXME
-+ # FIXME
-+ # Currently copy_iter_list can be NoneType, e.g. when
-+ # - Select one wallpaper in a workspace
-+ # - and delete it
-+ # - next choose "Edit -> "Delete Wallpaperz""
-+ # Well, bugish, however anyway workaround...
-+ if not copy_iter_list:
-+ return lowest_iter_list
-+
- # indication we have done with this workspace
- done_workspace = True
-
-@@ -899,8 +909,16 @@
- # do the remaining job, get the lowest iter from last workspace if we have not done withlast workspace
- if not done_workspace:
-
-- lowest_iter_list.append(
-- self.store.get_iter( (parent_number_index, iter_workspace_index+1) ) )
-+ # Umm... the original code raises ValueError if trying to delete
-+ # a wallpaper from a workspace, if only one wallpaper existed.
-+ # Need further investigation, however anyway workaround...
-+ new_iter = []
-+ try:
-+ new_iter = self.store.get_iter((parent_number_index, iter_workspace_index + 1))
-+ except ValueError:
-+ pass
-+ if new_iter:
-+ lowest_iter_list.append(new_iter)
-
- return lowest_iter_list
-
-@@ -983,6 +1001,11 @@
- def cut_and_reordering_treeiter(self):
- lowest_iter_list = self.reordering_node_after_cut_and_paste( self.selected_iter )
-
-+ # workaround for the case that trying to remove a wallpaper from
-+ # the workspace where only one wallpaper exists
-+ if not lowest_iter_list:
-+ return
-+
- # iterate to cut ( really!!! ) the iter from selected iter list
- for single_iter in self.selected_iter:
-
-@@ -993,6 +1016,9 @@
- for single_iter in lowest_iter_list:
- self.order_treeiter_from_lowest_iter(single_iter)
-
-+ # Finally update selection view
-+ self.treeview_selection_changed(None)
-+
- # order treeiter in one workspace or in list mode from lowest iter ( more efficient )
- def order_treeiter_from_lowest_iter(self, single_iter):
- # get the path
-@@ -1209,6 +1235,22 @@
- # it display another image, and disable/enable some menu
- def treeview_selection_changed(self, widget):
- position_iter = self.get_selected_iter_of_treeview("anything")
-+
-+ if not position_iter:
-+ # Nothing is selected, unfortunately this can happen
-+ self.main_window.get_widget("rename_workspace").set_sensitive(False)
-+ self.rename_workspace_menu.set_sensitive(False)
-+ self.main_window.get_widget("change_wallpaper").set_sensitive(False)
-+ self.change_wallpaper_menu.set_sensitive(False)
-+ self.main_window.get_widget("cut").set_sensitive(False)
-+ self.cut_menu.set_sensitive(False)
-+ self.main_window.get_widget("copy").set_sensitive(False)
-+ self.copy_menu.set_sensitive(False)
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.delete_wallpapers_menu.set_sensitive(False)
-+ # Nothing left
-+ return
-+
- if type(self.store) == gtk.TreeStore:
- parent = self.store.iter_parent(position_iter)
- # parent node, enable: rename_workspace
-@@ -1224,8 +1266,21 @@
- self.cut_menu.set_sensitive(True)
- self.main_window.get_widget("copy").set_sensitive(True)
- self.copy_menu.set_sensitive(True)
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(True)
-- self.delete_wallpapers_menu.set_sensitive(True)
-+
-+ # See create_configuration_file
-+ # Check if there are at least 2 wallpapers
-+ childiter = self.store.iter_children(parent)
-+ childiter = self.store.iter_next(childiter)
-+
-+ # Only show "Delete wallpapers" menu if there are at least 2 wallpapers
-+ # in a workspace
-+ if childiter:
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(True)
-+ self.delete_wallpapers_menu.set_sensitive(True)
-+ else:
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.delete_wallpapers_menu.set_sensitive(False)
-+
- # parent node
- else:
- self.main_window.get_widget("rename_workspace").set_sensitive(True)
diff --git a/wallpapoz-0.4.1-rev92-noitem_selected.patch b/wallpapoz-0.4.1-rev92-noitem_selected.patch
deleted file mode 100644
index 75bd7a1..0000000
--- a/wallpapoz-0.4.1-rev92-noitem_selected.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- wallpapoz-0.4.1-svn92_trunk/src/wallpapoz.noselect 2010-02-08 02:51:56.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/src/wallpapoz 2010-02-08 03:57:03.000000000 +0900
-@@ -213,6 +213,12 @@
- # how many of selection do we have
- length_of_path_list = len(pathlist)
-
-+ # Well, it seems that in some cases no item is selected...
-+ # (RedHat bug 555181)
-+ if (not pathlist) or (not length_of_path_list) :
-+ # simply ignore
-+ return None
-+
- # add wallpapers, paste operation
- # multiple selection are okay as long as in one workspace, parent and child node togeter are okay, these multiple selection
- if type_selection == "wallpaper" or type_selection == "paste":
diff --git a/wallpapoz-0.4.1-rev92-paste-initialization.patch b/wallpapoz-0.4.1-rev92-paste-initialization.patch
deleted file mode 100644
index cac28b7..0000000
--- a/wallpapoz-0.4.1-rev92-paste-initialization.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- wallpapoz-0.4.1-svn92_trunk/src/wallpapoz.paste_init 2010-02-08 04:32:34.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/src/wallpapoz 2010-02-08 04:21:17.000000000 +0900
-@@ -94,6 +94,9 @@
- # create the pop up menu when we right click the treeview widget
- self.set_up_popup_menu()
-
-+ # initially no item is pasted
-+ self.selected_iter = None
-+
- # our signal and who handle that signal
- dic = { "on_wallpapoz_window_destroy" : self.destroy,
- "on_treeview_cursor_changed" : self.treeview_selection_changed,
-@@ -903,6 +906,9 @@
-
- if position_iter == None:
- return
-+ # At first self.selected_iter is None
-+ if not self.selected_iter:
-+ return
-
- # check first. User can not cut all wallpapers in workspace. Every workspace must have at least one wallpaper
- temp_iter_list = []
diff --git a/wallpapoz-0.5-startup-warn-about-workspace-name.patch b/wallpapoz-0.5-startup-warn-about-workspace-name.patch
deleted file mode 100644
index e4a397d..0000000
--- a/wallpapoz-0.5-startup-warn-about-workspace-name.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- wallpapoz-0.5/src/wallpapoz.startupwarn 2011-05-06 00:21:06.000000000 +0900
-+++ wallpapoz-0.5/src/wallpapoz 2011-05-06 15:41:58.000000000 +0900
-@@ -1296,9 +1296,14 @@
-
- filename = self.store.get_value(position_iter, 1)
-
-- # display image properly
-- from glib import GError as glib_GError
-- try:
-+ # display image properly, when cursor actually points to the contents of
-+ # files' list (i.e. not pointing to desktop name)
-+ if ( (type(self.store) == gtk.TreeStore) and
-+ ( parent == None ) ):
-+ self.image_widget.clear()
-+ else:
-+ from glib import GError as glib_GError
-+ try:
- anime = gtk.gdk.PixbufAnimation(filename)
-
- if anime.is_static_image() :
-@@ -1318,9 +1323,9 @@
- else:
- self.image_widget.set_from_pixbuf(static_im.scale_simple(int((float(width)/height)*300),300,gtk.gdk.INTERP_BILINEAR))
-
-- except IOError:
-+ except IOError:
- self.image_widget.clear()
-- except glib_GError, (msg):
-+ except glib_GError, (msg):
- print msg
- self.image_widget.clear()
-
diff --git a/wallpapoz-0.6.1-animated-image.patch b/wallpapoz-0.6.1-animated-image.patch
deleted file mode 100644
index 7690274..0000000
--- a/wallpapoz-0.6.1-animated-image.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.anime 2011-12-30 14:53:04.000000000 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2011-12-30 15:02:40.000000000 +0900
-@@ -1228,15 +1228,32 @@
- filename = self.store.get_value(position_iter, 1)
-
- # display image properly
-+ from glib import GError as glib_GError
- try:
-- im = Image.open(filename)
-- # keep image proportions
-- if im.size[0] > im.size[1]:
-- self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, 400, int((float(im.size[1])/im.size[0]) * 400)))
-+ anime = gtk.gdk.PixbufAnimation(filename)
-+
-+ if anime.is_static_image() :
-+ im = Image.open(filename)
-+ # keep image proportions
-+ if im.size[0] > im.size[1]:
-+ self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, 400, int((float(im.size[1])/im.size[0]) * 400)))
-+ else:
-+ self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, int(float(im.size[1])/im.size[0] * 300), 300))
-+
- else:
-- self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, int(float(im.size[1])/im.size[0] * 300), 300))
-+ width = anime.get_width()
-+ height = anime.get_height()
-+ static_im = anime.get_static_image()
-+ if width > height:
-+ self.image_widget.set_from_pixbuf(static_im.scale_simple(400, int((float(height)/width)*400),gtk.gdk.INTERP_BILINEAR))
-+ else:
-+ self.image_widget.set_from_pixbuf(static_im.scale_simple(int((float(width)/height)*300),300,gtk.gdk.INTERP_BILINEAR))
-+
- except IOError:
- self.image_widget.clear()
-+ except glib_GError, (msg):
-+ print msg
-+ self.image_widget.clear()
-
- # display image filename
- self.wallpaper_filename.set_markup("" + os.path.basename(filename) + "")
diff --git a/wallpapoz-0.6.1-delete-first-in-desktop-mode.patch b/wallpapoz-0.6.1-delete-first-in-desktop-mode.patch
deleted file mode 100644
index 7c348ee..0000000
--- a/wallpapoz-0.6.1-delete-first-in-desktop-mode.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.deletefirst 2011-12-30 15:35:31.000000000 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2011-12-30 15:38:56.000000000 +0900
-@@ -1062,13 +1062,13 @@
- lowest_iter = self.store.get_iter((path_iter-1,))
- else:
- index_temp = 0
-+ before_path_iter = 0
- for single_iter in self.selected_iter[1:]:
- path_iter = self.store.get_path(single_iter)[0]
- if path_iter == (index_temp + 1):
- index_temp = index_temp + 1
- before_path_iter = path_iter
-- else:
-- lowest_iter = self.store.get_iter((before_path_iter+1,))
-+ lowest_iter = self.store.get_iter((before_path_iter+1,))
-
- # remove the iter
- for single_iter in self.selected_iter:
diff --git a/wallpapoz-0.6.1-delete-one-wallpaper.patch b/wallpapoz-0.6.1-delete-one-wallpaper.patch
deleted file mode 100644
index ef2ffe3..0000000
--- a/wallpapoz-0.6.1-delete-one-wallpaper.patch
+++ /dev/null
@@ -1,107 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.deletelastone 2011-12-30 15:20:41.000000000 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2011-12-30 15:29:05.000000000 +0900
-@@ -832,6 +832,16 @@
- # list to put our lowest iter in every related workspace
- lowest_iter_list = []
-
-+ # FIXME
-+ # FIXME
-+ # Currently copy_iter_list can be NoneType, e.g. when
-+ # - Select one wallpaper in a workspace
-+ # - and delete it
-+ # - next choose "Edit -> "Delete Wallpaperz""
-+ # Well, bugish, however anyway workaround...
-+ if not copy_iter_list:
-+ return lowest_iter_list
-+
- # indication we have done with this workspace
- done_workspace = True
-
-@@ -898,8 +908,16 @@
- # do the remaining job, get the lowest iter from last workspace if we have not done withlast workspace
- if not done_workspace:
-
-- lowest_iter_list.append(
-- self.store.get_iter( (parent_number_index, iter_workspace_index+1) ) )
-+ # Umm... the original code raises ValueError if trying to delete
-+ # a wallpaper from a workspace, if only one wallpaper existed.
-+ # Need further investigation, however anyway workaround...
-+ new_iter = []
-+ try:
-+ new_iter = self.store.get_iter((parent_number_index, iter_workspace_index + 1))
-+ except ValueError:
-+ pass
-+ if new_iter:
-+ lowest_iter_list.append(new_iter)
-
- return lowest_iter_list
-
-@@ -975,6 +993,11 @@
- def cut_and_reordering_treeiter(self):
- lowest_iter_list = self.reordering_node_after_cut_and_paste( self.selected_iter )
-
-+ # workaround for the case that trying to remove a wallpaper from
-+ # the workspace where only one wallpaper exists
-+ if not lowest_iter_list:
-+ return
-+
- # iterate to cut ( really!!! ) the iter from selected iter list
- for single_iter in self.selected_iter:
-
-@@ -985,6 +1008,9 @@
- for single_iter in lowest_iter_list:
- self.order_treeiter_from_lowest_iter(single_iter)
-
-+ # Finally update selection view
-+ self.treeview_selection_changed(None)
-+
- # order treeiter in one workspace or in list mode from lowest iter ( more efficient )
- def order_treeiter_from_lowest_iter(self, single_iter):
- # get the path
-@@ -1201,6 +1227,22 @@
- # it display another image, and disable/enable some menu
- def treeview_selection_changed(self, widget):
- position_iter = self.get_selected_iter_of_treeview("anything")
-+
-+ if not position_iter:
-+ # Nothing is selected, unfortunately this can happen
-+ self.main_window.get_widget("rename_workspace").set_sensitive(False)
-+ self.rename_workspace_menu.set_sensitive(False)
-+ self.main_window.get_widget("change_wallpaper").set_sensitive(False)
-+ self.change_wallpaper_menu.set_sensitive(False)
-+ self.main_window.get_widget("cut").set_sensitive(False)
-+ self.cut_menu.set_sensitive(False)
-+ self.main_window.get_widget("copy").set_sensitive(False)
-+ self.copy_menu.set_sensitive(False)
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.delete_wallpapers_menu.set_sensitive(False)
-+ # Nothing left
-+ return
-+
- if type(self.store) == gtk.TreeStore:
- parent = self.store.iter_parent(position_iter)
- # parent node, enable: rename_workspace
-@@ -1216,8 +1258,21 @@
- self.cut_menu.set_sensitive(True)
- self.main_window.get_widget("copy").set_sensitive(True)
- self.copy_menu.set_sensitive(True)
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(True)
-- self.delete_wallpapers_menu.set_sensitive(True)
-+
-+ # See create_configuration_file
-+ # Check if there are at least 2 wallpapers
-+ childiter = self.store.iter_children(parent)
-+ childiter = self.store.iter_next(childiter)
-+
-+ # Only show "Delete wallpapers" menu if there are at least 2 wallpapers
-+ # in a workspace
-+ if childiter:
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(True)
-+ self.delete_wallpapers_menu.set_sensitive(True)
-+ else:
-+ self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.delete_wallpapers_menu.set_sensitive(False)
-+
- # parent node
- else:
- self.main_window.get_widget("rename_workspace").set_sensitive(True)
diff --git a/wallpapoz-0.6.1-dircheck.patch b/wallpapoz-0.6.1-dircheck.patch
deleted file mode 100644
index e9c53db..0000000
--- a/wallpapoz-0.6.1-dircheck.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.dircheck 2011-07-24 00:54:43.000000000 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2011-12-30 14:28:16.000000000 +0900
-@@ -536,6 +536,9 @@
- # if recursive, we use walktree
- if recursive_widget.get_active():
- # looping with walktree method
-+ if not os.path.isdir(cur_dir):
-+ return
-+
- for (basepath, children) in self.walktree(cur_dir,False):
- for child in children:
- # get the filename
-@@ -551,7 +554,11 @@
- # if not just looping the directory with ordinary fashion
- else:
- # looping all files in this directory
-- for file in os.listdir(cur_dir):
-+ try:
-+ dlist = os.listdir(cur_dir)
-+ except OSError:
-+ return
-+ for file in dlist:
- # get the filename
- filename = os.path.join(cur_dir, file)
- # we interested in file, not directory
-@@ -573,6 +580,9 @@
- # if recursive, we use walktree
- if recursive_widget.get_active():
- # looping with walktree method
-+ if not os.path.isdir(cur_dir):
-+ return
-+
- for (basepath, children) in self.walktree(cur_dir,False):
- for child in children:
- # get the filename
-@@ -588,7 +598,11 @@
- # if not, just looping with ordinary fashion
- else:
- # looping all files in this directory
-- for file in os.listdir(cur_dir):
-+ try:
-+ ddir = os.listdir(cur_dir)
-+ except OSError:
-+ return
-+ for file in ddir:
- # get the filename
- filename = os.path.join(cur_dir, file)
- # we interested in file, not directory
-@@ -618,6 +632,9 @@
- cur_dir = filechooser_widget.get_filename()
- # if recursive, we use walktree
- if recursive_widget.get_active():
-+ if not os.path.isdir(cur_dir):
-+ return
-+
- # looping with walktree method
- for (basepath, children) in self.walktree(cur_dir,False):
- for child in children:
-@@ -634,7 +651,11 @@
- # if not recursive, just looping the directory with ordinary fashion
- else:
- # looping all files in this directory
-- for file in os.listdir(cur_dir):
-+ try:
-+ dlist = os.listdir(cur_dir)
-+ except OSError:
-+ return
-+ for file in dlist:
- # get the filename
- filename = os.path.join(cur_dir, file)
- # we interested in file, not directory
-@@ -1210,7 +1231,11 @@
-
- # helping method
- def walktree (self, top = ".", depthfirst = True):
-- names = os.listdir(top)
-+ try:
-+ names = os.listdir(top)
-+ except OSError:
-+ names = []
-+ yield top, names
- if not depthfirst:
- yield top, names
- for name in names:
diff --git a/wallpapoz-0.6.1-kill-multiple-daemon.patch b/wallpapoz-0.6.1-kill-multiple-daemon.patch
deleted file mode 100644
index a602b91..0000000
--- a/wallpapoz-0.6.1-kill-multiple-daemon.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- wallpapoz-0.6.1/share/wallpapoz/lib/wallpapoz_system.py.kill_multi 2011-12-30 14:49:25.000000000 +0900
-+++ wallpapoz-0.6.1/share/wallpapoz/lib/wallpapoz_system.py 2011-12-30 14:49:25.000000000 +0900
-@@ -180,3 +180,17 @@
- print "os.execvp failed, exiting..."
- sys.exit(1)
-
-+ def prevent_multiple_start(self):
-+ cpid = os.getpid()
-+ cid = os.getuid()
-+
-+ wallpapoz_cmd = "pgrep -U %i -f daemon_wallpapoz" %cid
-+ python_cmd = "pgrep -U %i -f python" %cid
-+
-+ wallpapoz_id_list = os.popen(wallpapoz_cmd).read().splitlines()
-+ python_id_list = os.popen(python_cmd).read().splitlines()
-+
-+ for id_list in wallpapoz_id_list:
-+ if ( id_list in python_id_list ) and ( int(id_list) != cpid) :
-+ os.kill(int(id_list), signal.SIGTERM)
-+
---- wallpapoz-0.6.1/src/daemon_wallpapoz.kill_multi 2011-12-30 14:49:25.000000000 +0900
-+++ wallpapoz-0.6.1/src/daemon_wallpapoz 2011-12-30 14:52:08.000000000 +0900
-@@ -99,6 +99,9 @@
- # by calling external program
- wallpapoz_system = WallpapozSystem()
-
-+ # Kill other daemon_wallpapoz if running
-+ wallpapoz_system.prevent_multiple_start()
-+
- # type of window manager (gnome or xfce)
- window_manager = wallpapoz_system.window_manager
-
diff --git a/wallpapoz-0.6.1-nonutf8-directory.patch b/wallpapoz-0.6.1-nonutf8-directory.patch
deleted file mode 100644
index 8de1d75..0000000
--- a/wallpapoz-0.6.1-nonutf8-directory.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.nonutf8 2011-12-30 15:13:57.000000000 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2011-12-30 15:19:28.000000000 +0900
-@@ -542,6 +542,9 @@
- num_of_child = self.store.iter_n_children(iter)
- # what is the directory?
- cur_dir = filechooser_widget.get_filename()
-+ # get_filename can return NoneType (for non-UTF8 directory)
-+ if not cur_dir:
-+ return
- # if recursive, we use walktree
- if recursive_widget.get_active():
- # looping with walktree method
-@@ -586,6 +589,9 @@
- new_index = self.store.get_value(next_iter, 0) + 1
- # what is the directory?
- cur_dir = filechooser_widget.get_filename()
-+ # get_filename can return NoneType (for non-UTF8 directory)
-+ if not cur_dir:
-+ return
- # if recursive, we use walktree
- if recursive_widget.get_active():
- # looping with walktree method
diff --git a/wallpapoz-0.6.1-switch-from-wallpaper-to-desktop-with-workspace-increase.patch b/wallpapoz-0.6.1-switch-from-wallpaper-to-desktop-with-workspace-increase.patch
deleted file mode 100644
index e2ab0d7..0000000
--- a/wallpapoz-0.6.1-switch-from-wallpaper-to-desktop-with-workspace-increase.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- wallpapoz-0.6.1/src/wallpapoz.workspace_num_incr 2012-01-18 10:05:16.361577377 +0900
-+++ wallpapoz-0.6.1/src/wallpapoz 2012-01-18 10:09:45.651470988 +0900
-@@ -722,12 +722,17 @@
- # make the wallpaper list
- wallpapoz_system = WallpapozSystem()
- workspace_num = wallpapoz_system.get_total_workspaces()
-+ ii = 0
- for i in range(workspace_num):
-- parent = self.store.append(None, [i+1, worklist[i].pop(0), True])
-+ if (ii >= len(worklist)):
-+ ii = 0
-+ tmplist = list(worklist[ii])
-+ parent = self.store.append(None, [i+1, tmplist.pop(0), True])
- j = 1
-- for wallpaper in worklist[i]:
-+ for wallpaper in tmplist:
- self.store.append(parent, [j, wallpaper, False])
- j = j + 1
-+ ii = ii + 1
-
- # enable rename workspace menu
- self.main_window.get_widget("rename_workspace").set_sensitive(True)
diff --git a/wallpapoz-0.6.1-workspace-num-respawn.patch b/wallpapoz-0.6.1-workspace-num-respawn.patch
deleted file mode 100644
index 5b16c20..0000000
--- a/wallpapoz-0.6.1-workspace-num-respawn.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- wallpapoz-0.6.1/share/wallpapoz/lib/wallpapoz_system.py.respawn 2011-10-16 23:40:03.000000000 +0900
-+++ wallpapoz-0.6.1/share/wallpapoz/lib/wallpapoz_system.py 2011-12-30 16:07:01.000000000 +0900
-@@ -25,15 +25,27 @@
- # achieve goal by calling external program
-
- import os
-+import sys
- import string
-
- class WallpapozSystem:
-
-+ # Define static variable to save the initial value of
-+ # workspaces
-+ static_finding_total_workspaces_called_p = False
-+ static_total_workspaces = 0
-+
- def __init__(self):
- self.finding_screen_resolution()
- self.finding_total_workspaces()
- self.finding_desktop_environment()
-
-+ # Check if total_workspaces changed only here
-+ if WallpapozSystem.static_total_workspaces != self.total_workspaces:
-+ print "daemon_wallpapoz: the number of total workspaces changed during initialization process."
-+ print "daemon_wallpapoz: respawning daemon_wallpapoz."
-+ self.respawn_system()
-+
- def set_style(self, style):
- self.wallpaper_style = style
-
-@@ -69,6 +81,11 @@
- def finding_total_workspaces(self):
- self.total_workspaces = int(os.popen("xprop -root _NET_NUMBER_OF_DESKTOPS").read()[36:38])
-
-+ # Save this total_workspaces value
-+ if not WallpapozSystem.static_finding_total_workspaces_called_p:
-+ WallpapozSystem.static_finding_total_workspaces_called = True
-+ WallpapozSystem.static_total_workspaces = self.total_workspaces
-+
- ## class method to find how many rows and columns of workspaces
- def finding_row_and_column(self):
- self.row_workspaces = self.geometry_height / self.screen_height
-@@ -117,3 +134,11 @@
- return True
- else:
- return False
-+
-+ def respawn_system(self):
-+ new_argv = []
-+ new_argv.extend(sys.argv)
-+ os.execvp('daemon_wallpapoz', new_argv)
-+ print "os.execvp failed, exiting..."
-+ sys.exit(1)
-+
---- wallpapoz-0.6.1/src/daemon_wallpapoz.respawn 2011-07-24 00:54:43.000000000 +0900
-+++ wallpapoz-0.6.1/src/daemon_wallpapoz 2011-12-30 16:06:07.000000000 +0900
-@@ -145,11 +145,16 @@
- if wallpapozxml.get_type() == "workspace":
- while True:
- # don't get rush
-- time.sleep(1)
-+ # sleep a bit more
-+ time.sleep(2)
-
- # what workspace we are in now?
- cur_desk = wallpapoz_system.current_desktop()
-
-+ if cur_desk >= wallpapoz_system.get_total_workspaces():
-+ # ignore
-+ continue
-+
- # requirement for changing wallpaper
- # 1. we change workspace
- # 2. index of wallpaper list change
diff --git a/wallpapoz-0.6.2-CINNAMON.patch b/wallpapoz-0.6.2-CINNAMON.patch
deleted file mode 100644
index 3fe5866..0000000
--- a/wallpapoz-0.6.2-CINNAMON.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/share/wallpapoz/lib/wallpapoz_system.py
-+++ b/share/wallpapoz/lib/wallpapoz_system.py
-@@ -117,6 +117,8 @@ class WallpapozSystem:
- self.window_manager = 'XFCE4'
- elif wm_name=='Marco':
- self.window_manager = 'MATE'
-+ elif wm_name=='Mutter (Muffin)':
-+ self.window_manager = 'CINNAMON'
- else:
- try:
- output = os.popen("gnome-session --version")
-@@ -166,6 +168,9 @@ class WallpapozSystem:
- elif self.window_manager == "MATE":
- os.system('gsettings set org.mate.background picture-filename ' + '"' + wallpaper + '"')
- os.system('gsettings set org.mate.background picture-options ' + self.wallpaper_style)
-+ elif self.window_manager == "CINNAMON":
-+ os.system("gsettings set org.cinnamon.desktop.background picture-uri 'file://" + wallpaper + "'")
-+ os.system("gsettings set org.cinnamon.desktop.background picture-options " + self.wallpaper_style)
- elif self.window_manager == "XFCE4":
- os.system("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s " +
- '"' + wallpaper + '"')
-@@ -183,6 +188,8 @@ class WallpapozSystem:
- return os.popen("gsettings get org.gnome.desktop.background picture-uri").read()[8:-2]
- elif self.window_manager == "MATE":
- return os.popen("gsettings get org.mate.background picture-filename").read()[:-1]
-+ elif self.window_manager == "CINNAMON":
-+ return os.popen("gsettings get org.cinnamon.desktop.background picture-uri").read()[8:-2]
- elif self.window_manager == "XFCE4":
- return os.popen("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path").read()[:-1]
- else:
---- a/src/daemon_wallpapoz
-+++ b/src/daemon_wallpapoz
-@@ -112,6 +112,7 @@ if __name__ == "__main__":
- available_style['Gnome'] = { '3' : 'zoom', '2' : 'scaled', '1' : 'stretched',
- '0' : 'centered', '4' : 'wallpaper' }
- available_style['MATE'] = available_style['Gnome']
-+ available_style['CINNAMON'] = available_style['Gnome']
- available_style['Gnome3'] = available_style['Gnome']
- available_style['XFCE4'] = { '3' : '5', '2' : '4', '1' : '3', '0' : '1',
- '4' : '2' }
diff --git a/wallpapoz-0.6.2-LXDE.patch b/wallpapoz-0.6.2-LXDE.patch
deleted file mode 100644
index aafcf16..0000000
--- a/wallpapoz-0.6.2-LXDE.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py.LXDE 2013-01-19 21:34:04.000000000 +0900
-+++ wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py 2013-01-19 22:10:23.000000000 +0900
-@@ -105,6 +105,14 @@
- wm_name = raw_wm_name[29:raw_wm_name.rfind('"')]
- # default is Gnome3.
- self.window_manager = 'Gnome3'
-+ if wm_name == 'Openbox':
-+ try:
-+ env = os.environ['XDG_CURRENT_DESKTOP']
-+ if env == 'LXDE':
-+ self.window_manager = 'LXDE'
-+ return
-+ except:
-+ pass
- if wm_name=='Xfwm4':
- self.window_manager = 'XFCE4'
- else:
-@@ -158,6 +166,9 @@
- '"' + wallpaper + '"')
- os.system("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-style -s " +
- self.wallpaper_style)
-+ elif self.window_manager == "LXDE":
-+ os.system("pcmanfm -w " + '"' + wallpaper + '"')
-+ os.system("pcmanfm --wallpaper-mode=" + self.wallpaper_style)
-
- ## class method to find current desktop wallpaper
- def finding_current_wallpaper(self):
-@@ -167,6 +178,8 @@
- return os.popen("gsettings get org.gnome.desktop.background picture-uri").read()[8:-2]
- elif self.window_manager == "XFCE4":
- return os.popen("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path").read()[:-1]
-+ else:
-+ return ""
-
- ## class method to detect that we have changed workspace or not
- def has_changed(self, previous_desktop, cur_desk):
---- wallpapoz-0.6.2/src/daemon_wallpapoz.LXDE 2013-01-19 21:34:04.000000000 +0900
-+++ wallpapoz-0.6.2/src/daemon_wallpapoz 2013-01-19 22:15:01.000000000 +0900
-@@ -114,6 +114,8 @@
- available_style['Gnome3'] = available_style['Gnome']
- available_style['XFCE4'] = { '3' : '5', '2' : '4', '1' : '3', '0' : '1',
- '4' : '2' }
-+ available_style['LXDE'] = {'0': 'center', '1' : 'stretch', '2' : 'fit',
-+ '3': 'fit', '4': 'tile'}
- style = available_style[window_manager][wallpapozxml.style()]
- wallpapoz_system.set_style(style)
-
diff --git a/wallpapoz-0.6.2-MATE.patch b/wallpapoz-0.6.2-MATE.patch
deleted file mode 100644
index 8f31556..0000000
--- a/wallpapoz-0.6.2-MATE.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/share/wallpapoz/lib/wallpapoz_system.py
-+++ b/share/wallpapoz/lib/wallpapoz_system.py
-@@ -115,6 +115,8 @@ class WallpapozSystem:
- pass
- if wm_name=='Xfwm4':
- self.window_manager = 'XFCE4'
-+ elif wm_name=='Marco':
-+ self.window_manager = 'MATE'
- else:
- try:
- output = os.popen("gnome-session --version")
-@@ -161,6 +163,9 @@ class WallpapozSystem:
- elif self.window_manager == "Gnome3":
- os.system("gsettings set org.gnome.desktop.background picture-uri 'file://" + wallpaper + "'")
- os.system("gsettings set org.gnome.desktop.background picture-options " + self.wallpaper_style)
-+ elif self.window_manager == "MATE":
-+ os.system('gsettings set org.mate.background picture-filename ' + '"' + wallpaper + '"')
-+ os.system('gsettings set org.mate.background picture-options ' + self.wallpaper_style)
- elif self.window_manager == "XFCE4":
- os.system("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s " +
- '"' + wallpaper + '"')
-@@ -176,6 +181,8 @@ class WallpapozSystem:
- return os.popen("gconftool-2 -g /desktop/gnome/background/picture_filename").read()[:-1]
- elif self.window_manager == "Gnome3":
- return os.popen("gsettings get org.gnome.desktop.background picture-uri").read()[8:-2]
-+ elif self.window_manager == "MATE":
-+ return os.popen("gsettings get org.mate.background picture-filename").read()[:-1]
- elif self.window_manager == "XFCE4":
- return os.popen("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path").read()[:-1]
- else:
---- a/src/daemon_wallpapoz
-+++ b/src/daemon_wallpapoz
-@@ -111,6 +111,7 @@ if __name__ == "__main__":
- available_style = {}
- available_style['Gnome'] = { '3' : 'zoom', '2' : 'scaled', '1' : 'stretched',
- '0' : 'centered', '4' : 'wallpaper' }
-+ available_style['MATE'] = available_style['Gnome']
- available_style['Gnome3'] = available_style['Gnome']
- available_style['XFCE4'] = { '3' : '5', '2' : '4', '1' : '3', '0' : '1',
- '4' : '2' }
diff --git a/wallpapoz-0.6.2-import-PIL-for-Image.patch b/wallpapoz-0.6.2-import-PIL-for-Image.patch
deleted file mode 100644
index cab327b..0000000
--- a/wallpapoz-0.6.2-import-PIL-for-Image.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff -ruN wallpapoz-0.6.2.orig/setup.py wallpapoz-0.6.2/setup.py
---- wallpapoz-0.6.2.orig/setup.py 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/setup.py 2013-01-14 15:57:08.902128603 -0500
-@@ -123,7 +123,7 @@
- print " !!! Python Glade ............. ", _("Not found")
- required_found = False
- try:
-- import Image
-+ from PIL import Image
- print " Python Imaging Library ....... OK"
- except ImportError:
- print " !!! Python Imaging Library ... ", _("Not found")
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz wallpapoz-0.6.2/src/wallpapoz
---- wallpapoz-0.6.2.orig/src/wallpapoz 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz 2013-01-14 16:00:16.960947005 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.anime wallpapoz-0.6.2/src/wallpapoz.anime
---- wallpapoz-0.6.2.orig/src/wallpapoz.anime 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.anime 2013-01-14 15:58:53.632027371 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.deletefirst wallpapoz-0.6.2/src/wallpapoz.deletefirst
---- wallpapoz-0.6.2.orig/src/wallpapoz.deletefirst 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.deletefirst 2013-01-14 15:59:32.240990119 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.deletelastone wallpapoz-0.6.2/src/wallpapoz.deletelastone
---- wallpapoz-0.6.2.orig/src/wallpapoz.deletelastone 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.deletelastone 2013-01-14 15:59:20.417001528 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.dircheck wallpapoz-0.6.2/src/wallpapoz.dircheck
---- wallpapoz-0.6.2.orig/src/wallpapoz.dircheck 2013-01-14 15:56:24.057172107 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.dircheck 2013-01-14 15:57:32.238106009 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.noitem wallpapoz-0.6.2/src/wallpapoz.noitem
---- wallpapoz-0.6.2.orig/src/wallpapoz.noitem 2013-01-14 15:56:24.057172107 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.noitem 2013-01-14 15:57:47.354091394 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.nonutf8 wallpapoz-0.6.2/src/wallpapoz.nonutf8
---- wallpapoz-0.6.2.orig/src/wallpapoz.nonutf8 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.nonutf8 2013-01-14 15:59:04.928016478 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.patch_init wallpapoz-0.6.2/src/wallpapoz.patch_init
---- wallpapoz-0.6.2.orig/src/wallpapoz.patch_init 2013-01-14 15:56:24.057172107 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.patch_init 2013-01-14 15:58:33.808046499 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.workspace_img wallpapoz-0.6.2/src/wallpapoz.workspace_img
---- wallpapoz-0.6.2.orig/src/wallpapoz.workspace_img 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.workspace_img 2013-01-14 15:59:54.968968202 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
-diff -ruN wallpapoz-0.6.2.orig/src/wallpapoz.workspace_num_incr wallpapoz-0.6.2/src/wallpapoz.workspace_num_incr
---- wallpapoz-0.6.2.orig/src/wallpapoz.workspace_num_incr 2013-01-14 15:56:24.058172106 -0500
-+++ wallpapoz-0.6.2/src/wallpapoz.workspace_num_incr 2013-01-14 16:00:08.673954992 -0500
-@@ -35,7 +35,7 @@
- import sys
- import stat
- import gettext
--import Image
-+from PIL import Image
-
- try:
- import gnome
diff --git a/wallpapoz-0.6.2-kill-daemon-without-x.patch b/wallpapoz-0.6.2-kill-daemon-without-x.patch
deleted file mode 100644
index 38eb35f..0000000
--- a/wallpapoz-0.6.2-kill-daemon-without-x.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py.kill_nox 2012-03-06 11:59:53.171834985 +0900
-+++ wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py 2012-03-06 14:02:32.087891881 +0900
-@@ -24,9 +24,11 @@
- ## wallpapoz_system.py -- finds current desktop and changes wallpaper
- # achieve goal by calling external program
-
-+import subprocess
- import os
- import sys
- import string
-+import signal
-
- class WallpapozSystem:
-
-@@ -46,12 +48,48 @@
- print "daemon_wallpapoz: respawning daemon_wallpapoz."
- self.respawn_system()
-
-+ def exec_cmd_under_X(self, cmd):
-+ try:
-+ p = subprocess.Popen(
-+ cmd,
-+ stdout = subprocess.PIPE,
-+ stderr = subprocess.PIPE,
-+ shell = True
-+ )
-+ except OSError:
-+ print "daemon_wallpapoz: fork failed for %s, exiting." %cmd
-+ sys.exit(1)
-+
-+ pstdout = p.stdout.read()
-+ pstderr = p.stderr.read()
-+ ret = p.wait()
-+
-+ kill_daemon = False
-+
-+ if (ret != 0) and (ret & 0xFF):
-+ print "daemon_wallpapoz: %s returned status %i." %(cmd, ret)
-+ print "daemon_wallpapoz: error message: %s" %pstderr
-+ kill_daemon = True
-+
-+ 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
-+ print "daemon_wallpapoz: X resource seems no longer available."
-+ print "daemon_wallpapoz: killing daemon_wallpapoz."
-+ sys.exit(1)
-+
-+ return pstdout
-+
- def set_style(self, style):
- self.wallpaper_style = style
-
- ## class method to find monitor resolution
- def finding_screen_resolution(self):
-- raw_resolution = os.popen('xwininfo -root').read()
-+ raw_resolution = self.exec_cmd_under_X('xwininfo -root')
- start_width = raw_resolution.find('Width')
- end_width = raw_resolution.find('\n',start_width)
- start_height = raw_resolution.find('Height')
-@@ -61,9 +99,9 @@
-
- ## class method to find which desktop environment user uses
- def finding_desktop_environment(self):
-- raw_window_id = os.popen('xprop -root _NET_SUPPORTING_WM_CHECK').read()
-+ raw_window_id = self.exec_cmd_under_X('xprop -root _NET_SUPPORTING_WM_CHECK')
- window_id = raw_window_id[46:raw_window_id.find("\n")]
-- raw_wm_name = os.popen('xprop -id ' + window_id + ' 8s _NET_WM_NAME').read()
-+ raw_wm_name = self.exec_cmd_under_X('xprop -id ' + window_id + ' 8s _NET_WM_NAME')
- wm_name = raw_wm_name[29:raw_wm_name.rfind('"')]
- # default is Gnome3.
- self.window_manager = 'Gnome3'
-@@ -80,7 +118,7 @@
-
- ## class method to find amount of workspaces in user desktop
- def finding_total_workspaces(self):
-- self.total_workspaces = int(os.popen("xprop -root _NET_NUMBER_OF_DESKTOPS").read()[36:38])
-+ self.total_workspaces = int(self.exec_cmd_under_X("xprop -root _NET_NUMBER_OF_DESKTOPS")[36:38])
-
- # Save this total_workspaces value
- if not WallpapozSystem.static_finding_total_workspaces_called_p:
-@@ -98,7 +136,7 @@
-
- ## class method to know what workspace we are in now
- def current_desktop(self):
-- raw_workspace = os.popen('xprop -root _NET_CURRENT_DESKTOP').read()
-+ raw_workspace = self.exec_cmd_under_X('xprop -root _NET_CURRENT_DESKTOP')
- workspace = int(raw_workspace[33] + raw_workspace[34])
- return workspace
-
diff --git a/wallpapoz-0.6.2-python3-desktop-type.patch b/wallpapoz-0.6.2-python3-desktop-type.patch
deleted file mode 100644
index 5530f16..0000000
--- a/wallpapoz-0.6.2-python3-desktop-type.patch
+++ /dev/null
@@ -1,114 +0,0 @@
---- wallpapoz-0.6.2/src/wallpapoz.py3.01 2019-11-25 15:36:39.502763400 +0900
-+++ wallpapoz-0.6.2/src/wallpapoz 2019-11-28 13:16:27.404156561 +0900
-@@ -220,7 +220,7 @@
- def get_selected_iter_of_treeview(self, type_selection):
-
- # treeselection give 2-tuple.... ( model, path )
-- pathlist = self.treeselection.get_selected_rows()[1]
-+ model, pathlist = self.treeselection.get_selected_rows()
-
- # how many of selection do we have
- length_of_path_list = len(pathlist)
-@@ -883,7 +883,14 @@
- for copy_iter in copy_iter_list:
-
- # get the parent and child number
-- copy_iter_parent_number, copy_iter_child_number = self.store.get_path(copy_iter)
-+ if type(self.store) == gtk.TreeStore:
-+ copy_iter_parent_number, copy_iter_child_number = self.store.get_path(copy_iter)
-+ elif type(self.store) == gtk.ListStore:
-+ # "desktop" type xml, workaround
-+ copy_iter_child_number = self.store.get_path(copy_iter)[0]
-+ copy_iter_parent_number = 0
-+ else:
-+ raise
-
- # we are in new workspace
- if copy_iter_parent_number != parent_number_index:
-@@ -931,7 +938,11 @@
- # it is not in the same block but still in the same workspace
- else:
-
-- lowest_iter_list.append(
-+ if type(self.store) == gtk.ListStore:
-+ lowest_iter_list.append(
-+ self.store.get_iter(iter_workspace_index+1))
-+ else:
-+ lowest_iter_list.append(
- self.store.get_iter( (copy_iter_parent_number, iter_workspace_index+1) ) )
-
- done_workspace = True
-@@ -943,8 +954,13 @@
- # a wallpaper from a workspace, if only one wallpaper existed.
- # Need further investigation, however anyway workaround...
- new_iter = []
-+ if type(self.store) == gtk.ListStore:
-+ parent_number_index = 0
- try:
-- new_iter = self.store.get_iter((parent_number_index, iter_workspace_index + 1))
-+ if type(self.store) == gtk.ListStore:
-+ new_iter = self.store.get_iter(iter_workspace_index + 1)
-+ else:
-+ new_iter = self.store.get_iter((parent_number_index, iter_workspace_index + 1))
- except ValueError:
- pass
- if new_iter:
-@@ -970,8 +986,8 @@
- if self.store.get_path(single_iter)[0] != parent_number:
- temp_iter_list = []
- parent_number = self.store.get_path(single_iter)[0]
-- temp_iter_list.append(single_iter)
-- prev_iter = single_iter
-+ temp_iter_list.append(single_iter)
-+ prev_iter = single_iter
-
- # do the remaining job
- if self.store.iter_n_children( self.store.iter_parent(prev_iter) ) == len(temp_iter_list) and self.work_on_tree == "cut":
-@@ -986,11 +1002,17 @@
- # if type(self.store) == gtk.TreeStore:
- parent = self.store.iter_parent(position_iter)
- new_index = self.store.get_value(position_iter, 0) + 1
-- # if it is child node
-- if parent != None:
-+
-+ # if it is child node in "workspace" xml or "desktop" type xml
-+ if (type(self.store) == gtk.ListStore) or (parent != None):
- for single_iter in self.selected_iter:
- node_value = self.store.get_value(single_iter, 1)
-- position_iter = self.store.insert_after(parent, position_iter, [new_index, node_value, False])
-+ if type(self.store) == gtk.ListStore:
-+ # desktop type
-+ position_iter = self.store.insert_after(position_iter, [new_index, node_value, False])
-+ else:
-+ # child node in workspace xml
-+ position_iter = self.store.insert_after(parent, position_iter, [new_index, node_value, False])
- new_index = new_index + 1
-
- # after inserting new row, we must sort out the index number after it
-@@ -1108,6 +1130,7 @@
- self.order_treeiter_from_lowest_iter(lowest_iter)
-
- # select something after deleting treenodes
-+ self.treeselection.unselect_all()
- self.treeselection.select_path(0)
-
- # create configuration file ( we call this method when we click save button )
-@@ -1274,6 +1297,18 @@
- # Nothing left
- return
-
-+ if type(self.store) == gtk.ListStore:
-+ #self.builder.get_object("rename_workspace").set_sensitive(False)
-+ #self.rename_workspace_menu.set_sensitive(False)
-+ self.builder.get_object("change_wallpaper").set_sensitive(True)
-+ self.change_wallpaper_menu.set_sensitive(True)
-+ self.builder.get_object("cut").set_sensitive(True)
-+ self.cut_menu.set_sensitive(True)
-+ self.builder.get_object("copy").set_sensitive(True)
-+ self.copy_menu.set_sensitive(True)
-+ self.builder.get_object("delete_wallpapers").set_sensitive(True)
-+ self.delete_wallpapers_menu.set_sensitive(True)
-+
- if type(self.store) == gtk.TreeStore:
- parent = self.store.iter_parent(position_iter)
- # parent node, enable: rename_workspace
diff --git a/wallpapoz-0.6.2-python3.patch b/wallpapoz-0.6.2-python3.patch
deleted file mode 100644
index 533dcfb..0000000
--- a/wallpapoz-0.6.2-python3.patch
+++ /dev/null
@@ -1,786 +0,0 @@
-diff -urp wallpapoz-0.6.2.py2/setup.py wallpapoz-0.6.2.py3/setup.py
---- wallpapoz-0.6.2.py2/setup.py 2019-09-02 14:04:36.124389528 +0900
-+++ wallpapoz-0.6.2.py3/setup.py 2019-09-02 14:50:57.162142691 +0900
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2
-+#!/usr/bin/python3
- # -*- coding: utf-8 -*-
-
- #=============================================================================
-@@ -62,7 +62,7 @@ Options:
- """)
-
- def info():
-- print usage_info
-+ print (usage_info)
- sys.exit(1)
-
- def install(src, dst):
-@@ -73,9 +73,9 @@ def install(src, dst):
- if not os.path.isdir(os.path.dirname(dst)):
- os.makedirs(os.path.dirname(dst))
- shutil.copy2(src, dst)
-- print _("Installed"), dst
-+ print (_("Installed"), dst)
- except:
-- print _("Error while installing"), dst
-+ print (_("Error while installing"), dst)
-
- def uninstall(path):
- try:
-@@ -86,71 +86,75 @@ def uninstall(path):
- shutil.rmtree(path)
- else:
- return
-- print _("Removed"), path
-+ print (_("Removed"), path)
- except:
-- print _("Error while removing"), path
-+ print (_("Error while removing"), path)
-
- def check_dependencies():
- required_found = True
- recommended_found = True
-- print _("Checking dependencies...")
-+ print (_("Checking dependencies..."))
- print
-- print _("Required dependencies:")
-+ print (_("Required dependencies:"))
- print
- # Should also check the PyGTK version. To do that we have to load the
- # gtk module though, which normally can't be done while using `sudo`.
- try:
-- import pygtk
-- print " PyGTK ........................ OK"
-+ #import pygtk
-+ import gi
-+ gi.require_version("Gtk", "3.0")
-+ from gi.repository import Gtk
-+ print (" PyGTK ........................ OK")
- except ImportError:
-- print " !!! PyGTK .................... ", _("Not found")
-+ print (" !!! PyGTK .................... ", _("Not found"))
- required_found = False
- try:
- # shutdown the warnings
- import warnings
- warnings.simplefilter("ignore", Warning)
-- import gtk.glade
-- print " Python Glade ................. OK"
-- except ImportError:
-- print " !!! Python Glade ............. ", _("Not found")
-+ #import gtk.glade
-+ Gtk.Builder()
-+ print (" Python Glade ................. OK")
-+ except (ImportError, AttributeError):
-+ print (" !!! Python Glade ............. ", _("Not found"))
- required_found = False
- except RuntimeError:
- # so we can check dependency when there is no DISPLAY
- warnings.simplefilter("default", Warning)
- if not os.environ.get("DISPLAY"):
-- print " Python Glade ................. SKIP"
-+ print (" Python Glade ................. SKIP")
- else:
-- print " !!! Python Glade ............. ", _("Not found")
-- required_found = False
-+ print (" !!! Python Glade ............. ", _("Not found"))
-+ #required_found = False
- try:
- from PIL import Image
-- print " Python Imaging Library ....... OK"
-+ print (" Python Imaging Library ....... OK")
- except ImportError:
-- print " !!! Python Imaging Library ... ", _("Not found")
-+ print (" !!! Python Imaging Library ... ", _("Not found"))
- required_found = False
- try:
- import gnome
-- print " Gnome Python ................. OK"
-+ print (" Gnome Python ................. OK")
- except ImportError:
-- print " !!! Gnome Python ............. ", _("Not found")
-+ print (" !!! Gnome Python ............. ", _("Not found"))
- recommended_found = False
- out = os.popen('which xwininfo').readlines
- if out == []:
-- print " Xwininfo tool ................ ", _("Not found")
-+ print (" Xwininfo tool ................ ", _("Not found"))
- required_found = False
- else:
-- print " Xwininfo tool ................ OK"
-+ print (" Xwininfo tool ................ OK")
-
- if not required_found:
- print
-- print _("Could not find all required dependencies!")
-- print _("Please install them and try again.")
-+ print (_("Could not find all required dependencies!"))
-+ print (_("Please install them and try again."))
- print
- sys.exit(1)
- if not recommended_found:
- print
-- print _("Gnome Python is not found. Wallpapoz still could be used and it has been installed.")
-- print _("But it means you can not access help documentation in your native language if it is available.")
-+ print (_("Gnome Python is not found. Wallpapoz still could be used and it has been installed."))
-+ print (_("But it means you can not access help documentation in your native language if it is available."))
- print
-
- install_dir = "/usr/local/"
-@@ -166,12 +170,12 @@ for opt, value in opts:
- if opt == "--installdir":
- install_dir = value
- if not os.path.isdir(install_dir):
-- print _("\n*** Error:"), install_dir, _("does not exist.\n" )
-+ print (_("\n*** Error:"), install_dir, _("does not exist.\n" ))
- info()
-
- if args == ["install"]:
- check_dependencies()
-- print _("Installing Wallpapoz in"), install_dir, "...\n"
-+ print (_("Installing Wallpapoz in"), install_dir, "...\n")
- install("src/wallpapoz", "bin/wallpapoz")
- install("src/daemon_wallpapoz", "bin/daemon_wallpapoz")
- install("src/launcher_wallpapoz.sh", "bin/launcher_wallpapoz.sh")
-@@ -193,7 +197,7 @@ if args == ["install"]:
- "share/gnome/help/wallpapoz/" + lang + "/legal.xml")
-
- elif args == ["uninstall"]:
-- print _("Uninstalling Wallpapoz from"), install_dir, "...\n"
-+ print (_("Uninstalling Wallpapoz from"), install_dir, "...\n")
- uninstall("bin/wallpapoz")
- uninstall("bin/daemon_wallpapoz")
- uninstall("bin/launcher_wallpapoz.sh")
-@@ -211,11 +215,11 @@ elif args == ["uninstall"]:
- uninstall("share/gnome/help/wallpapoz/" + lang + "/wallpapoz.xml")
- uninstall("share/gnome/help/wallpapoz/" + lang + "/legal.xml")
- print
-- print _("""
-+ print (_("""
- There might still be files in ~/.wallpapoz/ left on your system.
- Please remove that directory manually if you do not plan to
- install Wallpapoz again later.
--""")
-+"""))
-
- else:
- info()
-diff -urp wallpapoz-0.6.2.py2/share/wallpapoz/lib/wallpapoz_system.py wallpapoz-0.6.2.py3/share/wallpapoz/lib/wallpapoz_system.py
---- wallpapoz-0.6.2.py2/share/wallpapoz/lib/wallpapoz_system.py 2019-09-02 14:04:36.105389275 +0900
-+++ wallpapoz-0.6.2.py3/share/wallpapoz/lib/wallpapoz_system.py 2019-09-01 21:08:35.000000000 +0900
-@@ -44,8 +44,8 @@ class WallpapozSystem:
-
- # Check if total_workspaces changed only here
- if WallpapozSystem.static_total_workspaces != self.total_workspaces:
-- print "daemon_wallpapoz: the number of total workspaces changed during initialization process."
-- print "daemon_wallpapoz: respawning daemon_wallpapoz."
-+ print ("daemon_wallpapoz: the number of total workspaces changed during initialization process.")
-+ print ("daemon_wallpapoz: respawning daemon_wallpapoz.")
- self.respawn_system()
-
- def exec_cmd_under_X(self, cmd):
-@@ -57,32 +57,35 @@ class WallpapozSystem:
- shell = True
- )
- except OSError:
-- print "daemon_wallpapoz: fork failed for %s, exiting." %cmd
-+ print ("daemon_wallpapoz: fork failed for %s, exiting." %cmd)
- sys.exit(1)
-
- pstdout = p.stdout.read()
- pstderr = p.stderr.read()
- ret = p.wait()
-+ # FIXME
-+ pstdout_str = pstdout.decode('utf-8')
-
- kill_daemon = False
-
- if (ret != 0) and (ret & 0xFF):
-- print "daemon_wallpapoz: %s returned status %i." %(cmd, ret)
-- print "daemon_wallpapoz: error message: %s" %pstderr
-+ print ("daemon_wallpapoz: %s returned status %i." %(cmd, ret))
-+ print ("daemon_wallpapoz: error message: %s" %pstderr)
- kill_daemon = True
-
-- if (cmd.find('xprop') >= 0) and (pstdout.find('no such atom') >= 0):
-+ if (cmd.find('xprop') >= 0) and (pstdout_str.find('no such atom') >= 0):
- kill_daemon = True
-- if (cmd.find('xprop') >= 0) and (pstdout.find('not') >= 0):
-+ if (cmd.find('xprop') >= 0) and (pstdout_str.find('not') >= 0):
- kill_daemon = True
-
- if kill_daemon:
- ## No X resource available, kill daemon_wallpapoz
-- print "daemon_wallpapoz: X resource seems no longer available."
-- print "daemon_wallpapoz: killing daemon_wallpapoz."
-+ print ("daemon_wallpapoz: X resource seems no longer available.")
-+ print ("daemon_wallpapoz: killing daemon_wallpapoz.")
- sys.exit(1)
-
-- return pstdout
-+ #FIXME
-+ return pstdout_str
-
- def set_style(self, style):
- self.wallpaper_style = style
-@@ -209,7 +212,7 @@ class WallpapozSystem:
- new_argv = []
- new_argv.extend(sys.argv)
- os.execvp('daemon_wallpapoz', new_argv)
-- print "os.execvp failed, exiting..."
-+ print ("os.execvp failed, exiting...")
- sys.exit(1)
-
- def prevent_multiple_start(self):
-diff -urp wallpapoz-0.6.2.py2/share/wallpapoz/lib/xml_processing.py wallpapoz-0.6.2.py3/share/wallpapoz/lib/xml_processing.py
---- wallpapoz-0.6.2.py2/share/wallpapoz/lib/xml_processing.py 2012-02-20 03:57:12.000000000 +0900
-+++ wallpapoz-0.6.2.py3/share/wallpapoz/lib/xml_processing.py 2019-09-01 21:23:33.000000000 +0900
-@@ -28,7 +28,9 @@ import xml
- import os
- import sys
- import gettext
--import gtk
-+import gi
-+gi.require_version("Gtk", "3.0")
-+from gi.repository import Gtk, GObject
- from wallpapoz_system import WallpapozSystem
-
- # i18n
-@@ -36,8 +38,8 @@ APP = "wallpapoz"
- DIR = "../../locale"
- gettext.bindtextdomain(APP, DIR)
- gettext.textdomain(APP)
--gtk.glade.bindtextdomain(APP, DIR)
--gtk.glade.textdomain(APP)
-+#gtk.glade.bindtextdomain(APP, DIR)
-+#gtk.glade.textdomain(APP)
- _ = gettext.gettext
-
- ## XMLProcessing -- class for processing wallpapoz xml file
-@@ -64,7 +66,7 @@ class XMLProcessing:
- # if wallpapoz run for the first time ( no configuration file )
- # we make default list, for every workspace, we give one wallpaper that is our current wallpaper
- if not os.path.exists(self.config_file):
-- print _("No configuration file. Use default configuration.")
-+ print (_("No configuration file. Use default configuration."))
- home = os.environ['HOME']
- if not os.path.exists(home + '/.wallpapoz'):
- os.makedirs(home + '/.wallpapoz')
-@@ -75,7 +77,7 @@ class XMLProcessing:
- try:
- self.xmldoc = minidom.parse(self.config_file)
- except xml.parsers.expat.ExpatError:
-- print _("The configuration file is corrupted. Remove it then create a new one again with Wallpapoz!")
-+ print (_("The configuration file is corrupted. Remove it then create a new one again with Wallpapoz!"))
- sys.exit()
-
- # wallpapoz node
-@@ -101,7 +103,7 @@ class XMLProcessing:
- try:
- self.xmldoc = minidom.parse(self.config_file)
- except xml.parsers.expat.ExpatError:
-- print _("The configuration file is corrupted. Remove it then create a new one again with Wallpapoz!")
-+ print (_("The configuration file is corrupted. Remove it then create a new one again with Wallpapoz!"))
- sys.exit()
-
- # wallpapoz node
-@@ -287,7 +289,7 @@ class XMLProcessing:
- # save the xml file
- def save(self):
- xml_file = open(self.config_file, "w")
-- xml_file.write( self.xmldoc.toxml("utf-8") )
-+ xml_file.write( self.xmldoc.toxml("utf-8").decode("utf-8") )
-
- # fill list with default value
- def default_fill_list(self, type):
-@@ -406,4 +408,4 @@ class XMLProcessing:
-
- # create it
- xml_file = open(self.config_file, "w")
-- xml_file.write( newdoc.toxml("utf-8") )
-+ xml_file.write( newdoc.toxml("utf-8").decode("utf-8") )
-diff -urp wallpapoz-0.6.2.py2/src/daemon_wallpapoz wallpapoz-0.6.2.py3/src/daemon_wallpapoz
---- wallpapoz-0.6.2.py2/src/daemon_wallpapoz 2019-09-02 14:04:36.168390114 +0900
-+++ wallpapoz-0.6.2.py3/src/daemon_wallpapoz 2019-09-01 20:59:43.000000000 +0900
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2
-+#!/usr/bin/python3
- # -*- coding: utf-8 -*-
-
- #================================================
-@@ -33,7 +33,7 @@ import array
- import time
- import threading
- import random
--import gtk.glade
-+#import gtk.glade
- import string
-
- # so we can call from anywhere
-@@ -133,7 +133,7 @@ if __name__ == "__main__":
- total_workspaces = wallpapoz_system.get_total_workspaces()
-
- # create the index for wallpaper list thread
-- number.fromlist( range( total_workspaces ) )
-+ number.fromlist( list(range( total_workspaces ) ) )
-
- # previous workspace
- previous_desktop = -1
-diff -urp wallpapoz-0.6.2.py2/src/wallpapoz wallpapoz-0.6.2.py3/src/wallpapoz
---- wallpapoz-0.6.2.py2/src/wallpapoz 2019-09-02 14:04:36.159389994 +0900
-+++ wallpapoz-0.6.2.py3/src/wallpapoz 2019-09-02 14:13:50.533772653 +0900
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2
-+#!/usr/bin/python3
- # -*- coding: utf-8 -*-
-
- #=============================================================================
-@@ -27,10 +27,10 @@
- ## wallpapoz.py -- the gui tool for creating configuration file and
- # calling daemon program
-
--import pygtk
--pygtk.require('2.0')
--import gtk.glade
--import gobject
-+import gi
-+gi.require_version("Gtk", "3.0")
-+from gi.repository import Gtk as gtk, GObject as gobject, Gdk as gdk
-+from gi.repository import GdkPixbuf
- import os
- import sys
- import stat
-@@ -55,8 +55,8 @@ APP = "wallpapoz"
- DIR = "../share/locale"
- gettext.bindtextdomain(APP, DIR)
- gettext.textdomain(APP)
--gtk.glade.bindtextdomain(APP, DIR)
--gtk.glade.textdomain(APP)
-+#gtk.glade.bindtextdomain(APP, DIR)
-+#gtk.glade.textdomain(APP)
- _ = gettext.gettext
-
- # main class for the gui. This gui will contruct the configuration file that will be used by daemon
-@@ -69,25 +69,32 @@ class Wallpapoz:
- # the contructor
- def __init__(self):
- # wallpapoz glade file
-- self.wallpapoz_glade_file = "../share/wallpapoz/glade/wallpapoz.glade"
-+ #self.wallpapoz_glade_file = "../share/wallpapoz/glade/wallpapoz.glade"
-+ self.wallpapoz_builder_file = "../share/wallpapoz/glade/wallpapoz-builder-wallpapoz_window.glade"
-
- # call the xmlprocessing class to read it later on method related to treeview
- self.wallpapozxml = XMLProcessing()
-
- # Load the glade
-- self.main_window = gtk.glade.XML(self.wallpapoz_glade_file, "wallpapoz_window", APP)
-+ self.builder = gtk.Builder()
-+ self.builder.set_translation_domain(APP)
-+ self.builder.add_from_file(self.wallpapoz_builder_file)
-+ #self.main_window = gtk.glade.XML(self.wallpapoz_glade_file, "wallpapoz_window", APP)
-+ self.main_window = self.builder.get_object("wallpapoz_window")
-
- # window widget
-- self.main_window_widget = self.main_window.get_widget("wallpapoz_window")
-+ self.main_window_widget = self.builder.get_object("wallpapoz_window")
-
- # treeview widget
-- self.treeview_widget = self.main_window.get_widget("treeview")
-+ self.treeview_widget = self.builder.get_object("treeview")
-+ # FIXME set here
-+ self.treeselection = self.treeview_widget.get_selection()
-
- # image widget
-- self.image_widget = self.main_window.get_widget("wallpaper_image")
-+ self.image_widget = self.builder.get_object("wallpaper_image")
-
- # image filename widget
-- self.wallpaper_filename = self.main_window.get_widget("wallpaper_name_label")
-+ self.wallpaper_filename = self.builder.get_object("wallpaper_name_label")
-
- # create the pop up menu when we right click the treeview widget
- self.set_up_popup_menu()
-@@ -121,7 +128,7 @@ class Wallpapoz:
- "on_move_up_activate" : self.move_up_node,
- "on_move_down_activate" : self.move_down_node,
- "on_treeview_button_press_event" : self.right_click_menu }
-- self.main_window.signal_autoconnect(dic)
-+ self.builder.connect_signals(dic)
-
- # show treeview
- self.load_treeview()
-@@ -132,16 +139,16 @@ class Wallpapoz:
- # set up popup menu when we right click the treeview widget
- def set_up_popup_menu(self):
- self.popup_menu = gtk.Menu()
-- add_wallpapers_files_menu = gtk.MenuItem(_("Add Wallpapers (Files)"))
-- add_wallpapers_directory_menu = gtk.MenuItem(_("Add Wallpapers (Directory)"))
-- self.cut_menu = gtk.MenuItem(_("Cut"))
-- self.copy_menu = gtk.MenuItem(_("Copy"))
-- paste_menu = gtk.MenuItem(_("Paste"))
-- self.rename_workspace_menu = gtk.MenuItem(_("Rename Workspace"))
-- self.change_wallpaper_menu = gtk.MenuItem(_("Change Wallpaper"))
-- self.delete_wallpapers_menu = gtk.MenuItem(_("Delete Wallpapers"))
-- move_up_menu = gtk.MenuItem(_("Move Up"))
-- move_down_menu = gtk.MenuItem(_("Move Down"))
-+ add_wallpapers_files_menu = gtk.MenuItem(label=_("Add Wallpapers (Files)"))
-+ add_wallpapers_directory_menu = gtk.MenuItem(label=_("Add Wallpapers (Directory)"))
-+ self.cut_menu = gtk.MenuItem(label=_("Cut"))
-+ self.copy_menu = gtk.MenuItem(label=_("Copy"))
-+ paste_menu = gtk.MenuItem(label=_("Paste"))
-+ self.rename_workspace_menu = gtk.MenuItem(label=_("Rename Workspace"))
-+ self.change_wallpaper_menu = gtk.MenuItem(label=_("Change Wallpaper"))
-+ self.delete_wallpapers_menu = gtk.MenuItem(label=_("Delete Wallpapers"))
-+ move_up_menu = gtk.MenuItem(label=_("Move Up"))
-+ move_down_menu = gtk.MenuItem(label=_("Move Down"))
- add_wallpapers_files_menu.connect("activate", self.add_wallpapers_files)
- add_wallpapers_directory_menu.connect("activate", self.add_wallpapers_directory)
- self.cut_menu.connect("activate", self.cut_treenode)
-@@ -175,8 +182,8 @@ class Wallpapoz:
-
- # popup menu when user right-click the treeview widget
- def right_click_menu(self, widget, event):
-- if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
-- self.popup_menu.popup(None, None, None, event.button, event.time)
-+ if event.type == gdk.EventType.BUTTON_PRESS and event.button == 3:
-+ self.popup_menu.popup(None, None, None, None, event.button, event.time)
-
- def restart_daemon(self, widget):
- self.stop_daemon(None)
-@@ -201,8 +208,12 @@ class Wallpapoz:
-
- # when user click about menu item, show about dialog
- def display_about(self, widget):
-- about_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "wallpapoz_about_dialog", APP)
-- aboutdlg_widget = about_dialog.get_widget("wallpapoz_about_dialog")
-+ #about_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "wallpapoz_about_dialog", APP)
-+ self.about_dialog_builder_file = "../share/wallpapoz/glade/wallpapoz-builder-wallpapoz_about_dialog.glade"
-+ self.about_dialog_builder = gtk.Builder()
-+ self.about_dialog_builder.set_translation_domain(APP)
-+ self.about_dialog_builder.add_from_file(self.about_dialog_builder_file)
-+ aboutdlg_widget = self.about_dialog_builder.get_object("wallpapoz_about_dialog")
- aboutdlg_widget.connect('response', lambda w, e: aboutdlg_widget.destroy())
-
- # get the selection iter
-@@ -326,15 +337,17 @@ class Wallpapoz:
- dialog_title = _("Choose Wallpapers")
-
- # our filechooser dialog
-- filechooser_dialog = gtk.FileChooserDialog(dialog_title, self.main_window_widget, gtk.FILE_CHOOSER_ACTION_OPEN)
-+ filechooser_dialog = gtk.FileChooserDialog(dialog_title, self.main_window_widget, gtk.FileChooserAction.OPEN)
-
- # our button
-- cancel_button = filechooser_dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
-+ cancel_button = filechooser_dialog.add_button(gtk.STOCK_CANCEL, gtk.ResponseType.CANCEL)
- if type_of_ok_button == "change":
-- ok_button = filechooser_dialog.add_button(_("Change"), gtk.RESPONSE_OK)
-+ ok_button = filechooser_dialog.add_button(_("Change"), gtk.ResponseType.OK)
- elif type_of_ok_button == "add":
-- ok_button = filechooser_dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
-- gtk.Tooltips().set_tip(ok_button, _("Add wallpapers"))
-+ ok_button = filechooser_dialog.add_button(gtk.STOCK_OK, gtk.ResponseType.OK)
-+ # FIXME
-+ #gtk.Tooltips().set_tip(ok_button, _("Add wallpapers"))
-+ ok_button.set_tooltip_text(_("Add wallpapers"))
-
- # cancel will quit the filechooser dialog
- cancel_button.connect("clicked", lambda w: filechooser_dialog.destroy())
-@@ -379,7 +392,7 @@ class Wallpapoz:
- filechooser_dialog.set_select_multiple(True)
-
- # if user choose the file, add his choice to treeview
-- if filechooser_dialog.run() == gtk.RESPONSE_OK:
-+ if filechooser_dialog.run() == gtk.ResponseType.OK:
- # get the list of filename that we choose to add
- filenames = filechooser_dialog.get_filenames()
-
-@@ -436,15 +449,21 @@ class Wallpapoz:
-
- # show up the preferences dialog
- def preferences_option(self, widget):
-- self.preferences_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "preferences_dialog", APP)
-- preferences_dialog_widget = self.preferences_dialog.get_widget("preferences_dialog")
-+ #self.preferences_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "preferences_dialog", APP)
-+ self.preferences_dialog_builder_file = "../share/wallpapoz/glade/wallpapoz-builder-preferences_dialog.glade"
-+ self.preferences_dialog_builder = gtk.Builder()
-+ self.preferences_dialog_builder.set_translation_domain(APP)
-+ self.preferences_dialog_builder.add_from_file(self.preferences_dialog_builder_file)
-+ # FIXME
-+ self.preferences_dialog = self.preferences_dialog_builder
-+ preferences_dialog_widget = self.preferences_dialog.get_object("preferences_dialog")
-
- # input widgets
-- time_changed_widget = self.preferences_dialog.get_widget("preferences_dialog_spin_button_time")
-- random_order_widget = self.preferences_dialog.get_widget("preferences_dialog_show_wallpaper_random_order")
-- changing_workspace_widget = self.preferences_dialog.get_widget("preferences_dialog_change_wallpaper_changing_workspace")
-- style_widget = self.preferences_dialog.get_widget("preferences_dialog_style_combobox")
-- size_widget = self.preferences_dialog.get_widget("preferences_dialog_size_combobox")
-+ time_changed_widget = self.preferences_dialog.get_object("preferences_dialog_spin_button_time")
-+ random_order_widget = self.preferences_dialog.get_object("preferences_dialog_show_wallpaper_random_order")
-+ changing_workspace_widget = self.preferences_dialog.get_object("preferences_dialog_change_wallpaper_changing_workspace")
-+ style_widget = self.preferences_dialog.get_object("preferences_dialog_style_combobox")
-+ size_widget = self.preferences_dialog.get_object("preferences_dialog_size_combobox")
-
- # load value from xml file
- time_changed_widget.set_value(float(self.wallpapozxml.delay()))
-@@ -458,19 +477,19 @@ class Wallpapoz:
- changing_workspace_widget.set_active(self.wallpapozxml.change_wallpaper_when_changing_workspace())
-
- # button
-- cancel_button = self.preferences_dialog.get_widget("preferences_cancel_button")
-+ cancel_button = self.preferences_dialog.get_object("preferences_cancel_button")
- cancel_button.connect("clicked", lambda w: preferences_dialog_widget.destroy())
-
-- ok_button = self.preferences_dialog.get_widget("preferences_ok_button")
-+ ok_button = self.preferences_dialog.get_object("preferences_ok_button")
- ok_button.connect("clicked", self.ok_preferences_dialog)
-
- def ok_preferences_dialog(self, widget):
-- time_changed_widget = self.preferences_dialog.get_widget("preferences_dialog_spin_button_time")
-- random_order_widget = self.preferences_dialog.get_widget("preferences_dialog_show_wallpaper_random_order")
-- changing_workspace_widget = self.preferences_dialog.get_widget("preferences_dialog_change_wallpaper_changing_workspace")
-- style_widget = self.preferences_dialog.get_widget("preferences_dialog_style_combobox")
-- size_widget = self.preferences_dialog.get_widget("preferences_dialog_size_combobox")
-- preferences_dialog_widget = self.preferences_dialog.get_widget("preferences_dialog")
-+ time_changed_widget = self.preferences_dialog.get_object("preferences_dialog_spin_button_time")
-+ random_order_widget = self.preferences_dialog.get_object("preferences_dialog_show_wallpaper_random_order")
-+ changing_workspace_widget = self.preferences_dialog.get_object("preferences_dialog_change_wallpaper_changing_workspace")
-+ style_widget = self.preferences_dialog.get_object("preferences_dialog_style_combobox")
-+ size_widget = self.preferences_dialog.get_object("preferences_dialog_size_combobox")
-+ preferences_dialog_widget = self.preferences_dialog.get_object("preferences_dialog")
-
- # user change option for changing_workspace
- if changing_workspace_widget.get_active():
-@@ -508,10 +527,17 @@ class Wallpapoz:
- if iter == None:
- return
-
-- choose_directory_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "add_wallpapers_directory_dialog", APP)
-- choose_directory_dialog_widget = choose_directory_dialog.get_widget("add_wallpapers_directory_dialog")
-- filechooser_widget = choose_directory_dialog.get_widget("filechooserwidget")
-- recursive_widget = choose_directory_dialog.get_widget("recursive_checkbutton")
-+ #choose_directory_dialog = gtk.glade.XML(self.wallpapoz_glade_file, "add_wallpapers_directory_dialog", APP)
-+ self.choose_directory_dialog_file = "../share/wallpapoz/glade/wallpapoz-builder-add_wallpapers_directory_dialog.glade"
-+ self.choose_directory_dialog_builder = gtk.Builder()
-+ self.choose_directory_dialog_builder.set_translation_domain(APP)
-+ self.choose_directory_dialog_builder.add_from_file(self.choose_directory_dialog_file)
-+ # FIXME
-+ choose_directory_dialog = self.choose_directory_dialog_builder
-+
-+ choose_directory_dialog_widget = choose_directory_dialog.get_object("add_wallpapers_directory_dialog")
-+ filechooser_widget = choose_directory_dialog.get_object("filechooserwidget")
-+ recursive_widget = choose_directory_dialog.get_object("recursive_checkbutton")
-
- # set it to last directory
- if self.last_directory == None:
-@@ -528,7 +554,7 @@ class Wallpapoz:
-
- dic = { "on_cancel_add_wallpapers_directory_button_clicked" : (self.cancel_button_add_wallpapers_directory, choose_directory_dialog_widget),
- "on_add_wallpapers_directory_button_clicked" : (self.ok_button_add_wallpapers_directory, filechooser_widget, recursive_widget, choose_directory_dialog_widget, iter) }
-- choose_directory_dialog.signal_autoconnect(dic)
-+ choose_directory_dialog.connect_signals(dic)
-
- # ok, if we choose the directory ( accept filechooser, recursive checkbutton, iter pointing treenode ), function add_wallpapers_directory call this function
- def ok_button_add_wallpapers_directory(self, widget, filechooser_widget, recursive_widget, choose_directory_dialog_widget, iter):
-@@ -735,7 +761,7 @@ class Wallpapoz:
- ii = ii + 1
-
- # enable rename workspace menu
-- self.main_window.get_widget("rename_workspace").set_sensitive(True)
-+ self.builder.get_object("rename_workspace").set_sensitive(True)
-
- # name of our left column
- left_tvcolumn_name = _("Workspace")
-@@ -746,12 +772,12 @@ class Wallpapoz:
- self.store = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
-
- # disable cut, copy, paste, rename menu item
-- self.main_window.get_widget("cut").set_sensitive(False)
-- self.main_window.get_widget("copy").set_sensitive(False)
-- self.main_window.get_widget("paste").set_sensitive(False)
-+ self.builder.get_object("cut").set_sensitive(False)
-+ self.builder.get_object("copy").set_sensitive(False)
-+ self.builder.get_object("paste").set_sensitive(False)
-
- # enable change wallpaper menu item
-- self.main_window.get_widget("change_wallpaper").set_sensitive(True)
-+ self.builder.get_object("change_wallpaper").set_sensitive(True)
-
- # make the wallpaper list
- for i in range(len(worklist)):
-@@ -786,7 +812,7 @@ class Wallpapoz:
-
- # set mode to multiple selection
- self.treeselection = self.treeview_widget.get_selection()
-- self.treeselection.set_mode(gtk.SELECTION_MULTIPLE)
-+ self.treeselection.set_mode(gtk.SelectionMode.MULTIPLE)
- self.treeselection.select_path(0)
-
- # show image for liststore
-@@ -814,7 +840,7 @@ class Wallpapoz:
- # status, copy or cut
- self.work_on_tree = "copy"
- # enable the paste menu item
-- self.main_window.get_widget("paste").set_sensitive(True)
-+ self.builder.get_object("paste").set_sensitive(True)
-
- # we call this method when we click cut menu action
- def cut_treenode(self, widget):
-@@ -829,7 +855,7 @@ class Wallpapoz:
- # status, copy or cut
- self.work_on_tree = "cut"
- # enable the paste menu item
-- self.main_window.get_widget("paste").set_sensitive(True)
-+ self.builder.get_object("paste").set_sensitive(True)
-
- # helper function for reordering node after cut&paste, returning list of all lowest not selected iter from the related workspace
- def reordering_node_after_cut_and_paste(self, copy_iter_list):
-@@ -942,10 +968,10 @@ class Wallpapoz:
- parent_number = self.store.get_path(self.selected_iter[0])[0]
- for single_iter in self.selected_iter:
- if self.store.get_path(single_iter)[0] != parent_number:
-- temp_iter_list = []
-- parent_number = self.store.get_path(single_iter)[0]
-- temp_iter_list.append(single_iter)
-- prev_iter = single_iter
-+ temp_iter_list = []
-+ parent_number = self.store.get_path(single_iter)[0]
-+ temp_iter_list.append(single_iter)
-+ prev_iter = single_iter
-
- # do the remaining job
- if self.store.iter_n_children( self.store.iter_parent(prev_iter) ) == len(temp_iter_list) and self.work_on_tree == "cut":
-@@ -990,7 +1016,7 @@ class Wallpapoz:
- # make sure the status is reset
- self.work_on_tree = None
- # disable the paste menu item
-- self.main_window.get_widget("paste").set_sensitive(False)
-+ self.builder.get_object("paste").set_sensitive(False)
-
- self.cut_and_reordering_treeiter()
-
-@@ -1001,7 +1027,7 @@ class Wallpapoz:
- # workaround for the case that trying to remove a wallpaper from
- # the workspace where only one wallpaper exists
- if not lowest_iter_list:
-- return
-+ return
-
- # iterate to cut ( really!!! ) the iter from selected iter list
- for single_iter in self.selected_iter:
-@@ -1212,7 +1238,7 @@ class Wallpapoz:
- # make the chooser dialog
- filechooser_dialog = self.make_chooser_dialog("change")
- # if user okay with his choice, then change the value
-- if filechooser_dialog.run() == gtk.RESPONSE_OK:
-+ if filechooser_dialog.run() == gtk.ResponseType.OK:
- # we interested in image file
- if self.is_image_file(filechooser_dialog.get_filename()):
- self.store.set_value(iter, 1, filechooser_dialog.get_filename())
-@@ -1235,15 +1261,15 @@ class Wallpapoz:
-
- if not position_iter:
- # Nothing is selected, unfortunately this can happen
-- self.main_window.get_widget("rename_workspace").set_sensitive(False)
-+ self.builder.get_object("rename_workspace").set_sensitive(False)
- self.rename_workspace_menu.set_sensitive(False)
-- self.main_window.get_widget("change_wallpaper").set_sensitive(False)
-+ self.builder.get_object("change_wallpaper").set_sensitive(False)
- self.change_wallpaper_menu.set_sensitive(False)
-- self.main_window.get_widget("cut").set_sensitive(False)
-+ self.builder.get_object("cut").set_sensitive(False)
- self.cut_menu.set_sensitive(False)
-- self.main_window.get_widget("copy").set_sensitive(False)
-+ self.builder.get_object("copy").set_sensitive(False)
- self.copy_menu.set_sensitive(False)
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.builder.get_object("delete_wallpapers").set_sensitive(False)
- self.delete_wallpapers_menu.set_sensitive(False)
- # Nothing left
- return
-@@ -1255,13 +1281,13 @@ class Wallpapoz:
-
- # child node
- if parent != None:
-- self.main_window.get_widget("rename_workspace").set_sensitive(False)
-+ self.builder.get_object("rename_workspace").set_sensitive(False)
- self.rename_workspace_menu.set_sensitive(False)
-- self.main_window.get_widget("change_wallpaper").set_sensitive(True)
-+ self.builder.get_object("change_wallpaper").set_sensitive(True)
- self.change_wallpaper_menu.set_sensitive(True)
-- self.main_window.get_widget("cut").set_sensitive(True)
-+ self.builder.get_object("cut").set_sensitive(True)
- self.cut_menu.set_sensitive(True)
-- self.main_window.get_widget("copy").set_sensitive(True)
-+ self.builder.get_object("copy").set_sensitive(True)
- self.copy_menu.set_sensitive(True)
-
- # See create_configuration_file
-@@ -1272,23 +1298,23 @@ class Wallpapoz:
- # Only show "Delete wallpapers" menu if there are at least 2 wallpapers
- # in a workspace
- if childiter:
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(True)
-+ self.builder.get_object("delete_wallpapers").set_sensitive(True)
- self.delete_wallpapers_menu.set_sensitive(True)
- else:
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.builder.get_object("delete_wallpapers").set_sensitive(False)
- self.delete_wallpapers_menu.set_sensitive(False)
-
- # parent node
- else:
-- self.main_window.get_widget("rename_workspace").set_sensitive(True)
-+ self.builder.get_object("rename_workspace").set_sensitive(True)
- self.rename_workspace_menu.set_sensitive(True)
-- self.main_window.get_widget("change_wallpaper").set_sensitive(False)
-+ self.builder.get_object("change_wallpaper").set_sensitive(False)
- self.change_wallpaper_menu.set_sensitive(False)
-- self.main_window.get_widget("cut").set_sensitive(False)
-+ self.builder.get_object("cut").set_sensitive(False)
- self.cut_menu.set_sensitive(False)
-- self.main_window.get_widget("copy").set_sensitive(False)
-+ self.builder.get_object("copy").set_sensitive(False)
- self.copy_menu.set_sensitive(False)
-- self.main_window.get_widget("delete_wallpapers").set_sensitive(False)
-+ self.builder.get_object("delete_wallpapers").set_sensitive(False)
- self.delete_wallpapers_menu.set_sensitive(False)
-
- filename = self.store.get_value(position_iter, 1)
-@@ -1297,19 +1323,19 @@ class Wallpapoz:
- # files' list (i.e. not pointing to desktop name)
- if ( (type(self.store) == gtk.TreeStore) and
- ( parent == None ) ):
-- self.image_widget.clear()
-+ self.image_widget.clear()
- else:
-- from glib import GError as glib_GError
-+ from gi.repository.GLib import GError as glib_GError
- try:
-- anime = gtk.gdk.PixbufAnimation(filename)
-+ anime = GdkPixbuf.PixbufAnimation.new_from_file(filename)
-
- if anime.is_static_image() :
- im = Image.open(filename)
- # keep image proportions
- if im.size[0] > im.size[1]:
-- self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, 400, int((float(im.size[1])/im.size[0]) * 400)))
-+ self.image_widget.set_from_pixbuf(GdkPixbuf.Pixbuf.new_from_file_at_size(filename, 400, int((float(im.size[1])/im.size[0]) * 400)))
- else:
-- self.image_widget.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(filename, int(float(im.size[1])/im.size[0] * 300), 300))
-+ self.image_widget.set_from_pixbuf(GdkPixbuf.Pixbuf.new_from_file_at_size(filename, int(float(im.size[1])/im.size[0] * 300), 300))
-
- else:
- width = anime.get_width()
-@@ -1322,8 +1348,8 @@ class Wallpapoz:
-
- except IOError:
- self.image_widget.clear()
-- except glib_GError, (msg):
-- print msg
-+ except glib_GError as msg:
-+ print (msg)
- self.image_widget.clear()
-
- # display image filename
diff --git a/wallpapoz-0.6.2-wm-return-to-default.patch b/wallpapoz-0.6.2-wm-return-to-default.patch
deleted file mode 100644
index 976589c..0000000
--- a/wallpapoz-0.6.2-wm-return-to-default.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py.default 2012-09-18 12:31:45.855406125 +0900
-+++ wallpapoz-0.6.2/share/wallpapoz/lib/wallpapoz_system.py 2012-09-18 12:37:03.387072341 +0900
-@@ -108,6 +108,7 @@
- if wm_name=='Xfwm4':
- self.window_manager = 'XFCE4'
- else:
-+ try:
- output = os.popen("gnome-session --version")
- result = output.readlines()
- version = result[0].split()[1].split('.')[0]
-@@ -115,6 +116,9 @@
- self.window_manager = 'Gnome'
- elif version == '3':
- self.window_manager = 'Gnome3'
-+ except:
-+ # If something went wrong, just ignore
-+ pass
-
- ## class method to find amount of workspaces in user desktop
- def finding_total_workspaces(self):
diff --git a/wallpapoz-autostart.desktop b/wallpapoz-autostart.desktop
deleted file mode 100644
index 04f17da..0000000
--- a/wallpapoz-autostart.desktop
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=wallpapoz-autostart
-Comment=Wallpapoz Autostarter
-Exec=daemon_wallpapoz
-Terminal=false
diff --git a/wallpapoz-glade-builder-convert.sh b/wallpapoz-glade-builder-convert.sh
deleted file mode 100644
index 57e0fab..0000000
--- a/wallpapoz-glade-builder-convert.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/bash
-set -x
-set -e
-
-ORIG_XML=./share/wallpapoz/glade/wallpapoz.glade
-NEWTOPDIR=wallpapoz-0.6.2-builder
-DIR_XML=$(dirname $ORIG_XML)
-BASE_XML=$(basename $ORIG_XML)
-
-mkdir -p $NEWTOPDIR/$DIR_XML || true
-
-cat ./src/wallpapoz | sed -n -e '\@gtk.glade.XML@s|^.*"\(.*\)".*$|\1|p' | while read item
-do
- SPLIT_ORIG_XML=${DIR_XML}/wallpapoz-old-${item}.glade
- NEW_BUILDER_XML=${DIR_XML}/wallpapoz-builder-${item}.glade
-
- > $NEWTOPDIR/$SPLIT_ORIG_XML
- head -n 5 $ORIG_XML >> $NEWTOPDIR/$SPLIT_ORIG_XML
- cat $ORIG_XML | sed -n -e "\@^\$@p" >> $NEWTOPDIR/$SPLIT_ORIG_XML
- echo >> $NEWTOPDIR/$SPLIT_ORIG_XML
- tail -n -1 $ORIG_XML >> $NEWTOPDIR/$SPLIT_ORIG_XML
-
- gtk-builder-convert $NEWTOPDIR/$SPLIT_ORIG_XML $NEWTOPDIR/$NEW_BUILDER_XML
- sed -i $NEWTOPDIR/$NEW_BUILDER_XML \
- -e "\@has_resize_grip@d" \
- -e "\@has_separator@d"
-done
diff --git a/wallpapoz.spec b/wallpapoz.spec
index 02a5901..af7d2d0 100644
--- a/wallpapoz.spec
+++ b/wallpapoz.spec
@@ -1,127 +1,42 @@
# For svn version: do
-# $ svn checkout http://opensvn.csie.org/wallpapoz/trunk wallpapoz-%%{mainver}%%{?svnver:-svn%%svnver}
+# $ svn checkout http://opensvn.csie.org/wallpapoz/trunk wallpapoz-%%{mainver}
# $ tar -cjf %%{name}-%%{mainver}%%{?svnver:-svn%%svnver}.tar.bz2 %%{name}-%%{mainver}/
%define srcurl http://wallpapoz.akbarhome.com/
%define icondir %{_datadir}/icons/hicolor/128x128/apps
-%define mainver 0.6.2
+%define mainver 0.4.1
%undefine betaver
-%define baserelease 20
+%define svnver svn87_trunk
+%define fedorarel 5
-%define rel %{?betaver:0.}%{baserelease}%{?betaver:.%betaver}
+%define rel %{?betaver:0.}%{fedorarel}%{?svnver:.%svnver}%{?betaver:.%betaver}
Name: wallpapoz
Version: %{mainver}
Release: %{rel}%{?dist}
Summary: Gnome Multi Backgrounds and Wallpapers Configuration Tool
-# GPL-2.0-or-later README
-# GFDL-1.1-or-later share/gnome/help/wallpapoz/C/legal.xml
-# SPDX confirmed
-License: GPL-2.0-or-later AND GFDL-1.1-or-later
-
-URL: http://vajrasky.wordpress.com/wallpapoz/
-Source0: https://github.com/downloads/vajrasky/wallpapoz/%{name}-%{mainver}%{?betaver:%betaver}.tar.bz2
-Source11: wallpapoz-autostart.desktop
-# Install daemon_wallpapoz wrapper script, which may
-# fix 584980, 597687?
-# and 711541
-Source12: daemon_wallpapoz-wrapper
-#
-# Glade XML converted to GTK builder script
-# Source21: wallpapoz-0.6.2-builder.tar.bz2
-# Source21 is generated by the following script.
-# Note that the following script uses "gtk-builder-convert" in gtk2-devel
-# Now "gtk-builder-convert" is imported to python3, so don't use Source21
-Source22: wallpapoz-glade-builder-convert.sh
-#
-# Misc fixes for daemon_wallpapoz under compiz working,
-# containing fix for bug 531342, 542244, bug 567437, bug 573642
-Patch0: wallpapoz-0.6.1-workspace-num-respawn.patch
-# Check if selected item is really a directory when adding directory
-# bug 549219
-Patch2: wallpapoz-0.6.1-dircheck.patch
-# Avoid backtrace in case no item is selected yet (bug 555181)
-Patch3: wallpapoz-0.4.1-rev92-noitem_selected.patch
-# Intialization for pasting selected items
-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.6.2-kill-daemon-without-x.patch
-# Kill other daemon_wallpapoz if running
-Patch6: wallpapoz-0.6.1-kill-multiple-daemon.patch
-# Make wallpapoz gui handle animated image file
-# bug 602921
-Patch7: wallpapoz-0.6.1-animated-image.patch
-# Non-utf8 directory can return NoneType with filechooser_widget.get_filename
-# bug 603351
-Patch8: wallpapoz-0.6.1-nonutf8-directory.patch
-# Don't remove a wallpaper from a workspace if there is only one
-# wallpaper left.
-# bug 567136
-# Also some fixes about gtk menu sensitive issue (after doing some movement
-# for wallpapers)
-Patch9: wallpapoz-0.6.1-delete-one-wallpaper.patch
-# Fix backtrace when deleting first element in desktop (not workspace) mode
-# bug 597959
-Patch10: wallpapoz-0.6.1-delete-first-in-desktop-mode.patch
-# Port to gsettings
-#Patch11: wallpapoz-0.5-gsettings.patch
-# At startup, wallpapoz will try to show workspace name as "images"
-Patch12: wallpapoz-0.5-startup-warn-about-workspace-name.patch
-# Fix backtrace when switching from desktop style XML to workspace style one
-# with workspace number increased
-# bug 708769
-Patch13: wallpapoz-0.6.1-switch-from-wallpaper-to-desktop-with-workspace-increase.patch
-# Return to set default WM to GNOME3 when proper WM is not found
-# (bug 857587)
-Patch14: wallpapoz-0.6.2-wm-return-to-default.patch
-# Don't import Image directory and import PIL instead for
-# F-19 Pillow conversion
-# (bug 895217)
-Patch15: wallpapoz-0.6.2-import-PIL-for-Image.patch
-# Support LXDE
-Patch16: wallpapoz-0.6.2-LXDE.patch
-# Support MATE
-# https://bugzilla.redhat.com/show_bug.cgi?id=1029554#c31
-# https://bugzilla.redhat.com/show_bug.cgi?id=1029554#c38
-Patch17: wallpapoz-0.6.2-MATE.patch
-# Support CINNAMON
-# https://bugzilla.redhat.com/show_bug.cgi?id=1029554#c44
-Patch18: wallpapoz-0.6.2-CINNAMON.patch
-# Switch to python3
-Patch31: wallpapoz-0.6.2-python3.patch
-# bug 1773214 and etc, various fixes for "desktop" type xml
-Patch32: wallpapoz-0.6.2-python3-desktop-type.patch
+Group: User Interface/Desktops
+License: GPLv2+
+URL: %{srcurl}
+Source0: %{srcurl}files/%{name}-%{mainver}%{?svnver:-%svnver}%{?betaver:%betaver}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: desktop-file-utils
BuildRequires: gettext
-BuildRequires: gobject-introspection
-BuildRequires: python3-devel
-BuildRequires: python3-imaging
-BuildRequires: gtk3
-BuildRequires: python3-gobject
-BuildRequires: /usr/bin/gtk-builder-convert
-#BuildRequires: gnome-python2
-# See bug 456122
-%if 0%{?fedora} >= 10
-#BuildRequires: gnome-python2-gnome
-%endif
-# Because wallpapoz uses gconftool-2 or so
-Requires: GConf2
-Requires: gtk3
-Requires: gobject-introspection
-Requires: python3-gobject
-Requires: python3-imaging
-#Requires: gnome-python2-gnome
-Requires: xprop xwininfo
-Requires: /usr/bin/kill
-Requires: /usr/bin/pgrep
+BuildRequires: python-devel
+BuildRequires: pygtk2-libglade
+BuildRequires: python-imaging
+BuildRequires: gnome-python2
+Requires: pygtk2-libglade
+Requires: python-imaging
+Requires: gnome-python2
+Requires: xorg-x11-utils
+Requires: %{_bindir}/kill
+Requires: %{_bindir}/pgrep
%description
This tool enables your Gnome desktop to have different
@@ -129,349 +44,41 @@ wallpapers for different workspaces or virtual desktops.
%prep
%setup -q -n %{name}-%{version}%{?svnver:-%svnver}
-%patch -P0 -p1 -b .respawn
-%patch -P2 -p1 -b .dircheck
-%patch -P3 -p1 -b .noitem
-%patch -P4 -p1 -b .patch_init
-%patch -P5 -p1 -b .kill_nox
-%patch -P6 -p1 -b .kill_multi
-%patch -P7 -p1 -b .anime
-%patch -P8 -p1 -b .nonutf8
-%patch -P9 -p1 -b .deletelastone
-%patch -P10 -p1 -b .deletefirst
-%patch -P12 -p1 -b .workspace_img
-%patch -P13 -p1 -b .workspace_num_incr
-%patch -P14 -p1 -b .default
-%patch -P15 -p1 -b .pil
-%patch -P16 -p1 -b .LXDE
-%patch -P17 -p1 -b .MATE
-%patch -P18 -p1 -b .CINNAMON
-
-grep -rl --null '/usr/bin/env python$' . | \
- xargs --null sed -i -e 's|/usr/bin/env python|/usr/bin/python2|'
-
-%patch -P31 -p1 -b .py3
-%patch -P32 -p1 -b .py3.desktop
-
-# For setup
-mkdir TMPBINDIR
-pushd TMPBINDIR
-ln -sf /bin/true xwininfo
-popd
-
-# Install C gnome help documents (bug 651522)
-ln -sf c share/gnome/help/wallpapoz/C
+sed -i.cs -e '/DOC_ISO_CODES/s|"ru"|"ru","cs"|' setup.py
%build
-bash %{SOURCE22}
-find . -type f -print0 | xargs -0 chmod 0644
-grep -rl --null '#!/usr/bin' . | xargs -0 chmod 0755
%install
%{__rm} -rf $RPM_BUILD_ROOT
%{__mkdir_p} $RPM_BUILD_ROOT%{_prefix}
-export PATH=$(pwd)/TMPBINDIR:$PATH
-%{__python3} setup.py install --installdir=$RPM_BUILD_ROOT%{_prefix}
+%{__python} setup.py install --installdir=$RPM_BUILD_ROOT%{_prefix}
%{__sed} -i -e 's|%{name}\.png|%{name}|' \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
desktop-file-install \
+ --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--delete-original \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
-# Install desktop application autostart stuff
-%{__mkdir_p} ${RPM_BUILD_ROOT}%{_sysconfdir}/xdg/autostart
-desktop-file-install \
- --dir ${RPM_BUILD_ROOT}%{_sysconfdir}/xdg/autostart \
- %{SOURCE11}
-
-# Install daemon_wallpapoz wrapper script
-pushd ${RPM_BUILD_ROOT}
-%{__mkdir_p} ./%{_libexecdir}
-%{__mv} ./%{_bindir}/daemon_wallpapoz ./%{_libexecdir}
-%{__install} -cp -m 0755 %{SOURCE12} ./%{_bindir}/daemon_wallpapoz
-popd
-# And as we use out custom wrapper script, the following
-# is not needed
-rm -f ${RPM_BUILD_ROOT}%{_bindir}/launcher_wallpapoz.sh
-
-# Manually install the following
-install -cpm 0644 \
- wallpapoz-*/share/wallpapoz/glade/*builder*glade \
- %{buildroot}%{_datadir}/%{name}/glade/
-
%{find_lang} %{name}
+%clean
+%{__rm} -rf $RPM_BUILD_ROOT
+
%files -f %{name}.lang
-%license COPYING
-%doc README
-%{_bindir}/%{name}
-%{_bindir}/daemon_wallpapoz
-%{_libexecdir}/daemon_wallpapoz
+%defattr(-,root,root,-)
+%doc COPYING README
+%{_bindir}/*%{name}
-%{_sysconfdir}/xdg/autostart/wallpapoz-autostart.desktop
-
-%dir %{_datadir}/%{name}/
-%{_datadir}/%{name}/glade/
-%{_datadir}/%{name}/lib/
+%{_datadir}/%{name}/
%{_datadir}/gnome/help/%{name}/
%{_datadir}/pixmaps/%{name}.png
-%{_datadir}/applications/*%{name}.desktop
+%{_datadir}/applications/fedora-%{name}.desktop
%changelog
-* Sat Nov 08 2025 Mamoru TASAKA - 0.6.2-20
-- Add dep for gobject-introspection explicitly
-
-* Fri Jul 25 2025 Fedora Release Engineering - 0.6.2-19
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
-
-* Sun Jan 19 2025 Fedora Release Engineering - 0.6.2-18
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
-
-* Sat Jul 20 2024 Fedora Release Engineering - 0.6.2-17
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
-
-* Sat Jan 27 2024 Fedora Release Engineering - 0.6.2-16
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Tue Nov 21 2023 Mamoru TASAKA - 0.6.2-15
-- Clean up release number and some spec file stuff
-- SPDX migration
-
-* Sat Jul 22 2023 Mamoru TASAKA - 0.6.2-14.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Sat Jan 21 2023 Fedora Release Engineering - 0.6.2-13.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Sat Jul 23 2022 Fedora Release Engineering - 0.6.2-13.2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Sat Jan 22 2022 Fedora Release Engineering - 0.6.2-13.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Fri Nov 5 2021 Mamoru TASAKA - 0.6.2-13
-- Use python3-ported gtk-builder-convert in build time instead of
- glade files generated preliminarily
-
-* Fri Jul 23 2021 Fedora Release Engineering - 0.6.2-12.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jan 27 2021 Fedora Release Engineering - 0.6.2-12.2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Tue Jul 28 2020 Adam Jackson - 0.6.2-12.1
-- Require xprop xwininfo, not xorg-x11-utils
-
-* Fri Jan 31 2020 Fedora Release Engineering - 0.6.2-11.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Thu Nov 28 2019 Mamoru TASAKA - 0.6.2-11
-- bug 1773214 and etc, various fixes for "desktop" type xml
-
-* Mon Sep 2 2019 Mamoru TASAKA - 0.6.2-10
-- Switch to python3
-
-* Sun Sep 1 2019 Mamoru TASAKA - 0.6.2-8.1
-- Escape white spaces in wallpaper name properly
-
-* Fri Aug 23 2019 Mamoru TASAKA - 0.6.2-9
-- F-31+: Drop gnome-python2-gnome dependency for now
-
-* Sat Jul 27 2019 Fedora Release Engineering - 0.6.2-8.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Mon Feb 4 2019 Mamoru TASAKA - 0.6.2-8
-- Use python2 explicitly
-
-* Sun Feb 03 2019 Fedora Release Engineering - 0.6.2-7.9
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Sat Jul 14 2018 Fedora Release Engineering - 0.6.2-7.8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Feb 28 2018 Iryna Shcherbina - 0.6.2-7.7
-- Update Python 2 dependency declarations to new packaging standards
- (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
-
-* Fri Feb 09 2018 Fedora Release Engineering - 0.6.2-7.6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering - 0.6.2-7.5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Sat Feb 11 2017 Fedora Release Engineering - 0.6.2-7.4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Feb 05 2016 Fedora Release Engineering - 0.6.2-7.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Fri Jun 19 2015 Fedora Release Engineering - 0.6.2-7.2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sun Jun 08 2014 Fedora Release Engineering - 0.6.2-7.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Thu Dec 12 2013 Mamoru TASAKA - 0.6.2-7
-- Support CINNAMON (bug 1029554, leigh scott)
-
-* Wed Nov 27 2013 Mamoru TASAKA - 0.6.2-6
-- Support MATE (bug 1029554, leigh scott, Wolfgang Ulbrich)
-
-* Sun Aug 04 2013 Fedora Release Engineering - 0.6.2-5.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Sat Feb 9 2013 Mamoru TASAKA - 0.6.2-5
-- F-19: kill vendorization of desktop file (fpc#247)
-
-* Sat Jan 19 2013 Mamoru TASAKA - 0.6.2-4
-- Support LXDE
-
-* Tue Jan 15 2013 Mamoru TASAKA - 0.6.2-3
-- Don't import Image directly and import PIL instead for
- F-19 Pillow conversion
- Patch from Stephen Gallagher
- (bug 895217)
-
-* Tue Sep 18 2012 Mamoru Tasaka - 0.6.2-2
-- Return to set default WM to GNOME3 when proper WM is not found
- (bug 857587)
-
-* Sun Jul 22 2012 Fedora Release Engineering - 0.6.2-1.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Tue Mar 6 2012 Mamoru Tasaka - 0.6.2-1
-- 0.6.2
-
-* Wed Jan 18 2012 Mamoru Tasaka - 0.6.1-2
-- Fix error on Patch13 which causes unneeded entry to show up
- in wallpapoz GUI
-
-* Sat Jan 14 2012 Fedora Release Engineering - 0.6.1-1.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Fri Dec 30 2011 Mamoru Tasaka - 0.6.1-1
-- Update to 0.6.1
-
-* Fri Dec 30 2011 Mamoru Tasaka - 0.5-10
-- Forgot to apply patch13...
-
-* Mon Nov 28 2011 Mamoru Tasaka - 0.5-9
-- More strict check on daemon_wallpapoz startup for xprop
- (bug 711541)
-
-* Wed Jun 1 2011 Mamoru Tasaka - 0.5-8
-- Fix crash witching from desktop style XML to workspace style one
- with workspace number increased (bug 708769)
-
-* Mon May 9 2011 Mamoru Tasaka - 0.5-6.1
-- F-14: kill gsettings patch explicitly: F-14 gsettings crashes
- every time key is not found
-
-* Fri May 6 2011 Mamoru Tasaka - 0.5-6
-- Fix crash on wallpapoz with desktop style xml which was introduced
- in -5 (bug 702538)
-
-* Fri May 5 2011 Mamoru Tasaka - 0.5-5
-- And more fix for gsettings key name change
-- Kill warnings on startup when wallpapoz tries to show workspace name
- as "images"
-
-* Sat Apr 16 2011 Mamoru Tasaka - 0.5-4
-- Modify for gsettings key name change
-
-* Mon Feb 07 2011 Fedora Release Engineering - 0.5-3.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Thu Dec 7 2010 Mamoru Tasaka - 0.5-3
-- Port to gsettings
-
-* Thu Nov 11 2010 Mamoru Tasaka - 0.5-2
-- Install C gnome help documents correctly (bug 651522)
-
-* Thu Oct 7 2010 Mamoru Tasaka - 0.5-1
-- Update to 0.5
-
-* Fri Jul 23 2010 Mamoru Tasaka
-- F-14: rebuild against python 2.7
-
-* Tue Jun 15 2010 Mamoru Tasaka - 0.4.1-24.svn92_trunk
-- Fix backtrace when deleting first element in desktop (not workspace) mode
- (bug 597959)
-- Install daemon_wallpapoz wrapper script to check if xprop really works before
- launching daemon (may fix 584980, 597687??)
-
-* Sun Jun 13 2010 Mamoru Tasaka - 0.4.1-23.svn92_trunk
-- Don't remove a wallpaper from workspace when only one wallpaper is left
- (bug 567136)
-- Also some fixes for gtk menu sensitive issue (after some movement for
- wallpapers)
-
-* Sun Jun 13 2010 Mamoru Tasaka - 0.4.1-22.svn92_trunk
-- Make wallpapoz gui ignore non-utf8 directory correctly
- (filechooser_widget.get_filename can return NoneType, bug 603351)
-
-* Sat Jun 12 2010 Mamoru Tasaka - 0.4.1-21.svn92_trunk
-- Make wallpapoz gui handle animated image file (bug 602921)
-
-* Thu Mar 18 2010 Mamoru Tasaka - 0.4.1-20.svn92_trunk
-- Handle another potentially race condition under compiz (may fix 573642)
-
-* Wed Mar 10 2010 Mamoru Tasaka - 0.4.1-19.svn92_trunk
-- Kill daemon_wallpapoz in more cases (may fix bug 571827)
-
-* Mon Mar 1 2010 Mamoru Tasaka - 0.4.1-18.svn92_trunk
-- -compiz-respawn.patch: simplify
-- Handle more cases where X is no longer available (bug 569135)
-- Handle fork() failure (bug 566594)
-
-* Fri Feb 26 2010 Mamoru Tasaka - 0.4.1-17.svn92_trunk
-- Another try for race condition on checking compiz status
- (bug 567437)
-
-* Wed Feb 10 2010 Mamoru Tasaka - 0.4.1-16.svn92_trunk
-- Don't update compiz status to fix race (bug 562943)
-
-* Tue Feb 9 2010 Mamoru Tasaka - 0.4.1-15.svn92_trunk
-- Change the way to fix backtrace with no X resource issue
-
-* Mon Feb 8 2010 Mamoru Tasaka - 0.4.1-14.svn92_trunk
-- Check if the selected item is really a directory on directory
- chooser dialog (bug 549219)
-- Avoid backtrace in case no item is selected yet (bug 555181)
-- Avoid backtrace when trying to paste when no item is copyed yet
-
-* Thu Feb 4 2010 Mamoru Tasaka - 0.4.1-12.svn92_trunk
-- Some fixes for daemon_wallpapoz under compiz
- (bug 531342, 542244)
-- Kill daemon_wallpapoz when X resource is no longer avaiable
- (bug 531343, 538533, 541434, 556377)
-
-* Wed Sep 23 2009 Mamoru Tasaka - 0.4.1-11.svn92_trunk
-- Explicitly add R: GConf2 (as wallpapoz really needs this)
-
-* Sun Aug 30 2009 Mamoru Tasaka - 0.4.1-10.svn92_trunk
-- Update to rev 92
-- Install desktop application autostart stuff on F-12+
-
-* Sat Jul 25 2009 Mamoru Tasaka - 0.4.1-9.svn87_trunk
-- F-12: Mass rebuild
-
-* Tue Feb 24 2009 Mamoru Tasaka
-- F-11: Mass rebuild
-
-* Wed Jan 21 2009 Mamoru Tasaka - 0.4.1-8.svn87_trunk
-- Always once kill daemon_wallpapoz process if it exists before start
-
-* Mon Dec 01 2008 Ignacio Vazquez-Abrams
-- F-11: Rebuild for Python 2.6
-
-* Wed Aug 27 2008 Mamoru Tasaka - 0.4.1-7.svn87_trunk
-- F-10+: Add (Build)Requires: gnome-python2-gnome (bug 456122, 460022)
-
* Thu Apr 3 2008 Mamoru Tasaka - 0.4.1-5.svn87_trunk
- Also install cs documents manually