For very long time I am working on new libgnome-panel
library. It is still private library, but at some point it will become public replacing old libpanel-applet
library. My own requirement to make it public is that all internal objects are ported to new library.
After GNOME Panel 3.30 release I have finished converting menu objects to menu module. To keep existing functionality I had to introduce new functionality that will be available also to 3rd party applet developers once library will be public.
First thing is new GpAction
interface that might be interesting for 3rd party menu applet developers. By implementing main_menu
vfunc applet will be activable by pressing Alt+F1
.
Next thing that might not be well known functionality is ability to show menu even if panel has no menu applets. Modules can now provide callback function to create standalone menu by using gp_module_set_standalone_menu
. For now panel will use first module that has provided this callback function, but in future there might be functionality that could allow user to select module he wants to use.
Last thing is initial setup dialog - ability to show initial configuration dialog before applet is added to panel.
New module now has three applets that are available in add to panel dialog:
- Main Menu applet - same applet that was already available.
- Menu Button applet - new applet that use initial setup dialog to allow user choose menu category. Previously same functionality was hidden under "Application Launcher".
- Menu Bar applet - same applet that was already available.
Menu applets are mostly rewritten, but should have same functionality. In process some old bugs might have been fixed, but at same time new bugs might have been introduced. If you can then please test and report regressions so I can fix them before 3.32.0 release.