I took some time this evening to relax in a quiet, empty house by plonking away at the Plasma Active Alarms app UI. I'm still not 100% satisfied yet, but it's getting a lot closer.
Under the hood there are a lot of really interesting things going on. For instance, it's implemented as a Plasmoid that supports the Application form factor; the first Plasmoid to do so, in fact. What this means is that you can pop it on your desktop, in a panel or run it as an application and it adapts its UI appropriately. This is a new feature for 4.10 and I wonder what other Plasmoids may make similar leaps. Alarms also works very nicely in a "single column" form factor, smartphone style, when the horizontal space is constricted.
It uses Akonadi's spiffy KAlarm integration, so the alarm infrastructure was done for us by the KDE PIM team. This grants the Alarms app integration with all the other KDE PIM Stuff(tm) for free, too. Communication with Akonadi is done via a typical DataEngine and Service combo (org.kde.alarms). Due to this, without having to extend Plasma's C++ or QML API one bit, it was instantly and easily accessible in the QML as a model.
Still, there are caveats: The typography still sucks as we have not yet implemented the new guidelines in the components, something I want to see happen for Active 4. At least it is using all the "right" components so it can benefit as soon as the typography stuff slots into place. The plus icon looks dated by now (I'd guess it is one of the earlier Oxygen icons), and I'm not convinced with position of confirmation buttons in editor or the create entry ... the usual "must be perfect" itches.
But it's getting there ... at which point it'll be ready for features again such as more flexible repetition, selecting the audio file to play, etc.
![]() |
| Alarms plasmoid in Application form factor with touch components |
It uses Akonadi's spiffy KAlarm integration, so the alarm infrastructure was done for us by the KDE PIM team. This grants the Alarms app integration with all the other KDE PIM Stuff(tm) for free, too. Communication with Akonadi is done via a typical DataEngine and Service combo (org.kde.alarms). Due to this, without having to extend Plasma's C++ or QML API one bit, it was instantly and easily accessible in the QML as a model.
Still, there are caveats: The typography still sucks as we have not yet implemented the new guidelines in the components, something I want to see happen for Active 4. At least it is using all the "right" components so it can benefit as soon as the typography stuff slots into place. The plus icon looks dated by now (I'd guess it is one of the earlier Oxygen icons), and I'm not convinced with position of confirmation buttons in editor or the create entry ... the usual "must be perfect" itches.
But it's getting there ... at which point it'll be ready for features again such as more flexible repetition, selecting the audio file to play, etc.
