summaryrefslogtreecommitdiff
blob: 771501b0045eb025d7030871aa6b9f12133263ae (plain)
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()