Package Details: alacarte-xfce 3.11.91.r18.g40c8c60-3

Git Clone URL: https://aur.archlinux.org/alacarte-xfce.git (read-only)
Package Base: alacarte-xfce
Description: Menu editor for Xfce
Upstream URL: http://www.gnome.org
Licenses: LGPL
Groups: xfce4-goodies
Conflicts: alacarte, alacarte-git, alacarte-xfce-devel
Provides: alacarte=3.11.91.r18.g40c8c60
Submitter: Barthalion
Maintainer: jamesan
Last Packager: jamesan
Votes: 60
Popularity: 0.000179
First Submitted: 2011-07-20 07:46
Last Updated: 2018-07-14 18:19

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 ... Next › Last »

Anonymous comment on 2013-03-13 18:38

Thanks, now patch is valid, but i got this error message by running alacarte:
" File "/usr/bin/alacarte", line 21, in <module>
from Alacarte.MainWindow import main
File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 35, in <module>
from Alacarte.MenuEditor import MenuEditor
File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 24, in <module>
from xml.dom.ext import PrettyPrint
ImportError: No module named ext"

The problem resolves by installing "pyxml", so you need to add this package in dependency list of PKGBUILD.
Thank you for your contribution for this package, I think you should take over maintance of this package because many will have benefit from this updated package.
Once again, thanks a lot.

plp commented on 2013-03-13 17:57

Sorry Kotus, this website's comment box appears to eat whitespace. Can you try copying it from here?

https://snipt.net/plp13/aur-alacarte-xfcetoprettyxml-and-unicode-fixespatch/

The patch is important because of a bug in Python's self.dom.toprettyxml() that will corrupt your xfce-applications.menu if you try to add or edit anything using Alacarte.

Anonymous comment on 2013-03-13 17:35

@plp
Thank you for updated PKGBUILD
I just installed your PKGBUILD and it works as a charm, but the patch you provided don't work so I had to coment out the patch section of the PKGBUILD

When I try to build with patch enabled i get:
"patching file Alacarte/MenuEditor.py
patch: **** malformed patch at line 5: import xml.dom.minidom"

plp commented on 2013-01-21 10:47

Hi, I got tired of having an old version of alacarte-xfce on my system, so I tried to make a PKGBUILD for the latest version 3.7.3.

It didn't work correctly at first: it put extra whitespace in xfce-applications.menu, and it kept throwing Unicode-related exceptions. So, I dag into the code and tried to fix it. Now, it sort of works OK for me, though I'm sure there are still bugs out there.

Maybe someone can try this out and let me know?


Here's the revised PKGBUILD:

=== BEGIN
# Maintainer: Bartek Piotrowski <barthalion@gmail.com>
# Contributor: 3ED <krzysztof1987 at googlemail>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: pressh <pressh@gmail.com>

pkgname=alacarte-xfce
_realname=${pkgname/-xfce/}
pkgver=3.7.3
pkgrel=2
pkgdesc="Menu editor for Xfce (with debian patchset)"
arch=(any)
license=('LGPL')
url="http://www.gnome.org"
depends=('gnome-menus' 'exo' 'hicolor-icon-theme' 'pygtk')
makedepends=('intltool')
conflicts=('alacarte' 'alacarte-git' 'alacarte-xfce-devel')
install=alacarte.install
options=('!libtool')
groups=('xfce4-goodies')
source=(http://ftp.gnome.org/pub/gnome/sources/${_realname}/3.7/${_realname}-${pkgver}.tar.xz toprettyxml-and-unicode-fixes.patch)
md5sums=('59e1e9041400e57a77e896460555067a' '4bb6b558687f6ffde356758a6c4a7c28')

build() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i $srcdir/toprettyxml-and-unicode-fixes.patch
sed -e 's/gnome-desktop-item-edit/exo-desktop-item-edit/g' -i Alacarte/MainWindow.py
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
}

check() {
cd "${srcdir}/${_realname}-${pkgver}"
make check
}

package() {
cd "${srcdir}/${_realname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
=== END


And here's toprettyxml-and-unicode-fixes.patch:

=== BEGIN
diff -aur alacarte-3.7.3/Alacarte/MenuEditor.py alacarte-3.7.3.new/Alacarte/MenuEditor.py
--- alacarte-3.7.3/Alacarte/MenuEditor.py 2013-01-11 02:50:22.000000000 +0200
+++ alacarte-3.7.3.new/Alacarte/MenuEditor.py 2013-01-21 12:12:43.338832019 +0200
@@ -21,6 +21,7 @@
import xml.dom.minidom
import xml.parsers.expat
from gi.repository import GMenu, GLib
+from xml.dom.ext import PrettyPrint
from Alacarte import util

def get_default_menu():
@@ -54,7 +55,7 @@

def save(self):
with codecs.open(self.path, 'w', 'utf8') as f:
- f.write(self.dom.toprettyxml())
+ PrettyPrint(self.dom, stream=f)

def restoreToSystem(self):
self.restoreTree(self.tree.get_root_directory())
@@ -262,6 +263,7 @@
out_path = os.path.join(util.getUserItemPath(), file_id)

contents, length = keyfile.to_data()
+ contents = unicode(contents, 'utf8')

with codecs.open(out_path, 'w', 'utf8') as f:
f.write(contents)
@@ -402,6 +404,7 @@
file_id = util.getUniqueFileId(keyfile.get_string(GLib.KEY_FILE_DESKTOP_GROUP, 'Name'), '.desktop')

contents, length = keyfile.to_data()
+ contents = unicode(contents, 'utf8')

path = os.path.join(util.getUserItemPath(), file_id)
with codecs.open(path, 'w', 'utf8') as f:
@@ -424,6 +427,7 @@
util.fillKeyFile(keyfile, kwargs)

contents, length = keyfile.to_data()
+ contents = unicode(contents, 'utf8')

path = os.path.join(util.getUserDirectoryPath(), file_id)
with codecs.open(path, 'w', 'utf8') as f:
=== END

jlacroix commented on 2013-01-06 02:23

The package builds and installs fine, but when I make changes in Alacarte, it has no effect on the menu at all.

Barthalion commented on 2012-08-17 15:29

I've switched to menulibre. I doubt if Alacarte will work with Xfce again, so if you want to maintain the package, contact me.

Barthalion commented on 2012-08-17 15:27

I've switched to menulibre. I doubt if Alacarte will work with Xfce again, so feel free to take it.

GuestOne commented on 2012-08-05 20:45

You can fix my bug packing the latest dev version of gnome-menus and add it to dependencies.

GuestOne commented on 2012-08-04 17:22

Crash to startup with:

Traceback (most recent call last):
File "/usr/bin/alacarte", line 36, in <module>
main()
File "/usr/bin/alacarte", line 33, in main
app.run()
File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 62, in run
self.loadMenus()
File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 199, in loadMenus
self.on_menu_tree_cursor_changed(menu_tree)
File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 339, in on_menu_tree_cursor_changed
self.loadItems(self.menu_store[menu_path][2])
File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 213, in loadItems
for item, show in self.editor.getItems(menu):
File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 151, in getItems
item = item_iter.get_separator()
AttributeError: 'TreeIter' object has no attribute 'get_separator'

Barthalion commented on 2012-07-31 10:19

Done, thank you.

However, it still doesn't work as it's supposed to. I recommend switching to menulibre.