Shared OSD Service for KDE

Ozan Çağlayan ozan at
Sun May 16 14:18:30 BST 2010

Aaron J. Seigo wrote:
> On May 12, 2010, Martin Gräßlin wrote:
>> have a windowed OSD with a destinct window type KWin can recognize and
>> provide the required functionality.
> fair 'nuff, so to recap, we're currently at this design then:
> * OSD as a notification type in KNotify
> * a "well known" OSD D-BUs interface (org.kde.osd? could eventually be 
> org.freedesktop.osg ...)
> * if the D-Bus interface is registered, KNotify would send OSD requests to it
> * if the D-Bus interface isn't registerd, KNotify registers it and provides a 
> window based OSD service

I committed an initial working plugin here which needs heavy reviewing:

Initial commit log message contains an abstract on what I have done and what needs to be done:

Currently there's no way to pass some extra information over knotification so
the progress information is unknown to the plugin.

The D-Bus handling stuff is copied from notifybypopup and is not tested yet.

update() logic isn't also tested. I don't know what the logic there should be
in order to update the available OSD.

The OSD is a Plasma::Dialog with a basic QGridLayout inside. I tried hard to use
Plasma::Meter instead of QProgressBar but I failed as it needs switching
the whole UI elements with their QGraphicsxx counterparts.

Beside all of this, you can write down a kmix.notifyrc with Action=Osd, patch it to call
KNotification::event with appropriate icons and everything will work as expected.

Any help will be really appreciated.

More information about the kde-core-devel mailing list