Notifications

Problem

There are a whole slew of different ways that users can receive notifications from applications. In DMDirc we have at least the On Screen Display plugin, Systray plugin and the KDE notifications plugin. There are also numerous forms of notifications we don't support (e.g. the new notification system in Ubuntu Karmic). These all provide bespoke interfaces which makes it incredibly difficult for users to switch from one to another, and make it horribly complicated for plugins to reuse the functionality.

Proposed solution

Notification methods should be exposed by plugins as services and exported methods. One plugin should provide a single command and management functionality (ala the nowplaying plugin). All notification plugins should provide the same interface regardless of the underlying functionality. This should include:

  • Message (required)
  • Title
  • Icon
  • Timeout
  • Priority

The management plugin should provide a single notification command which allows the user to show a notification with the configured or default source, or manually specify which source to use. It should take arguments for the title, icon, timeout and priority, but should not require them.

Ideally this functionality should be abstracted so it can be distributed separately from DMDirc (i.e., all plugins in a separate git repo) and preferably used without DMDirc (probably not easily possible at this time).

 
specifications/notifications.txt · Last modified: 2010/01/05 19:57 (external edit)