fix unix desktop files categories

Bug #1791511 reported by Fabio Rossi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

Bug Description

All the unix .desktop files

./resources/linux/mime/applications/bitmap2component.desktop
./resources/linux/mime/applications/eeschema.desktop
./resources/linux/mime/applications/gerbview.desktop
./resources/linux/mime/applications/kicad.desktop
./resources/linux/mime/applications/pcbcalculator.desktop
./resources/linux/mime/applications/pcbnew.desktop

put the software in two categories (Development and Electronics). IMHO I propose to use only Electronics because the suite is not used to build programs from source code. Attached a proposal patch to change the categories

Revision history for this message
Fabio Rossi (rossi-f) wrote :

using git format-patch for the proposed patch

Revision history for this message
Seth Hillbrand (sethh) wrote :

Hmm... Which desktop env are you using? Development is a FreeDesktop "main" category while Electronics is an "extension" category. Extension categories are meant to be used together with the related main category. Your window manager should figure out where best to display based on which menus you have enabled.

https://specifications.freedesktop.org/menu-spec/latest/

Revision history for this message
Fabio Rossi (rossi-f) wrote :

Right now I am under KDE with Plasma. kicad apps are not shown (correctly for me) under the Development menu because there is the additional category Electronics.

Here are my comments (->) on specific sections of the specs (**) :

** Desktop entries should list all categories that clearly apply. They should not list categories that only vaguely or possibly apply, because the user will end up seeing the same desktop entry in a half-dozen places.

-> this refers to the extension "Categories" without distinguishing between Main or Additional ones.
-> a desktop environment *might* decide to put an application in all the categories suggested in the .desktop file but I guess, in our case, the user would never look into Development section for kicad :-)

** "The list of Main Categories consists of those categories that every conforming desktop environment MUST support. The list of Additional Categories provides categories that can be used to provide more fine grained information about the application."

-> so it's not mandatory for a desktop environment to support the Additional categories, i.e. there might not be a submenu for an Additional category (in our case Electronics) but

** "Category-based menus based on the Main Categories listed in this specification do not provide a complete ontology for all available applications. Category-based menu implementations SHOULD therefore provide a "catch-all" submenu for applications that cannot be appropriately placed elsewhere."

-> so there must be a catch-all menu where all the unclassified applications are inserted
-> if Electronic menu is not available
   - with Categories="Development;Electronics" the application will be inserted in the Development menu which is not intuitive
   - with Categories="Electronics" the application will be inserted in the catch-all menu (there is no risk not to have the application in the menu)

** "If multiple Main Categories are included in a single desktop entry file, the entry may appear more than once in the menu."

-> it's better to use only one Main category but this doesn't apply to our case

** "The Related Categories column lists one or more categories that are suggested to be used in conjunction with the Additional Category"

-> In the table the Additional category "Electronics" is not associated with any Main category so my interpretation is that can be used as is without a main category associated. This interpretation is also supported by one of the examples (look at Octave)

https://specifications.freedesktop.org/menu-spec/latest/ar01s03.html#desktop-entry-extensions-examples

where it is shown it's not mandatory to insert a Main category.

Finally another consideration. Most desktop environments today permits you to search for an application without searching in the menus so probably the specifications are a little bit anachronistic :-)

What do you think? IMHO the solution of having only Electronics is cleaner and considering all the above points it makes a better user experience.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

Fabio, I disagree with your assessment that KiCad does not belong under the "Development" category. According to the registered categories in the "Desktop Menu Specification"[1], the "Development" category is defined as "An application for development". It does not specify software development so technically KiCad is used for development albeit not software development which I am guessing you are assuming is the meaning of "Development". The other potential categories are "Graphics" and "Science". I personally do not have a strong opinion one way or another but to argue that "Development" is exclusive to software development is a stretch unless the category is changed to "Software Development".

[1]: https://specifications.freedesktop.org/menu-spec/latest/apa.html

Changed in kicad:
status: New → Opinion
importance: Undecided → Wishlist
Revision history for this message
Fabio Rossi (rossi-f) wrote :

I see your point but then development can be everything used to create something, at least that is my idea. It seems you are trying to put kicad in one of the main categories when it's not mandatory as previously stated, specially considering that there is an additional category (Electronics) that perfectly describes the software.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/3391

Changed in kicad:
status: Opinion → Expired
Changed in kicad:
importance: Wishlist → Unknown
status: Expired → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.