Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1278366
Summary: | After F22->F23 upgrade, some menus no longer work in the application menu | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jonathan Underwood <jonathan.underwood> |
Component: | gnome-shell-extensions | Assignee: | Florian Müllner <fmuellner> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 23 | CC: | daniel, debarshir, fmuellner, john.heslop, jthomas, lantw44, mario.michele, michel, musuruan, otaylor, paul, pikachu.2014 |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | gnome-shell-extensions-3.18.3-1.fc23 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-01-12 07:56:38 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jonathan Underwood
2015-11-05 10:50:28 UTC
Same here except it's internet system tools sound & video system tools that don't show and menu items. Works fine if I use the Frippery Applications Menu extension. /usr/share/applications sees to be populated correctly. I checked some of the desktop files like virt-manager.desktop and everything seems to to be as it should. "that don't show any menu items" Also I created a new user in case there was something in the home directory causing this, but the new user also has the same problem. found this workaround https://bugs.archlinux.org/task/46647 I tested this and it does work and I also tested that it does seem to be related to kde directories. The workaround doesn't provide for kde apps to show up in the menus. But if you copy, for example, k3b.desktop out of kde4 into /usr/share/applications, the app will show up in the menu. So it seems appSys.lookup_app returns null for app sin kde directories. Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get app (same as what frippery uses), works fine. So it does seem to be a problem with lookup_app() while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) { if (nextType == GMenu.TreeItemType.ENTRY) { let entry = iter.get_entry(); let appInfo = entry.get_app_info(); let id; try { id = appInfo.get_id(); // catch non-UTF8 filenames } catch(e) { continue; } let app = appSys.lookup_app(entry.get_desktop_file_id()); if (appInfo.should_show()) { let menu_id = dir.get_menu_id(); this.applicationsByCategory[categoryId].push(app); } } else if (nextType == GMenu.TreeItemType.DIRECTORY) { err, or possibly bad id returned by get_id (In reply to Jon Thomas from comment #4) > Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get > app (same as what frippery uses), works fine. So it does seem to be a > problem with lookup_app() > > > while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) { > if (nextType == GMenu.TreeItemType.ENTRY) { > let entry = iter.get_entry(); > let appInfo = entry.get_app_info(); > let id; > try { > id = appInfo.get_id(); // catch non-UTF8 filenames > } catch(e) { > continue; > } > let app = appSys.lookup_app(entry.get_desktop_file_id()); > if (appInfo.should_show()) { > let menu_id = dir.get_menu_id(); > this.applicationsByCategory[categoryId].push(app); > } > } else if (nextType == GMenu.TreeItemType.DIRECTORY) { I've applied this workaround and "application menu" now show all entry. for me is: Internet System tools I have the same problem but my list (although not sure if it is relevant) is: Graphics Sound & Video System Tools I have not tried the fix yet. However the problem appears on two systems that were upgraded using dnf as per above. I have only added this comment because a third system which was built using the Fedora 23 Beta also shows the problem. Same problem here. It's only present for the "Internet" menu. the problem continues, even if there was an update. rpm -qif /usr/share/gnome-shell/extensions/apps-menu.github.com/extension.js Name : gnome-shell-extension-apps-menu Version : 3.18.2 Release : 1.fc23 Architecture: noarch Install Date: mar 24 nov 2015 08:22:17 CET Group : User Interface/Desktops Size : 26991 License : GPLv2+ Signature : RSA/SHA256, sab 14 nov 2015 19:39:34 CET, Key ID 32474cf834ec9cba Source RPM : gnome-shell-extensions-3.18.2-1.fc23.src.rpm Build Date : gio 12 nov 2015 13:34:42 CET Build Host : buildhw-12.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://live.gnome.org/GnomeShell/Extensions Summary : Application menu for GNOME Shell Description : This GNOME Shell extension adds a GNOME 2.x style menu for applications. Problem still exists. Would be nice if the package owner was to comment. (In reply to Jon Thomas from comment #4) > Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get > app (same as what frippery uses), works fine. So it does seem to be a > problem with lookup_app() > > > while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) { > if (nextType == GMenu.TreeItemType.ENTRY) { > let entry = iter.get_entry(); > let appInfo = entry.get_app_info(); > let id; > try { > id = appInfo.get_id(); // catch non-UTF8 filenames > } catch(e) { > continue; > } > let app = appSys.lookup_app(entry.get_desktop_file_id()); > if (appInfo.should_show()) { > let menu_id = dir.get_menu_id(); > this.applicationsByCategory[categoryId].push(app); > } > } else if (nextType == GMenu.TreeItemType.DIRECTORY) { Very good work, thank you Jon. This worked for me perfectly! Did you ever post your patch to the maintainers of this package? gnome-shell-extensions-3.18.3-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-8d466dc1df gnome-shell-extensions-3.18.3-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-8d466dc1df gnome-shell-extensions-3.18.3-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. After upgrading to gnome-shell-extensions-3.18.3-1.fc23, applications menus fail to load: gnome-shell-wayland.desktop[6887]: Gjs-Message: JS LOG: Extension "apps-menu.github.com" had error: TypeError: app is null Removing /usr/share/applnk/google-chrome.desktop fixes my problem. |