Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What should linux-menu-group be when creating JPackage installer Java application on Linux?

What are the norms for creating JPackage installer Java application on Linux ?

I have created an installer for Windows, and am now creating one on Linux (using Ubuntu)

So far I have:

-i target/Jaikoz/buildLinux
--main-class com.jthink.jaikoz.Jaikoz
--name Jaikoz 
--main-jar lib/jaikoz.jar
--app-version 10.1.0
--copyright "Copyright 2020 JThink Ltd, United Kingdom"
--arguments "-l2 -m2 -f" --java-options "-Dhttps.protocols=TLSv1.1,TLSv1.2"
--java-options "--add-opens java.base/java.lang=ALL-UNNAMED"
--vendor JThink
--icon "Jaikoz64.png"
--install-dir /opt
--linux-menu-group Jaikoz
--linux-shortcut

for creating a debian installer, it works (installs not yet running properly) but I am confused about a number of things, I am not so familiar with the linux environment.

  • Cannot see the effect of linux-menu-group or linux-shortcut
  • Should I be using linux-menu-group or linux-app-category, and if so is it a predefined list ?
like image 377
Paul Taylor Avatar asked Jul 03 '20 16:07

Paul Taylor


1 Answers

linux-menu-group

--linux-menu-group defines the categories (separated by ;) under which the application will be classified.

There is a connection between desktop start menu entries and categories but categories are more generic. However by specifying e.g. Education as a value, you will see your application shortcut appearing on the Education group of the main menu (of the desktop start menu).

If your category does not match an existing one it will be added to Other menu section.

Technical-wise, the categories you provide (via --linux-menu-group) will be added in the category attribute of a desktop entry descriptor file (*.desktop) (See Desktop Menu Specification).
The combination of *.menu files and directories containing *.desktop files constructs the various menus.

Possible values for linux-menu-group:

  • Main categories
  • Additional categories
  • Reserved categories

vscode for example uses this value: Utility;TextEditor;Development;IDE;

linux-shortcut

If you don't provide --linux-shortcut you will not get a menu shortcut. I'm not sure if there is any reason providing --linux-menu-group if you have not provided the above.

linux-app-category

--linux-app-category it is unrelated to the desktop menu shortcuts. It corresponds to the Section field of *.deb file and "specifies an application area into which the package has been classified". Ref

It's like a classification for the type of software (e.g. when searching for packages).

Possible values are described here

like image 135
Marinos An Avatar answered Oct 26 '22 03:10

Marinos An