Skip to content

Conversation

mtwebster
Copy link
Member

@mtwebster mtwebster commented Mar 26, 2020

Adds support for org.freedesktopkde.StatusNotifier spec.

A small support program will advertise sn support, sn (and appindicator and ayatana) users will connect, this program will spawn an XAppStatusIcon to add to an applet.

Ref:
linuxmint/cinnamon#9176

Behavior -

Watcher is dbus-launched by any applet that uses XAppStatusIconMonitor. This is a singleton and lasts only as long as any monitors remain running. For instance, if you remove cinnamon's xapp status applet, the watcher will terminate.

Watcher allows any StatusNotifier-types to register, and creates an XAppStatusIcon for each, which are then shown in the applet.

The watcher acts as a StatusNotifierWatcher, and the xapp is essentially a StatusNotifierHost (https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/)

Impacts:

  • Should allow us to remove existing indicator support from Cinnamon
  • Will allow non-patched appindicator programs to have their icons displayed here..
  • If we ditch the patched libappindicator, we'll (probably) lose the ability to check whether or not a program has assigned a 'secondary activation' action - this is ordinarily meant for the middle mouse button, but we generally prefer a left-click performing any activation, rather than showing a menu with both left and right. So, the consequence is, if a program has no secondary activation, left-click will do nothing. Only right click will bring up the menu. If it does have activation, left-click will activate.

@mtwebster mtwebster closed this Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant