Moving PowerDevil to kdereview

Sebastian Kügler sebas at kde.org
Wed Sep 3 03:46:14 BST 2008


Hi Dario,

On Friday 29 August 2008 19:45:42 Dario Freddi wrote:
> I am writing this mail to inform you I have moved PowerDevil from
> playground/utils to kdereview. PowerDevil is a Power Management system for
> KDE4.
>
> PowerDevil's aim is to be lightweight, feature-full, configurable, based on
> Solid only and fully integrated with the Desktop Environment. It is
> splitted into various components, a KDED module, a KCModule, a KRunner, a
> Plasma Engine and a Plasma Applet.

That's actually the design we (Kevin, Jonathan, ...) had talked about at 
Akademy 2007 in Glasgow. Thanks for implementing it. I think the overall 
design is really sane that way. :)

> The core is the KDED module. Polling was removed thanks to a system that
> sets the polling time to the next upcoming idle event. Every time the
> polling function is called PowerDevil calculates the minimum time for an
> idle event to come, and sets the timer accordingly. For example, in a
> scenario where you have a lot of events in a small amount of time,
> PowerDevil polls the system every minute. For detecting system activity, it
> uses the same grabbing system used previously in KDE4Powersave.

Good to see that this feature in X has now made it into the feature-set of the 
desktop.

> The KCModule handles configuration of the Daemon. Having a dedicated
> application for it seemed to me redundant, since you can have it by using
> kcmshell4. PowerDevil has 2 kind of configuration: a general one, and a
> profile-based one. You can create new profiles and assign them to
> particular events, PowerDevil will take care of kicking them in at the
> right time.
>
> The KRunner acts like a shell of PowerDevil. By typing set-profile, set-
> governor and so on, you can change on the fly what you need.
>
> The Plasmoid should be what the system tray was for old Power managers, and
> it should basically have the same features as the KRunner.

So we need to look into the battery applet and extend it with the needed 
functionality. I was planning on doing something like this for a while in the 
battery plasmoid, but I was missing an application that actually sets up the 
policies. For the battery plasmoid, we can use a popupapplet in the panel / 
systray area. The battery exposes a couple of settings, such as the ones 
you're offering in the Krunner.

Speaking of which ... in the KRunner, when you get those specific matches, you 
could offer more options. For example "screen brightness" would show the 
following matches (maybe even dependent on the current setting):

- fully bright
- dim partically (50%)
- dim fully
- disable automatic dimming (when watching movies or demonstrating things or 
  some such)

That way you get easy tab completion, and the UI clutter is easy to control 
(since most probably other runners won't use the same keywords).

> The code I'm putting in kdereview includes the KDED module, the KCModule,
> the KRunner and the Plasma Engine. I'm not so good with Plasma, so I tried
> to backport the current battery plasmoid and extend it, but with no luck.
> I'd really need some help on this side.

So let's merge the PowerDevilEngine and the PowermanagementEngine into one, 
and put the corresponding functionality into the battery applet. What are the 
changes you've made to the battery applet to turn it into the powerdevil one? 
I don't see many differences from a quick glance...

 I also think this should go into kdebase, especially because it's designed in 
a way that makes it easy to put a different config interface (perhaps a more 
limited one with defaults already set) on top of it (sort of what we can do 
with the plasmoid). The kded module does all the plumbing anyway, abstracting 
logic and UI.

Of course, having only one engine and one applet reduces maintenance efforts, 
so that's what we should aim for. Let's discuss these things on the plasma-
devel list, or on #plasma...

> Though the core is already working and it's fully-functional: it's being
> tested since a pair of months by KDEmod users, and they're pretty satisfied
> with it. The KRunner is also stable and functional.
>
> The code has no Krazy issues, compiles with no warnings and it's fully
> i18n'ed. I'd like to move it to kdeutils trunk, if approved. It still needs
> an usability review, a native english speaker's review of strings, and some
> help on the Plasma applet.

Cheers,
-- 
sebas

 http://www.kde.org | http://vizZzion.org |  GPG Key ID: 9119 0EF9 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 481 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080903/d1ee10dd/attachment.sig>


More information about the kde-core-devel mailing list