Tuesday, January 30, 2007

KPowersave outlook to 0.7.2

Currently I work on the next KPowersave version 0.7.2. The most work is already done and the new configure GUI get finished for this version. Here two screenshots of the new dialog.

The first show the new schemes section which now allow to create new and delete existing schemes. I also included a new tab to config the CPU frequency policy for each scheme:


The second show the new 'General Settings' section which now include the already in 0.7.1 via the config file changeable options: battery levels and actions, button events and the default AC/battery scheme (click on the picture to show the animated gif and all new tabs).


I plan to release the new package (including many bugfixes) within the next days. A complete translation is currently only available in german. Feel free to checkout the translation files from here, to translate to your language and to send me the updated file. Any help would be really appreciated.
Tech Tags:

23 comments:

Anonymous said...

Hi,

The ui looks really good, I haven't seen this use of tabs before, but I think I really like it.

Could you please add keyboard shortcuts to the app, you can use the setBuddy function of a label so you can access widgets with the keyboard, could you also please add alt text to the vertical tabs? It would also be great if the items in the Scheme ListView would have alt text but that would have to be dynamic and I don't know if that is possible.

Thank you,
David

Manu said...

Good to see that KPowersave is progressing so much. Is it going to be in next Kubuntu? (The default kpower-guidance, or whatever it is called, is horrible, a horrible step backwards.)

Also, I think that the tabs are cool but they are not so evident as normal tabs. Could it be possible to add some shadow or border so it looks more like a real tab or a button? This way it will be more evident that you can click on it. Also inactive tabs should react to mouse hovering (perhaps increasing border width?) Then, it will perfect.

Thanks!

Danny said...

[quote]Is it going to be in next Kubuntu?[/quote]

I would appreciate that, but this is the decision of the Kubuntu developer/users. KPowersave was in the past available for Kubuntu. Btw. I was never a fan of develop this new kpower-guidance stuff - this was not needed. It would have been better to develop together on KPowersave ... but this is an other story.

[quote]Could it be possible to add some shadow ...[/quote]
I can take a look at this, but I'm not sure if it is really possible to change the QToolBox widget I used (because I wouldn't use two tab widgets among each other) in this way to look more like a real tab.

Danny said...

[quote]The ui looks really good, I haven't seen this use of tabs before[/quote]

This are not really tabs as from the QTabWidget, I used a QToolBox for this to avoid a QTabWidget within the QTabWidget - IMO this would looks ugly

[quote] Could you please add keyboard shortcuts to the app, you can use the setBuddy function of a label so you can access widgets with the keyboard ...[/quote]

I take a look at this, I hope this does not change the strings for translation (This is why I hate kdevdesigner with every change the strings change also and you need to fix this by hand or need new translation).
What do you mean exactly with 'alt text'? Tooltips/WhatsThis?

Anonymous said...

The new version looks great, however I have still problems with lid events.

I've set my laptop to suspend to RAM on closing the lid, but I need to close it twice (close-open-close) to start the suspend. I found out that KPowersave is waiting for open event first and my first closing isn't noticed. It looks like there can not be two same events in sequence. After the first noticed open event the notification works correctly. However after reboot (or suspend) the behavior is reseted (or the opening of the lid is not noticed) and the problem is back :(

Thanks,
Cyril

Anonymous said...

Hi Danny,

I don't know if they are in qt also called alt text, they are the text so you can press alt + some_key to access widgets, in strings you add them like instead of "ClickMe" "&ClickMe" (I think). So you can type alt-C for the ClickMe button.

By setting a buddy for every label you can use the alt text of the label to focus a widget, for instance you can do setCPUFrequencyPolocyLabel.setBuddy(frequencyPolicyComboBox);
So you can use that label to select the combobox.

I hope that for the QToolBox it is also possible to add a & to the strings

David

Moritz said...

Hi Danny,

the features of the application look great. [I have never used kpowersave though]

However, the UI looks way too complicated. You have nested tabs three times!
1) General Settings <-> Scheme Settings
2) Performance <-> Powersave <-> Presentation <-> Accoustic
3) Screen saver and DPMS <-> Brightness <-> Autosuspend <-> CPU Frequency


