Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

freedesktop.org standards for submenus not honored #2180

Closed
uberstudent opened this issue Jun 14, 2013 · 8 comments
Closed

freedesktop.org standards for submenus not honored #2180

uberstudent opened this issue Jun 14, 2013 · 8 comments

Comments

@uberstudent
Copy link

A menu file with a subcategory, such as below, is not honored in Cinnamon 1.8.

<Menu>
    <Name>ApplicationCategory</Name>
    <Directory>ApplicationCategory.directory</Directory>
    <Include>
     <And>
       <Category>ApplicationCategory</Category>
        <Not><Category>ApplicationSUBCategory</Category></Not>
      </And>
    </Include>
    <DefaultLayout inline="true">
      <Merge type="menus"/>
      <Merge type="files"/>
    </DefaultLayout>
    <Menu>
      <Name>ApplicationSUBCategory</Name>
      <Directory>ApplicationSUBCategory.directory</Directory>
      <Include>
        <Category>ApplicationSUBCategory</Category>
      </Include>
   </Menu>
 </Menu>

Not one of the sub-categories at http://standards.freedesktop.org/menu-spec/latest/apas02.html are honored.

@mtwebster
Copy link
Member

This is by design. Nested submenu items are aggregated into their toplevel submenus.

@ManIVIctorious
Copy link

This is at least the 5th time somebody asks for this behaviour, would it be possible for one of the devs to create a third party menu applet which only differs in this behavior?
I suspect that there is no such third party menu because noone knows how to implement this...

@collinss
Copy link
Member

@ManIVIctorious This actually wouldn't be that hard to implement from a programming standpoint, but there is no way to do this well using the current api. The only way that I could think of to display the information clearly and consistently is to implement pop-out sub-menus, but that would take some more doing, and it probably wouldn't look good unless it was implemented as a regular part of Cinnamon, due to lack of theme support. I was meaning to do something about it at one point, but I've been really busy lately, and haven't had the time.

@ManIVIctorious
Copy link

@collinss : I am happy that someone is thinking about implementing it, it gives me some hope because it would make the menu perfect.

About displaying:
I would have thought about something like the current rightclick on entries, when you rightclick them
a small menu expands with the possibility to create desktopstarters and so on.
For the submenu just leftclick the entry and the menu expands like that, since i am absolutely not able to describe this clearly i'll try to make a mokup, when i am back on my pc

@ManIVIctorious
Copy link

Something like that (before button click and after)
Image and video hosting by TinyPic

@collinss
Copy link
Member

@ManIVIctorious The problem with using those sub-menus is that if you have multiple layers of nesting, it will get hard to tell what is a child of what, particularly on certain themes. And if you have a lot of sub-items, it can get much harder to find what you are looking for if you have to do any scrolling.

On the other hand, a pop-out sub-menu wouldn't have those problems. It would be much easier to traverse the hierarchy, and therefore be much less confusing. It may be old-school, but it works. And hey, isn't the whole point of Cinnamon to take advantage of all the new technologies and ideas, without getting rid of what actually works... :)

@ManIVIctorious
Copy link

You are right, for multiple nestings it really isn't ideal, have never thought about more than depth=2...
but it would still be better than what we have now, especially the wine-menu totally gets out of control,

I would also be fully satisfied with your suggestion, everything which makes it clearer is an improvement

@uberstudent
Copy link
Author

It's very nice to see some discussion happening on this issue. :-)

For the record, I do not consider this a "feature request." If nesting submenu items in to higher level submenus is by design, then there is a design flaw. The requested behavior in this bug report should be how we code by default if we are interested in following standards, in this case, freedesktop.org standards. "Balkanization" of Linux desktops is already problematic enough.

The Mint Menu knockoff for Xfce, Whisker Menu, supports sub-menus with a "Show menu hierarchy" option that may be toggled within the plugin's Properties dialog. This is shown below:

ss2

During an early release of Whisker Menu, I specifically asked the plugin's developer to add this support. He obliged, apparently without undue trouble.

It's not just the defalut Wine menu that become a mess when submenus are diverted in to their higher-level category. In speciality distros, such as UberStudent and UbuntuStudio, menus become a complete and total mess when everything is dumped in to higher-level menu categories. Lack of support for sub-menus is a deal-breaker when considering Cinnamon Editions, and it instantly looks clunky whenever anyone merely installs Wine in any distro featuring Cinnamon. The UberStudent distro literally blacklists Cinnamon as an installable package because of this issue of it not supporting freedesktop.org menu standards. This is a real-deal bug.

Shown below is Whisker Menu displayed in the UberStudent distro, which frequently contains not one but two levels of sub-menus. It is positively very functional, as shown:

whisker-menu-in-uberstudent

As with Whisker Menu, hierarchial menus do not need to become the default behavior. They just need to be supported per freedesktop.org standards.

Those of us who report and discuss issues like this are speaking for many, many more people who do not take the trouble to do so.

For the foregoing reasons, I would kindly request that mtwebster re-open this as an active bug report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants