Introducing the darkest power of PowerDevil

Scary, huh? On a side note, hello Planet, this is my first post that will actually get syndacated. I excuse for giving you updates on what I work on just now, though I’m really dumb about RSS feeds, so credits to Riddell for 1) adding me to the planet 2) showing me how to filter RSS by categories :\

Anyway, some of you might know what PowerDevil is, some might not; well, for you who fear this is yet another attempt of threatening your lives, PowerDevil is a power manager for KDE4, and it won’t kill you. Credits to sandsmark for this beautiful name πŸ˜€

Being serious for a moment, PowerDevil takes a pretty different approach than all other KDE-based powermanagers until now. PowerDevil is lightweight, and I mean for real, and it’s fully integrated in your KDE Desktop. This is because PowerDevil it’s not the usual application you see in the tray, but just a KDED module, aka a daemon. Right, everything happens in background and you don’t have to care. And, for your battery’s sake, it doesn’t poll your system. I spent some time refining some existing algorythms, and I think I have reached the maximum level of efficency.

It is splitted in 2 main components: the daemon and a KCModule to configure it. But let me show you something πŸ™‚

Here you can define your profiles.

Here you can define your profiles.

This is the heart of PowerDevil. Yes, it is profile based, and you can create them easily thanks to this interface. Important: I need some help on the GUI!! It really needs an usability review, consider this as a cry for help πŸ™‚ But I was saying…
Thanks to this, you can create your profiles, fit them to your needs, and assign them to the correct event, so that the right profile will kick in at the right time.

Now some bits on its architecture: PowerDevil is fully based on solid, and I mean 100%. It is also able to detect your system’s capabilities, so that only supported configuration options will be shown to you. Nice, isn’t it?


PowerDevil notifications look like this πŸ™‚

You probably wonder how you’ll get all those nice messages old powermanagers used to stream to you. The answer is simple: KNotification! PowerDevil streams every info you’d like to hear through KNotification, like Kopete does πŸ™‚ So you won’t miss a single bit of what’s happening in your system. Or you can simply disable them and enjoy a real background experience.

So far so good, though you probably wonder where to see system status, where to change profiles manually and so on. The answer is easy, and it’s Plasma.

Did I mention Plasma is the future? And this is how future looks, at least in power management

Did I mention Plasma is the future? And this is how future looks, at least in power management

PowerDevil, as I told you, is tightly integrated in your desktop, and this means with Plasma too. The KRunner lets you do about everything you want: changing profile, governor, and so on. Try some keywords like “power profile”, “power governor”, “screen brightness”, just to name some, and find out how fast and easy it is managing PowerDevil through KRunner.

Goodies are not over, and a Plasmoid is coming, letting you do everything the KRunner already does. The engine in kdebase has already been extended, and sebas is working on the Battery applet to bring you another I-must-have-it plasmoid on your dashboard.

So, want to give it a shot? PowerDevil is, at the moment, in kdereview, but will be soon moved to kdebase and will be the default powermanager in KDE 4.2. It works cool on KDE4.1 too (we kdemod guys are already using it), so you can already taste how it looks like.

Comments, help, feedback, insults and whatever are always welcome πŸ™‚

~ by Dario on 12 September, 2008.