It looks as if a beginner could search this app for a long time to find a setting.

I am also not sure whether the vertical fake tabs you invented are a good idea. I have never seen them before and I am sure many people would not be sure how to use these.

Maybe contact some open usability people to get suggestions for improvements?

Hope this helps, it is not meant as hasrsh critcism but as suggestion to take a step back and have a fresh look at the menu...

Danny said...

[quote]The new version looks great, however I have still problems with lid events.[/quote]

Hm, I could not reproduce the behavior you described here on my test machines from different laptop vendors. What kind of machine do you use?

Could you start lshal -m, close the lid of your machine, reopen the lid and post the output? Maybe this is a hardware or HAL problem. (which KPowersave version do you use? SVN Trunk?)

Danny

Anonymous said...

Hi,

I have dell inspiron 700m and had the problem with the original opensuse 10.2's KPowersave 0.7.1, but also with 0.7.2RC2, which I hoped to solve the issue.

Here is the output of lshal -m made after fresh recovery from suspend

Start monitoring devicelist:
-------------------------------------------------
acpi_LID0 condition ButtonPressed = lid
acpi_LID0 property button.state.value = false
acpi_LID0 condition ButtonPressed = lid
acpi_LID0 property button.state.value = true
acpi_LID0 condition ButtonPressed = lid

usb_device_458_36_noserial_if0_logicaldev_input removed
usb_device_458_36_noserial_usbraw removed
usb_device_458_36_noserial_if0 removed
usb_device_458_36_noserial removed
usb_device_458_36_noserial added
usb_device_458_36_noserial_if0 added
usb_device_458_36_noserial_if0_logicaldev_input added
usb_device_458_36_noserial_usbraw added
acpi_LID0 condition ButtonPressed = lid
acpi_LID0 property button.state.value = false
acpi_LID0 condition ButtonPressed = lid

The bold one is the closing which led to suspend and lid events after suspend correspond to another unsuccessful closing.

BTW with suse 10.0 I didn't have this problem.

hope it helps,
Cyril

Danny said...

Hm, this is definitely not a KPowersave, but maybe a kernel/HAL/hardware problem.

The best would be you open a bug in the Novell bugzilla (bugzilla.novell.com) - we can track the problem there easier than here. Please refer to this page in the bug and CC me there (dkukawka _aT_ novell _dot_ com)

But you can do this:
1) call this command after a clean boot with open lid (the result should be 'false' if the lid is open):
hal-get-property --key button.state.value --udi /org/freedesktop/Hal/devices/acpi_LID

2) download and run this script: http://beta.suse.com/private/dkukawka/hal/debug/test_lid_state.sh
Close the lid, wait a second and reopen the lid. Post the output here and to the bug.

Yes this could have worked with 10.0, but this was a other powermanagement structure and also an other kernel ;-)

Danny

Danny said...

Sorry, but this would be the correct command for 1):
hal-get-property --key button.state.value --udi /org/freedesktop/Hal/devices/acpi_LID0

Danny said...

[quote]By setting a buddy for every label you can use the alt text of the label to focus a widget ...[/quote]

Thanks for the hint, I fixed this in the SVN and it should be in the next version. I take also a look at the '&' (IMO this called a keyboard accelerator in QT) but this maybe result in change strings for the translation (this is was permanently happen if you use kdevdesigner and this mean pain to me ;-) ).

Danny

Thomas Zander said...

As the first poster, I have never seen a usage of the 'tabs' like that before.
And in GUIs that tends to be a bad sign. Its better to use existing concepts.

I do agree that normal tabs are not really great for this kind of thing. But KDE has a widget that solves this quite nicely that I think will give you even better results.
See the configure dialog for konqueror for example. The items are also layed out vertically but look a lot better.

I personally really hate these widgets you choose. If I mis-click I have to move my mouse a long way to correct my mistake. And at every click on those tabs I loose my bearings as things move around. I'm sure I'm not the only one that feels that way.

Cheers!

