Jump to content

Plasma/Clock

From KDE Community Wiki

Plasma is all about Clocks. It's an old joke, but it contains a kernel of truth. The clock is the one element of the desktop most people depend on, and it can be a valuable conduit for information they need. This page will co-ordinate all the resources around the Plasma Clock and plans for it's future.


Resources

http://userbase.kde.org/Plasma/Clocks http://forum.kde.org/viewtopic.php?f=114&t=83326 KDE Bugzilla all open Plasma Clock bugs

Current Implementation

The current implementation can be found in the following locations.

Time DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/time

Calendar DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar

Akonadi DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/akonadi

Plasma Clock Library, holding the common base implementation for all clock/calendar widgets https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/libs/plasmaclock

The Calendar Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/calendar

The Digital Clock Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/digital-clock

The Analog Clock Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/analog-clock

The Binary Clock Applet https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/binary-clock

The Fuzzy Clock https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/fuzzy-clock


PIM Data Interface

Currently PIM data is read-only and is provided via the Calendar DataEngine. To make PIM data 2-way would require the creation of a Service. However, the Akonadi interface and the creation of PIM data in general is very complex and is not ideally suited to being mapped into a Data Engine or Service. The API would be very big and unwieldy and a maintenance nightmare. This is one occasion where Plasma elements requiring complex functionality will be better off directly using the Akonadi API and UI elements. However this doesn't stop a simplified service being provided that would meet 80% of needs with the more complex requirements being left for the native apps to handle.

Plasma Service Design

An initial minimal Plasma Service has been defined at:

https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/plasma/generic/dataengines/calendar/calendar.operations

The actual implementation is still required.