47 Responses to “Introducing the darkest power of PowerDevil”

  1. Awesome! I didn’t know the krunner worked so well already!

  2. great! I hope you do ugly things like using the powersave governor, just let the user switch between ondemand and performance, as powersave isnt saving power either (at least on modern hardware). This brings me to the only possible use of powersave: thermal management. do you plan to implement some support for this? If yes please allow it to be disabled, because it requires polling.

  3. Wonderful… I want that… will it work well with my KDE 4.1.1 on Gentoo ?

  4. This sounds great πŸ™‚ It’s nice to see what can happen when applications really embrace the pillars of KDE4. Keep up the good work!

  5. Wow.. now this was a fast development… feels like a couple of weeks only since you started it… congrats!

  6. I think you can start the GUI work by removing the groupbox titled “Profile Management”. Putting everything under a tab page into another group box doesnt make much sense. And then probably you should change tab title to “Profile Management”.

  7. @sandsmark: yes it does πŸ˜€

    @flyser: I’m not sure what you meant, though you’re not forced to use anything: just profiles are switched, and you can define anything you want in a profile, and nothing requires polling, it’s all done through signals and time intervals.

    @anonymous1: of course it will πŸ™‚

    @Warbo, Rasi: thanks πŸ˜‰

    @anonymous2: wouldn’t be bad, but I forgot to say that a fundamental requirement for it is to be as small as possible, since it will probably be used on mobile devices.

  8. Awesome!
    intrepid packages, anyone…

  9. Glad to see that now there is better power managment support for KDE, and pretty cool there are more and more kde devs on arch πŸ™‚

  10. So this will be KPowersave’s replacement? Looks excellent. So it shows battery status as well in the systray if you like?

  11. @parena I assume thats what the plasmoid is about.

    @rasi Solid is awesome like that. πŸ™‚

  12. Is there any plan to support running scripts when a profile is launched? That would allow to load/remove kernel modules, change hdparm or graphics settings, etc.

  13. @parena: Ian is right πŸ™‚ you can just place the applet in the tray and get what you need

    @Ian: Solid DOES rock πŸ˜€

    @Javi: Cool idea! Thanks for the suggestion, I’ll implement it for sure.

  14. Always nice to see something so full-featured-looking and well-integrated erupt (seemingly) out of nowhere πŸ˜‰ Nice work!

  15. If there is a baterry tab, why not an AC one?

  16. While the name is cool, I think it should be a bit more descriptive, especially if this is going to be the default tool people will use to handle powermanagement. I think tools like this should have generic names like “Power Manager” (for example). That way they don’t have to think of what the name of the app is, but rather, what they want to do.

  17. @SSJ: Thanks πŸ˜€

    @”me”: Well, you probably didn’t get the functionality of the tabs, I suggest you to try it πŸ˜‰

    @Janne: correct indeed, in fact the KCModule is named “Power Management Preferences”. PowerDevil is just displayed in notifications and in the Services module, with description aside, you really can’t miss it πŸ˜‰

  18. @Ian and @drfav: heh, forgot to read the last 2 paragraphs. I was like “what plasmoid are you talking about?” πŸ˜€ Thanks anyway. πŸ™‚

  19. In theory, the notification shouldn’t have a title at all. After all, is powerdevil in any way related to the fact a power cable has been unplugged besides the fact that it is the application that noticed it. For all I care, k3b can be the app that noticed I’m running on battery, I just want to get the notifications. I’d say no title or something like “Power Management” would be better.

  20. I have a little problem with the name, just google for it. πŸ™‚ It’s a crappy and expensive stream-cleaner, and I was unfortunate enough to have seen some commercial shows for it in german television. That means, whenever I hear/read “power devil” I associate a blonde on tv saying “If you buy this great product, you also get a free screw-driver, unbelievable!!” or similar with it. πŸ˜‰

    Even in general, I would prefer popups that say “Power Management” at the top, instead of power devil, because for the general user it’s the only thing that makes sense.

    But in general, looks very good, and I’m looking forward to the final result!

  21. Are there any plans to add PowerDevil integration to the battery plasmoid? In particular, I’m thinking of popup menu entries to:
    * fire up the PowerDevil KCM and
    * select the PowerDevil profile from a list, without having to fire up KRunner.
    Basically, my idea is to have a UI comparable with KPowerSave or guidance-power-manager, without changing the Plasma architecture which PowerDevil and the battery plasmoid now use.

  22. You said you want usability review. I noticed in your screenshot that the buttons “Delete-Edit-New” are in an uncanonical order. It is usual to put “New” to the front and “Delete” to the end. Also, if you are using a popup to enter the new profile’s name (what I assume), the label should have an ellipsis at the end (i.e. “New…” instead of “New”).

    From what I see from the screenshot, one has to click “Edit” to start editing a profile. I would find it more intuitive to remove the “Edit” button (make editing start when the profile is selected).

    All in all, I would like it if you remove the “Edit” button and move the import/export function to the left because these belong (logically) to the profiles list, not to the configuration of a single profile. The order should then be “New-Import-Export-Delete”.

    Enough input? πŸ˜‰

  23. Howdy. Good project and all, I’d just there are some things that can be improved, like the name (I’m not the kind of religious guy, but having “devil” in an app thousands, maybe millions of people will use can touch some open nerves. Just to be fair, daemon is a supernatural being in ancient greek mythology and not a mythological aways-and-eternally-evil being despised in all abrahamic religions – so maybe it’s better to hide our inner d(a)emons, no?) :). The second thing is I don’t see why all this hurry to abandon the tray. Tray icons are small and can be seen in more than one line if the panel is big enough. Some old dinosaurs like me are just used to those tiny tray icons I can click on and interact with. So please provide a tray icon, please! Tell me you will, pretty please. πŸ˜€

  24. for those asking for a tray icon, we’re moving away from system tray icons for these things and instead using plasmoids.

    .. and we’re working on a new tray that can embed plasmoids like these ones next to the current x11 systray icons.

    so to the user it doesn’t look very different, except that the new icons are a lot less ugly and a lot more consistent with plasma.

    powerdevil features will be added to the existing battery plasmoid; design and code is already flying on the plasma mailing list for this.

    as for hiding the name powerdevil, i recommended that myself. powerdevil is a cool name but, like plasma itself, it doesn’t speak much to the user of the computer. so it’s a fine (imho anyways) “brand name” for the project, but it should just present itself generically as “power management” to the user.

    and yeah, great work on the design, usage of the pillars and integration with the desktop. class act!

  25. Suggestion –
    It would be nice if in the plasmoid settings, one could also specify quirks such as video_bios, vbe_mode, vbe_state etc, preferable in advanced pereferences tab.

  26. I’ve been playing a bit with the interface file and I’ve done this:

    What do you think?

  27. Wow, this is great. This is exactly how I imagined KDE4 apps working when fully integrated into the KDE4 way of doing things. Are you going to be porting it to that new knotify replacement? (or perhaps you have done that already)

  28. Great job, I’ve been using powerdevil for quite a while now in kdemod. I was asking for the plasmoid all the time in the kdemod forums, but after this post everything became clear: the krunner interface is great and solves my needs of switching between profiles. πŸ™‚

    As for suggestions, I think it could be hard to implement quirks like video_bios etc, and running scripts may be hard, because most uses (setting /sys values, hdparm etc) require root privileges.

    Still, the feature I’d like to see the most is the ability to tell a profile: never enter this profile when this and that app is running. I mean I don’t want the powersave profile firing up and dimming my screen when I’m running mplayer/smplayer. This shouldn’t be hard to do, but would be a really really nice feature πŸ™‚

    PS. I’m posting this from konqueror and the text inside the comment form is black on black background.

  29. Name suggestion: “PowerControl” ??

  30. Hi,
    I like very much your Powerdevil…it seems nice,complete and well integrated.I have to say that “power devil” is a nice name,but there’s another power manager project on kde-apps whose name really rocks!It’s “Lithium”:one word,very suggestive,simple and easy to remember!What a pity that is already used!In any case I would like to suggest you (or to Sebas..are you listening?) to include in the battery applet detailed informations about batteries,as with gnome.In Linux Mint the battery applet shows the number code of the battery,the original capacity when the battery was new and the actual one,so you can know how old is your battery and when it’s time to change it.Let me know if you like my ideas.Bye

  31. Ah,I forgot..last but not the least if you want an usability review you could try to ask to celeste paul that is very active regarding usability in KDE4.You could also read this ,I foud it very useful. or try to include your project in

  32. Holy crap that is cool. A pity it is too late for Ubuntu Intrepid, but I might see if it will go in to my ppa – so it definitely works fine on 4.1.1?

  33. Nice work! I don’t have any useful usability input for you. Just wanted to thank you. Now I’m down to two KDE3 applications I still use.

  34. Wow, these are a LOT of comments πŸ˜€ thanks guys, didn’t expect so much attention, I’ll try to reply you all.

    @powerdevil-should-not-be-shown: atm is shown in notifications because KNotification takes the application name as a title. If you have any hints on how to set a custom title, it would be great πŸ˜€

    @will-it-work-on-4.1: It works, it works πŸ˜€ I used it on 4.1 since 2 days ago.

    @Stefan: enough, I will for sure πŸ˜€

    @Aaron: thanks for clarifying some doubts about tray icons πŸ™‚

    @Javi: interesting stuff. About the first mock, it is probably the way to go, and I’ll implement it. About the second, it used to look like yours, though a big concern is size, since it has to run on small devices also, so I’ll probably go with first yes, second no πŸ˜€ Thanks a lot!

    @Neuro, nice feature, please read Aaron’s post about contexts and you’ll see it’s coming πŸ˜‰

    @Kyashan: I’ll ask celeste later, thanks πŸ™‚ About the applet, it will surely have some detailed informations πŸ™‚

  35. great work!! i’m looking forward to it!! anyway, i’m waiting the plasmoid : )

  36. […] Dario “drf” Freddi ha da poco annunciato un progetto molto interessante per la gestione dell’alimentazione in KDE 4. PowerDevil, nonostante appena nato, sembra giΓ  abbastanza maturo da sfruttare con disinvoltura le funzionalitΓ  offerte da Plasma, come vedete dalla prima schermata. PuΓ² usare infatti l’ottimo KRunner per impostare il livello di prestazioni/consumo. […]

  37. Introducing the darkest power of PowerDevil |…

    \r\nPowerDevil is a new lightweight power manager for KDE 4 and will be the default power manager in…

  38. dw5iddcwu6qe 3fskmxaop97mb4x3t 1l7tweq98b737hgq

  39. Compilation worked fine in my Ubuntu Hardy with ppa kde 4.1.1. I found no predefined profiles and icons, but after manual settings it’s working. I submitted a compilation guide (in italian) from primer in my blog, if somebody needs.

    Thank you very much for this nice tool!!!

  40. c9wh088b 5bgbr9605l0dxq foz84p0f0f9cqad

  41. Firstly I’d like to congratulate you on a job well done.

    Is there a possibility Powerdevil could handle the brightness OSD or something like that? That and a sound volume OSD are the things that are missing from KDE4.

  42. Any nice plasmoid in tray? like kpowersave or klaptop.
    Policy for CPU (ondemand, low perfomance, etc)?

  43. I. I’m sorry for my bad english (i’m italin). I have an important quest: It is possible to install powerdevil on ubuntu gnome? Gnome indeed has not a good system to save automatic power profile for different situation (AC/Battery). Thanks for all

  44. The plasmoid “Battery Monitor” uses PoweDevil. I am using it at OpenSuse 11.

    Unfortunatly the LCD brightness support is not already working for me, although my ACPI supports it (I can change brightness throu /proc interface).

    I would like to help to improve this part. I have C++/QT/KDE skills and have worked for KDETv a long time ago.

  45. hey, just wanted to tell you that this is the best documentation a developer could possibly make: you cover the basics, show where you can configure things, say what is missing. hat off to you.

    any chance of influencing other developers to do similar thing?

  46. […] Powerdevil (KDE4’s power manager) comes built-in with KDE 4.2.x based systems. It relies on KDE4’s infrastructure for receiving & handling any ACPI events. I made it ignore any power-off (generated by slightly pressing the power button of the system) events by going to “System Settings” > “Advanced tab” > “Power Management”. Next what I did was to enable ACPI… Comments (0) […]

  47. Oh man so it’s this sandsmark we have to thank for this “beautiful” name?

    I cannot have something called powerdevil running on my machine because of my religion.

    How uninspired (to avoid any strong words) to gratuitously pick such an offensive name for a plain tool like this and a one deeply integrated into KDE at that.

    The problem is on Plasma 5.9 it cannot be uninstalled without removing plasma5-session along with it. This means you have just excluded religious people from KDE out of a whim.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: