File alacarte-support-exo-desktop-item-edit.patch of Package alacarte
Index: alacarte-3.5.3/Alacarte/MainWindow.py
===================================================================
--- alacarte-3.5.3.orig/Alacarte/MainWindow.py
+++ alacarte-3.5.3/Alacarte/MainWindow.py
@@ -35,6 +35,7 @@ class MainWindow(object):
timer = None
#hack to make editing menu properties work
edit_pool = []
+ desktop_item_editor = util.getCommandPath(['gnome-desktop-item-edit', 'exo-desktop-item-edit'])
def __init__(self, datadir, version):
self.file_path = datadir
@@ -261,7 +262,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):
@@ -274,7 +275,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):
@@ -335,7 +336,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-3.5.3/Alacarte/util.py
===================================================================
--- alacarte-3.5.3.orig/Alacarte/util.py
+++ alacarte-3.5.3/Alacarte/util.py
@@ -110,6 +110,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):