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

User Page

Brainstorm Sugegstion

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.