Description of problem: In the RC of Mageia 3, alacarte runs (so it is not the same case as in bug 2911) but does not allow to modify the menu. Version-Release number of selected component (if applicable): alacarte 3.7.2 2.mageia3 How reproducible: always Steps to Reproduce: 1. start alacarte (from a terminal to see messages) 2. try to change something, e.g., hiding or deleting an item 3. if try to hide, the cross reapperas after a while; in deleting, the following message appears in terminal: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 452, in on_delete_button_clicked self.on_edit_delete_activate(None) File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 299, in on_edit_delete_activate self.editor.deleteItem(item) File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 271, in deleteItem self.writeItem(item, Hidden=True) File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 404, in writeItem f.write(contents) File "/usr/lib/python2.7/codecs.py", line 691, in write return self.writer.write(data) File "/usr/lib/python2.7/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 46: ordinal not in range(128) In summary, no modification of the menu is possible. I am not sure alacarte is supported in gnome 3, in case not, it is better to remove it from the Mageia 3 release. Reproducible: Steps to Reproduce:
Please compare https://bugs.mageia.org/show_bug.cgi?id=2911
CC: (none) => dvgevers
Seems like a commit from upstream git [1] fixes this issue. You can test it by yourself too. Just edit file /usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py. I'll submit alacarte to updates with this patch from upstream after mga3 is released. [1] https://git.gnome.org/browse/alacarte/commit/?id=0d7f35124a0e23a0aaf57edf0e2d84f9ba1f12d8
CC: (none) => jani.valimaa
Keywords: (none) => TriagedSource RPM: (none) => alacarte
Tested modification of MenuEditor.py on the released mageia3 (64 bits). Now I can cancel items, but still cannot move them up and down. In MenuEditor.py there is another point similar to those you suggest to modify (around line 55): def save(self): with codecs.open(self.path, 'w', 'utf8') as f: f.write(self.dom.toprettyxml()) def restoreToSystem(self): Tried to modify this point also, but no improvement.
Can't reproduce this moving up/down issue. It works, but is a bit slow.
Pushed alacarte with some patches from upstream git to core/updates_testing. Please test if it's now more usable. If it's reasonably working, I'll update subrel to 1 and push pkg again for validating process. If not, I'll try to add/search more suitable patches from upstream.
I tried, it was able to cancel items, but NOT to create them, or pushing up and down, or moving around (no messages on the terminal). I also realized that some items that I had installed (texstudio) did not show up, even upon re-installment. These items are not seen even if I search them on gnome, they can be started only from a terminal. I disinstalled alacarte, I have been asked to disinstall also gnome-panel. When I installed again, I was not asked to to re-install gnome-panel. I am confused: maybe there is some setting in gnome that have to be adjusted ? I am not able to use gconf or dconf, never understood what they were doing.
Tryed to disistall all gnome components, deleting configuration files, reinstalled everything, but alacrte refuse to work. The message on the terminal now is: (alacarte:12755): GdkPixbuf-WARNING **: Bug! loader 'png12' didn't set an error on failure
(In reply to Alberto Girlando from comment #7) > Tryed to disistall all gnome components, deleting configuration files, > reinstalled everything, but alacrte refuse to work. The message on the > terminal > now is: > > (alacarte:12755): GdkPixbuf-WARNING **: Bug! loader 'png12' didn't set an > error on failure You probably have 'libgdk_pixbuf2.0_0-loaders-png12' installed instead of 'libgdk_pixbuf2.0_0-loaders-png15'. Remove png12 one with 'rpm -e --nodeps libgdk_pixbuf2.0_0-loaders-png12' and install png15 one with 'urpmi libgdk_pixbuf2.0_0-loaders-png15'.
I checked, and I had both installed. I removed the png12, and now the message disappears, but alacarte in any case does not work. I have been able to get some item in the list, like "qualculate!" (I could not add them !) by editing some unused item to the desired menu entry. But I cannot move it in the desired place. I was thinking alacarte could be dropped, as the menus are not used as much in gnome 3. Howevere, I realized that if an item is not introduced in the menu, it cannot be searched. Perhaps the bug should be made critical. But first I will try to set it up Megeia3 on as a new installation.
You may have some zero size .desktop files under your $HOME/.local/share/applications which may cause some problems. Remove those, just to be sure. You can find them with: find ~/.local/share/applications/ -size 0 And delete them with: find ~/.local/share/applications/ -size 0 -delete
Would be nice if people from QA team could test alacarte too..
I followed your advice, cancelling first the only files under ./local/share/applications (it was just one file, apparently unrelated), then cancelling all the zero size files in my home directory. I also restarted the computer before testing again alacarte. No way, same behavior described above. No communications in the terminal. No empty files were created. I then intalled Mageia 3 on an emulator. It was a fresh installement, no upgrade, included the user (I reformatted the user space also). Before doing anything else, I upgraded alacarte from the testing repo, as suggested by Jani. Then testing alacarte. Same results: I was able to cancel items, but not to add new items or menu, nor move them around. So it is not a problem of installation, and it presents itself both in the 32 bit version (the emuator) and in the 64 bit (my main computer). The problem is probably re;ated to the GNOME desktop, which is still work in progress in release 3. For these reasons I propose to increase the severity to major (I first filed the bug in the RC release, so at the time in my opinion was different).
Hardware: i586 => AllSeverity: normal => major
Assignee: bugsquad => olav
I just discovered part of the reason why alacarte doesn't add new items : They are assigned to the "other" group, which is not visible under alacarte, nor in the actual menu, at least in my installation. (Fairly recent clean install of mga4, with xfce and most of mate installed. No other desktop has been installed.) This became apparent after I installed menulibre (as suggested by Alberto in mga#2911). I found 8 or 9 entries that I had installed with alacarte, all under the "other" group. The "other" group is not visible under alacarte. I have tested adding groups with alacarte, but if they are added, they don't show up under menulibre. BTW, although menulibre mostly (but not completely) works, I find it very awkward to use. The alacarte editor presents the menu groups much as in the actual menu, which is less confusing. Both mate and xfce use conventional menus. So users of these desktops would probably (like myself) prefer that alacarte be fixed. When it worked, alacarte was a very convenient and easy to use menu editor. The only thing that menulibre does better is let users edit the .desktop file directly, but it overrides many changes, which is somewhat dysfunctional. From the menulibre desktop file, it is apparently designed for Ubuntu. If someone else doesn't tackle alacarte first, I'll (eventually) try to get it working. It could use a few enhancements as well.
CC: (none) => andre999mga
I encourage André in going on in try to fix alacarte (which I am unable to do: I can help only with testing). I also would prefer alacarte to menulibre. But I have shortly tested Mageia 5 beta 3, and alacarte (which is NOT installed by default in gnome) still does not work.
Version: 3 => Cauldron
Taking a quick look at alacarte, the code indicates that it now uses gtk3 (from gtk2), but there are gtk error messages when run in console. So pgm wasn't fully converted to gtk3. Also, the coding is unnecessarily obscure, which makes it much less maintainable. (Aside, despite complaints about drak* tools, at least that code is readable.) I also installed all the gtk3 packages that seemed likely related. Now adding a menu item adds a menu line with a blank title, and not usable. If someone skilled at gtk2 to gtk3 conversions takes a look at it, that may be the solution. Otherwise it could be other changes related to gnome2 -> 3. Maybe some needed package that was dropped ?
The various error messages seen in console, hopefully meaningful to someone more familiar with the code : When loading alacarte : (alacarte:2114): Gtk-CRITICAL **: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed When collapsing to display only the main menu line (which worked) : ^CTraceback (most recent call last): File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 192, in _cell_data_toggle_func def _cell_data_toggle_func(self, tree_column, renderer, model, treeiter, data=None): KeyboardInterrupt After adding new menu, which displayed with blank instead of title, errors from testing various interactions with new menu, none of which functioned : (Looks like null pointer instead of pointing to new menu, so menu not added ?) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 440, in on_properties_button_clicked self.on_edit_properties_activate(None) File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 304, in on_edit_properties_activate file_path = os.path.join(util.getUserDirectoryPath(), os.path.split(item.get_desktop_file_path())[1]) File "/usr/lib/python2.7/posixpath.py", line 92, in split i = p.rfind('/') + 1 AttributeError: 'NoneType' object has no attribute 'rfind' Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 345, in on_item_tree_show_toggled self.editor.setVisible(item, False) File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 193, in setVisible self.writeMenu(item, NoDisplay=not visible) File "/usr/lib/python2.7/site-packages/Alacarte/MenuEditor.py", line 412, in writeMenu file_id = os.path.split(menu.get_desktop_file_path())[1] File "/usr/lib/python2.7/posixpath.py", line 92, in split i = p.rfind('/') + 1 AttributeError: 'NoneType' object has no attribute 'rfind' Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 75, in menuChanged self.loadUpdates() File "/usr/lib/python2.7/site-packages/Alacarte/MainWindow.py", line 90, in loadUpdates item_id = os.path.split(items[iter][3].get_desktop_file_path())[1] File "/usr/lib/python2.7/posixpath.py", line 92, in split i = p.rfind('/') + 1 AttributeError: 'NoneType' object has no attribute 'rfind' ---- Note that the main menu display was totally disordered, but pressing the "restore system configuration" button worked, without erasing much if anything in "~/.local/share/applications/". Numerous entries added by menulibre are still there. Maybe alacarte is storing customizations elsewhere ?
CC: jani.valimaa => (none)
Assignee: olav => gnome
Appears to be solved in Mageia 6 (fresh installation)
Resolution: (none) => FIXEDStatus: NEW => RESOLVED