Alex said...

I rather like the current tabs. I've seen them used in KPDF and the original Mozilla (now Seamonkey) browser uses them for its side bar. Thanks for the work on KPowersave.
-Alex

Robert Krawitz said...

The one problem I have is that on OpenSUSE 10.2 I can't suspend my laptop by means of the suspend button (Fn-ESC on my Dell Inspiron 8200) when I'm in KDE. This is apparently because kpowersave takes over management from the system power management subsystem (pm-utils), but kpowersave doesn't handle the events generated by the suspend button (I want to configure it to suspend to disk).

I can certainly suspend to disk by means of the tray icon, but I'd much rather do it from the suspend button.

--Robert Krawitz rlk@speakeasy.net

Seb said...

I'm having the same problem as Robert with a Thinkpad T43; the suspend button on the laptop seems no longer to work in Opensuse 10.2.

Request: the "Screensaver and DPMS" option could you add a checkbox so that the times are relative to the KDE screensaver kicking in? ie. if KDE's screensaver is set to kick in after 10 minutes, and "standby after.." is set to 2 minutes, i would like the screen to stand by 2 minutes after the KDE screensaver starts, or 12 minutes in total (in the above case). Same for Suspend/Power off. The current behaviour seems to ignore the KDE screensaver timer, which I find a bit annoying.

Thanx for the great work on this util!

S.

Danny said...

[quote]The one problem I have is that on OpenSUSE 10.2 I can't suspend my laptop by means of the suspend button (Fn-ESC on my Dell Inspiron 8200) when I'm in KDE. [/quote]

This is fixed in the fresh released version 0.7.2 (see this post for more information: http://dkukawka.blogspot.com/2007/02/kpowersave-072-released.html) it should work now.

I work currently on a YOU update for openSUSE 10.2 so you can download the package from the sourceforge page or wait for the YOU update.

Danny

Danny said...

[quote]Request: the "Screensaver and DPMS" option could you add a checkbox so that the times are relative to the KDE screensaver kicking in?[/quote]

Not shure if this is really useful. The DPMS settings are independent from the screensaver settings and at least there is currently no way to get/set the time settings for the KDE screensaver (except read the config, but this is not really an option for me). IMO there is currently no way to do this.

Btw. The behavior in KPowersave is exactly what KDE do IIRC. There is no connection between the DPMS and the screensaver settings in kcontrol.

But I keep this in mind if there change something.

Robert Krawitz said...

Thanks, 0.7.2 allows me to suspend via the suspend button.

There's still one issue with it, though: if I suspend (to disk) via the suspend button, when I resume it immediately suspends to disk once more. When I resume it the second time, it comes back up. If I suspend via the right click menu, it behaves normally.

The button events are configured as follows: power button shuts down, lid close button does nothing, sleep button suspends to disk, and suspend to disk button suspends to disk.

Danny said...

@Robert: Which machine do you use? Could you top powersave (rcpowersaved stop) and try to reproduce? Sounds to me as if the event for the suspend button get handled twice (maybe by KPowersave and Powersave). How did you start the resume?

Robert Krawitz said...

I use a Dell Inspiron 8200. Stopping powersave doesn't make any difference. In this case, I "resumed" by aborting the suspend partway through, but that doesn't make any difference either. I normally resume via the power button (remember, this is suspend to disk, not suspend to RAM).

woodslanding said...

Robert:

I have an inspiron 8200 which I just installed suse 10.2 on, and I'm wondering how you access control over the power button function. Is this somewhere in KPowersave that I've missed??

Also, did you get your suspend issue fixed? I'm not going to dual boot this laptop anymore, so I'd probably like the power button to just suspend to disk....

Danny:
Now, 6 months later, I'm seeing those vertical tabs everywhere. Guess you were right there on the cutting edge!

cheers!
eric

Andreya said...

Hi Nice Blog .hp laptop battery Fujitsu, Gateway: Dell holds a very strong reputation in laptops marketplace. Dell’s Inspiron series of laptops is very popular among students and those who are looking for a wide variety of features in a limited budget.