Hello,

I'm trying to push parts of nbnotify.com into NetBeans proper.

The most basic feature would be to show NetBeans notifications via the
SystemTray, if available.

This will mean native notifications on Windows and some Linux
configurations.

Here is the branch I'm working on
https://github.com/emilianbold/incubator-netbeans/tree/emi-notifications.try

... and the main commit
https://github.com/emilianbold/incubator-netbeans/commit/d5c666bdd5edab2d4ea0e023ec8155d120e5e9de

I am intentionally disabling this on macOS since the JRE does not use the
macOS Notification Center but shows an ugly dialog of sorts... It's worse
than what we already have.

It should look like this:

* Windows 8 http://nbnotify.com/nbnotify-netbeans-plugin-Windows8.png
* Windows 10 http://nbnotify.com/nbnotify-netbeans-plugin-Windows10.png

I suggest this module to be part of the Platform.

The only downside is that when the IDE notifications module is present the
NotificationCenterTopComponent will not show the previous notifications
anymore. This is because our NotificationCenter is not a separate service
but a companion of the IDE Swing-based NotificationDisplayerImpl.

Ideally, the NotificationCenter would be based on a separate API, perhaps
some listeners of sorts and work with any NotificationDisplayer
implementation.

Then again, some OSes, like macOS, do have their own Notification Center
where you see the previous notifications. So, it might not be required. I
have personally never looked at it but there may be a use-case / reason for
it.

BTW, I would discourage / deprecate all the notify methods from
org.openide.awt.NotificationDisplayer that need a JComponent. It doesn't
really map well with *any* OS-level notifications which universally assume
some text, maybe an icon, maybe some buttons. Internally I don't believe we
use it very much, except to simulate a hyperlink-like JLabel for updates as
far as I can remember (I will have to review the codebase someday).

Feedback welcome.

--emi

Reply via email to