By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 1563 - [Regression] Kicker menu does not show some applications
Summary: [Regression] Kicker menu does not show some applications
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdebase (show other bugs)
Version: R14.0.0 [Trinity]
Hardware: All Linux
: P5 critical
Assignee: Francois Andriot
URL:
Depends on:
Blocks:
 
Reported: 2013-07-08 15:28 CDT by Francois Andriot
Modified: 2013-08-17 20:38 CDT (History)
4 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
tdelibs : fix application menu (88.11 KB, patch)
2013-07-18 15:50 CDT, Francois Andriot
Details | Diff
Patch to delete [KDE4] tag from KDE4 submenu items (594 bytes, patch)
2013-07-30 20:56 CDT, Darrell
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Andriot 2013-07-08 15:28:33 CDT
Hello, in R14, I cannot find some applications in Kicker menu. Same problem occurs in Kickoff menu.

E.g: kfind is not displayed when browsing menus, and also not found by the search feature.

When looking at file:
  /opt/trinity/share/applications/tde/Kfind.desktop

Changing the line:
  Categories=Qt;TDE;Core;
to
  Categories=Qt;TDE;Utility;

then restarting kicker is sufficient to make the program appear.
Is it on purpose ? Is it a bug ? In TDE 3.5.13.2 I do not have this problem ...
Comment 1 Timothy Pearson 2013-07-08 16:51:43 CDT
Sounds like a bug to me.  Raising priority.

Tim
Comment 2 Francois Andriot 2013-07-18 15:50:09 CDT
Created attachment 1351 [details]
tdelibs : fix application menu

More generally than the original bug, I've found several problems in the T-Menu in R14:
1) Unable to run kcontrol (icon exists but does nothing)
2) Some items not displayed at all (kfind)
3) The same items as (2) are not found by search menu (both classic and kickoff menu)
4) In some computers, categories icons are missing

I think there is confusion in XDG menu files, between TDE and KDE (but possibily other desktop environment too)

When look in tdelib's kded code, it looks like the 1st menu file TDE is looking for is "applications.menu".
This file generally exists under "/etc/xdg/menus" and is provided by the Linux distribution. It is supposed to be desktop-independant BUT it looks like it's not suitable for TDE (yet ?).
So TDE provides it's own "applications.menu", but is usually installed as "/opt/trinity/etc/xdg/tde-applications.menu". It looks like this file is *never* used currently because it has an incorrect name.

The attached patch changes KDED's behaviour. The menu file is renamed "tde-applications.menu" to avoid conflict with "applications.menu". It MUST be installed under /etc/xdg/menu , do NOT move it under /opt/trinity as we did before !

After installing it, you will see that:
1) kcontrol icons works again
2) missing items (kfind) are visible again.
3) search menu works agains
4) top-level categories icons are back.

Also, under each category, KDE4's applications are grouped into a "KDE" subcategory (with missing icon I'm afraid). It looks this grouping is not a bug, it was intended to be that way, but never worked (for me) until now !
Comment 3 Darrell 2013-07-30 13:53:36 CDT
I will test this patch.

I am seeing everything in Slackware and can launch apps such as kfind, kcontrol, etc. Yet I accept that perhaps some menu items do not work correctly or do not appear with certain distros as I don't remember any exhaustive testing when we updated the menus.

Francois,

When we revamped the menus long ago, we wanted an option to not show KDE4 apps in the Trinity menu. We also wanted to group all KDE4 apps because without the grouping, the menu became almost unmanageable with KDE4 clutter. Even on a large monitor some of the submenus took almost the entire screen to display. Smaller screens such as laptops and netbooks would have been a nightmare and public relations disaster.

With those goals we therefore grouped the KDE4 apps into submenus and also created applications.menu-no-kde. There is no automated way to install the no-kde menu. Administrators have to manually copy the no-kde menu over the existing applications.menu. (I use a script to make the change when I update Trinity packages.)

With the menu being renamed and moved to /etc/xdg/menus, does the applications.menu-no-kde approach still work? Do we need to rename and copy the no-kde menu to /etc/xdg/menus rather than /etc/trinity/xdg/menus?

I'm not doubting the need for the patch. I only want to ensure we test thoroughly for both of the aforementioned use cases. Those who do not want KDE4 apps in the menu should have that option and those who do want KDE4 apps in the menu want as little menu clutter as possible.
Comment 4 Francois Andriot 2013-07-30 14:41:03 CDT
Do you mean that, since the revamp time, you have the KDE4 applications grouped in a "KDE" submenu ? Because I had never seen that, on any of the distributions I build for ...

Do you have KDE4 installed or any other Desktop installed ?

The problem looks pretty clear to me now: the "main" menu file TDE is looking for is "applications.menu".
On CentOS6 (among other), Centos provides a file /etc/xdg/menu/applications.menu .
In 3.5.13.2 I've imitated the Debian/Ubuntu packaging (maybe a mistake) and built tdelibs so that "appications.menu" from TDE is installed as "/opt/trinity/etc/xdg/menus/kde-applications.menu" (notice the kde- prefix).
As a result, TDE does NEVER use the TDE-provided file (because wrong file name) and uses the distribution-provided one.
In that situation, I see many problems in the menu (crash, app not found, missing icons ...)


