File alacarte-support-exo-desktop-item-edit.patch of Package alacarte
Index: alacarte-0.13.4/Alacarte/MainWindow.py
===================================================================
--- alacarte-0.13.4.orig/Alacarte/MainWindow.py
+++ alacarte-0.13.4/Alacarte/MainWindow.py
@@ -36,6 +36,7 @@ class MainWindow(object):
#hack to make editing menu properties work
allow_update = True
edit_pool = []
+ desktop_item_editor = util.getCommandPath(['gnome-desktop-item-edit', 'exo-desktop-item-edit'])
def __init__(self, datadir, version):
self.file_path = datadir
@@ -264,7 +265,7 @@ class MainWindow(object):
else:
parent = menus[iter][2]
file_path = os.path.join(util.getUserDirectoryPath(), util.getUniqueFileId('alacarte-made', '.directory'))
- process = subprocess.Popen(['gnome-desktop-item-edit', file_path], env=os.environ)
+ process = subprocess.Popen([self.desktop_item_editor, file_path], env=os.environ)
GObject.timeout_add(100, self.waitForNewMenuProcess, process, parent.get_menu_id(), file_path)
def on_new_item_button_clicked(self, button):
@@ -277,7 +278,7 @@ class MainWindow(object):
else:
parent = menus[iter][2]
file_path = os.path.join(util.getUserItemPath(), util.getUniqueFileId('alacarte-made', '.desktop'))
- process = subprocess.Popen(['gnome-desktop-item-edit', file_path], env=os.environ)
+ process = subprocess.Popen([self.desktop_item_editor, file_path], env=os.environ)
GObject.timeout_add(100, self.waitForNewItemProcess, process, parent.get_menu_id(), file_path)
def on_new_separator_button_clicked(self, button):
@@ -338,7 +339,7 @@ class MainWindow(object):
if file_path not in self.edit_pool:
self.edit_pool.append(file_path)
- process = subprocess.Popen(['gnome-desktop-item-edit', file_path], env=os.environ)
+ process = subprocess.Popen([self.desktop_item_editor, file_path], env=os.environ)
GObject.timeout_add(100, self.waitForEditProcess, process, file_path)
def on_menu_tree_cursor_changed(self, treeview):
Index: alacarte-0.13.4/Alacarte/util.py
===================================================================
--- alacarte-0.13.4.orig/Alacarte/util.py
+++ alacarte-0.13.4/Alacarte/util.py
@@ -107,6 +107,15 @@ def getUserDirectoryPath():
os.makedirs(menu_dir)
return menu_dir
+def getCommandPath(commands):
+ paths = os.environ['PATH'].split(os.pathsep)
+ for command in commands:
+ for path in paths:
+ command_path = os.path.join(path, command)
+ if os.access(command_path, os.X_OK):
+ return command_path
+ return None
+
def getUserMenuPath():
menu_dir = os.path.join(GLib.get_user_config_dir(), 'menus')
if not os.path.isdir(menu_dir):