You can use the dbus interface that PowerDevil provides to change performance profile.
Code:
$ qdbus org.kde.powerdevil /modules/powerdevil # tab tab
[...]
org.kde.PowerDevil.brightnessChanged
org.kde.PowerDevil.getSupportedSuspendMethods
org.kde.PowerDevil.lidClosed
org.kde.PowerDevil.profileChanged
org.kde.PowerDevil.refreshStatus
org.kde.PowerDevil.reloadAndStream
org.kde.PowerDevil.setBrightness
org.kde.PowerDevil.setPowerSave
org.kde.PowerDevil.setProfile
org.kde.PowerDevil.stateChanged
org.kde.PowerDevil.streamData
org.kde.PowerDevil.suspend
org.kde.PowerDevil.turnOffScreen
[...]
setProfile seems to take a string as its argument, so you can set up a profile without automatic sleep/standby/hibernate and then use setProfile <profilename>. I just tried it and it seems to work.
Code:
$ qdbus org.kde.powerdevil /modules/powerdevil setProfile "Powersave"
There is also another FDO interface whose method names suggest that they inhibit automatic power management actions.
Code:
$ qdbus org.kde.powerdevil /org/freedesktop/PowerManagement # tab tab
[...]
org.freedesktop.PowerManagement.CanHibernate
org.freedesktop.PowerManagement.CanHibernateChanged
org.freedesktop.PowerManagement.CanSuspend
org.freedesktop.PowerManagement.CanSuspendChanged
org.freedesktop.PowerManagement.GetPowerSaveStatus
org.freedesktop.PowerManagement.Hibernate
org.freedesktop.PowerManagement.Inhibit.HasInhibit
org.freedesktop.PowerManagement.Inhibit.HasInhibitChanged
org.freedesktop.PowerManagement.Inhibit.Inhibit
org.freedesktop.PowerManagement.Inhibit.UnInhibit
org.freedesktop.PowerManagement.PowerSaveStatusChanged
org.freedesktop.PowerManagement.Suspend
[...]
I imagine you can use Inhibit.Inhibit and Inhibit.UnInhibit for this, too. I think you have to go through some hoops to call those methods though; I'm not that big a wiz on qdbus use.
Bookmarks