Support for tray icon's custom contextual menu items via the Plugin API


I am a happy user of Joplin who would like to develop some plugin features (probably adding feature to the great Inline Todo Plugin, in order to display to-do list items as menu items of the contextual menu of the icon tray.

However from what I can get so far, the plugin API does not seem to allow adding anything to that contextual menu. The latter is created as per Electron's Tray items standards [electronjs . org/docs/v14-x-y/api/tray] within Joplin's function updateTray() [/packages/app-desktop/app.ts#L166] :

Would integrating it to the Plugin API make sense as a new option for MenuItemLocation [joplinapp . org/api/references/plugin_api/enums/menuitemlocation.html] such as TrayContextMenu ?

If so, I can work on a PR for this, welcoming any advice as I am basically discovering the code.

I'll update this section after I investigate further and/or receive advice but I guess it relates with:

  • creating a hook within the above-mentioned updateTray()
  • creating the dedicated option within the plugin API code [/packages/lib/services/plugins/api/types.ts]

PS: sorry for not embedding URLs properly but the forum wouldn't grant me that privilege.

1 Like