1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
--- /home/usuario/Escritorio/gdevilspie 2015-04-26 03:30:16.760326671 -0300
+++ /usr/lib/python-exec/python2.7/gdevilspie 2015-04-26 03:32:11.247227671 -0300
@@ -48,6 +48,10 @@
DISABLE_XDG=""
try:
import xdg.DesktopEntry
+ if xdg.DesktopEntry.__dict__.has_key('xdg_config_home') == True:
+ xdg_config_home = xdg.DesktopEntry.xdg_config_home
+ else:
+ xdg_config_home = os.path.join(os.environ["HOME"], "config")
except:
error = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Make sure that Python-xdg is correctly installed if you need autostart handling.")
response = error.run()
@@ -300,22 +304,32 @@
return strous
# Glade file used in all classes
-if os.path.isfile(os.path.dirname(sys.argv[0])+'/gdevilspie.glade'):
- gladefile = os.path.dirname(sys.argv[0])+'/gdevilspie.glade'
-elif os.path.isfile(os.path.dirname(sys.argv[0]) + '/../share/gdevilspie/gdevilspie.glade'):
- gladefile = os.path.dirname(sys.argv[0])+'/../share/gdevilspie/gdevilspie.glade'
-else:
- gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Glade file not found, exiting.").run()
- quit()
+for syspath in os.environ["PATH"].split(":"):
+ if os.path.isfile(os.path.dirname(syspath) + '/../share/gdevilspie/gdevilspie.glade'):
+ gladefile = os.path.dirname(syspath)+'/../share/gdevilspie/gdevilspie.glade'
+ break
+if "gladefile" not in globals():
+ if os.path.isfile(os.path.dirname(sys.argv[0])+'/gdevilspie.glade'):
+ gladefile = os.path.dirname(sys.argv[0])+'/gdevilspie.glade'
+ elif os.path.isfile(os.path.dirname(sys.argv[0]) + '/../share/gdevilspie/gdevilspie.glade'):
+ gladefile = os.path.dirname(sys.argv[0])+'/../share/gdevilspie/gdevilspie.glade'
+ else:
+ gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Glade file not found, exiting.").run()
+ quit()
# icon used
-if os.path.isfile(os.path.dirname(sys.argv[0])+'/gdevilspie.png'):
- gdevilspie_icon = os.path.dirname(sys.argv[0])+'/gdevilspie.png'
-elif os.path.isfile(os.path.dirname(sys.argv[0]) + '/../share/gdevilspie/gdevilspie.png'):
- gdevilspie_icon = os.path.dirname(sys.argv[0])+'/../share/gdevilspie/gdevilspie.png'
-else:
- gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Icon file not found.").run()
+for syspath in os.environ["PATH"].split(":"):
+ if os.path.isfile(os.path.dirname(syspath) + '/../share/gdevilspie/gdevilspie.png'):
+ gdevilspie_icon = os.path.dirname(syspath)+'/../share/gdevilspie/gdevilspie.png'
+ break
+if "gdevilspie_icon" not in globals():
+ if os.path.isfile(os.path.dirname(sys.argv[0])+'/gdevilspie.png'):
+ gdevilspie_icon = os.path.dirname(sys.argv[0])+'/gdevilspie.png'
+ elif os.path.isfile(os.path.dirname(sys.argv[0]) + '/../share/gdevilspie/gdevilspie.png'):
+ gdevilspie_icon = os.path.dirname(sys.argv[0])+'/../share/gdevilspie/gdevilspie.png'
+ else:
+ gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, "Icon file not found.").run()
# Directory where we store .ds files
dir = os.path.expanduser("~/.devilspie")
@@ -542,12 +556,12 @@
if ( DISABLE_XDG == "True" ):
self.DaemonAutostart.set_sensitive(False)
else:
- if (os.path.exists(xdg.DesktopEntry.xdg_config_home + "/autostart/devilspie.desktop")):
- df = xdg.DesktopEntry.DesktopEntry(xdg.DesktopEntry.xdg_config_home + "/autostart/devilspie.desktop")
+ if (os.path.exists(xdg_config_home + "/autostart/devilspie.desktop")):
+ df = xdg.DesktopEntry.DesktopEntry(xdg_config_home + "/autostart/devilspie.desktop")
if (df.get('X-GNOME-Autostart-enabled') == 'true'):
self.DaemonAutostart.set_active(True)
else:
- df = xdg.DesktopEntry.DesktopEntry(xdg.DesktopEntry.xdg_config_home + "/autostart/devilspie.desktop")
+ df = xdg.DesktopEntry.DesktopEntry(xdg_config_home + "/autostart/devilspie.desktop")
df.set('Name','Devilspie')
df.set('Exec','devilspie')
df.set('X-GNOME-Autostart-enabled','false')
@@ -555,7 +569,7 @@
def on_DaemonAutostart_toggled(self,widget):
- df = xdg.DesktopEntry.DesktopEntry(xdg.DesktopEntry.xdg_config_home + "/autostart/devilspie.desktop")
+ df = xdg.DesktopEntry.DesktopEntry(xdg_config_home + "/autostart/devilspie.desktop")
if (widget.get_active()):
df.set('X-GNOME-Autostart-enabled','true')
df.write()
|