Shared OSD Service for KDE
ozan at pardus.org.tr
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