There are 2 possible solution:
- Either we fix the packaging, we do NOT rename the "applications.menu" to "kde-applications.menu", and keep files under /opt/trinity to avoid conflict
- Or we rename all of our files, so that we can safely install under /etc . That's what I do in my patch.
Comment 5 Darrell 2013-07-30 15:45:47 CDT
> Do you mean that, since the revamp time, you have the KDE4 applications grouped in a "KDE" submenu?

Yes.

> Do you have KDE4 installed or any other Desktop installed?

I have KDE4 and Xfce installed. I use both only for testing and comparison purposes.

> There are 2 possible solution:

My concerns are 1) limit the menu clutter and potential confusion by grouping KDE4 apps, many of which have the same app names and descriptions as TDE apps, and 2) provide a nominal mthod for administrators to not show KDE4 apps at all. This has always "just worked" for me in Slackware but as I mentioned, no exhaustive testing was ever conducted with other distros.

I realize there was a hack long ago to add [KDE4] to KDE4 menu descriptions but the hack does not really eliminate clutter and confusion. Hence my solution long ago to group all KDE4 apps. With the grouping we could (should?) dispense with the [KDE4] tagging.
Comment 6 Darrell 2013-07-30 17:45:13 CDT
Francois, your patch seems to be working for me on Slackware.

The default tde-applications.menu still groups all KDE4 apps in separate KDE submenus. That reduces clutter and confusion with KDE4/TDE apps of the same name.

When I save tde-applications.menu as tde-applications.menu.orig and then manually copy tde-applications.menu-no-kde menu to tde-applications.menu, the KDE submenus disappear and I no longer see any KDE4 apps in the menu.

I don't use the kickoff menu but from both menus seem to work there too.

Do you have permissions to push patches? If not I'll push to git.

Question: Do you think we should delete the [KDE4] menu tagging hack? With the menu grouping isolating the KDE4 apps, the [KDE4] tag is redundant and adds clutter.
Comment 7 Darrell 2013-07-30 20:56:35 CDT
Created attachment 1429 [details]
Patch to delete [KDE4] tag from KDE4 submenu items

I created a patch to delete the [KDE4] menu tagging hack. With the menu grouping isolating the KDE4 apps, the [KDE4] tag is redundant and only adds clutter.

To anybody who wants to test this second patch, first build tdelibs with Francois's patch. Test on a system that has KDE4 installed. Verify the TDE menus have KDE submenus and notice the menu items all contain [KDE4] in the description.

Then build tdelibs again with the second patch. The [KDE4] tag should no longer be seen.

For those who are curious, as root save tde-applications.menu as tde-applications.menu.orig and then manually copy tde-applications.menu-no-kde menu to tde-applications.menu. The KDE submenus disappear.
Comment 8 Francois Andriot 2013-07-31 03:17:39 CDT
Maybe we should add a configuration option somewhere to enable/disable the [KDE4] suffix ?
Comment 9 Darrell 2013-07-31 11:49:36 CDT
Yes, that would be an option.

For myself, now that the KDE4 items all are nicely grouped to avoid clutter and confusion, I find the addition of the [KDE4] tag redundant and contributing to clutter. I tested the patch and the KDE submenus now are more readable.

I thought about changing the Trinity submenu names from KDE to KDE4 but what happens when KDE moves to KDE5? We probably can test for the existence of kde4-config or kde?-config and that would tell us which version of KDE is running. These would be compile time tests to ensure the Trinity submenu name is correct. I like this idea better than a compile time option to toggle the [KDE4] tag.
Comment 10 Darrell 2013-07-31 20:24:41 CDT
The patch in attachment 1351 [details] pushed to git in commit 5da63fe9.

To everybody following this bug report, please vote whether we should use the patch in attachment 1429 [details] to delete the [KDE4] tag in the menus or add a compile time option to use the tag.
Comment 11 Francois Andriot 2013-08-01 07:24:30 CDT
Darrell, the GIT commit is incomplete.
Now, there is neither "applications.menu" nor "tde-applications.menu" and it causes FTBFS.
Please re-add the renamed files.
Comment 12 Darrell 2013-08-01 14:57:25 CDT
> Please re-add the renamed files.
I should pay better attention. I've been out all day but looks like Slavek already fixed the problem in commit cf1952a4. I'm sorry.
Comment 13 Darrell 2013-08-06 12:57:10 CDT
> Maybe we should add a configuration option somewhere to enable/disable the
> [KDE4] suffix ?
Francois, I'm not a code guru and I have only a basic idea how to implement your idea. I know an "ifdef" is needed in the source code but the respective environment variable needs to be created during the configuration phase. Rather than me push my patch that deletes the [KDE4] suffix (attachment 1429 [details]), would you create a patch to support a configuration option?

I'll test the patch of course. :-)

I think the default should be to disable the [KDE4] suffix. For example, -DBUILD_KDE4_MENU_SUFFIX=NO.

I still think the [KDE4] suffix adds clutter, but I agree we let packagers decide. :-)
Comment 14 Darrell 2013-08-17 20:38:02 CDT
A patch for compilation support to enable/disable [KDE4] suffix in KDE4 menu items pushed to git in commit 365f0306.

The new cmake configuration option is -DWITH_KDE4_MENU_SUFFIX and the default is OFF.

I tested compiling with both ON/OFF and I saw no problems. Works great both ways.