On Mon, 2006-10-02 at 18:57 -0400, Alan Cox wrote: > On Tue, Oct 03, 2006 at 12:06:26AM +0200, David Nielsen wrote: > > > On a related note, gnome-power-manager 2.17.1 can control the CPU > > > scaling (and change policy based on AC and battery, idle or performance > > > etc), although this is obviously going to have to wait until FC7. > > > > Oh that sounds great, Richard you never fail to impress me > > I trust it works on the command line I'd note that dbus-send works pretty well. The interface is rather simple, see [1]. You could also write some wrappers around either dbus-send or other libraries, pick your poison. > and in KDE as well ? Funny thing, Alan, to ask a GNOME developer about KDE. Anyway, it seems that at least one KDE frontend already works with this but I don't really follow KDE closely, just the impression I got from the hal list... and the fact that the guy who wrote the patch for hal is a KDE / SUSE Powersave developer. I'd like to note that both GNOME, KDE and many distributors (also SUN) is working together upstream on using the same interfaces (e.g. hal) for desktop which is a good thing. Or... Alan... maybe your point was some variant of that boring old-old "New technology seems to land in GNOME only and is hard to access from command line and other desktop environments". Not sure what to answer to that, I think that has been adequately discussed earlier on this list (see archives), and I'm not sure you can blame GNOME developers for them being the only / first to take new technology and put a nice interface to it. Or maybe that wasn't your point, in which case I apologize. David [1] : [davidz@zelda pilgrim]$ dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.DBus.Introspectable.Introspect method return sender=:1.3 -> dest=:1.28 string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <node> <interface name="org.freedesktop.DBus.Introspectable"> <method name="Introspect"> <arg name="data" direction="out" type="s"/> </method> </interface> <interface name="org.freedesktop.Hal.Device"> <method name="GetAllProperties"> <arg name="properties" direction="out" type="a{sv}"/> </method> <method name="SetMultipleProperties"> <arg name="properties" direction="in" type="a{sv}"/> </method> <method name="GetProperty"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="v"/> </method> <method name="GetPropertyString"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="s"/> </method> <method name="GetPropertyStringList"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="as"/> </method> <method name="GetPropertyInteger"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="i"/> </method> <method name="GetPropertyBoolean"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="b"/> </method> <method name="GetPropertyDouble"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="out" type="d"/> </method> <method name="SetProperty"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="v"/> </method> <method name="SetPropertyString"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="s"/> </method> <method name="SetPropertyStringList"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="as"/> </method> <method name="SetPropertyInteger"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="i"/> </method> <method name="SetPropertyBoolean"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="b"/> </method> <method name="SetPropertyDouble"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="d"/> </method> <method name="RemoveProperty"> <arg name="key" direction="in" type="s"/> </method> <method name="GetPropertyType"> <arg name="key" direction="in" type="s"/> <arg name="type" direction="out" type="i"/> </method> <method name="PropertyExists"> <arg name="key" direction="in" type="s"/> <arg name="does_it_exist" direction="out" type="b"/> </method> <method name="AddCapability"> <arg name="capability" direction="in" type="s"/> </method> <method name="QueryCapability"> <arg name="capability" direction="in" type="s"/> <arg name="does_it_have_capability" direction="out" type="b"/> </method> <method name="Lock"> <arg name="reason" direction="in" type="s"/> <arg name="acquired_lock" direction="out" type="b"/> </method> <method name="Unlock"> <arg name="released_lock" direction="out" type="b"/> </method> <method name="StringListAppend"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="s"/> </method> <method name="StringListPrepend"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="s"/> </method> <method name="StringListRemove"> <arg name="key" direction="in" type="s"/> <arg name="value" direction="in" type="s"/> </method> <method name="EmitCondition"> <arg name="condition_name" direction="in" type="s"/> <arg name="condition_details" direction="in" type="s"/> <arg name="rc" direction="out" type="b"/> </method> <method name="Rescan"> <arg name="call_had_sideeffect" direction="out" type="b"/> </method> <method name="Reprobe"> <arg name="call_had_sideeffect" direction="out" type="b"/> </method> <method name="ClaimInterface"> <arg name="interface_name" direction="in" type="s"/> <arg name="introspection_xml" direction="in" type="s"/> <arg name="rc" direction="out" type="b"/> </method> <method name="AddonIsReady"> <arg name="rc" direction="out" type="b"/> </method> </interface> <interface name="org.freedesktop.Hal.Device.SystemPowerManagement"> <method name="Suspend"> <arg name="num_seconds_to_sleep" direction="in" type="i"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="Hibernate"> <arg name="return_code" direction="out" type="i"/> </method> <method name="Shutdown"> <arg name="return_code" direction="out" type="i"/> </method> <method name="Reboot"> <arg name="return_code" direction="out" type="i"/> </method> <method name="SetPowerSave"> <arg name="enable_power_save" direction="in" type="b"/> <arg name="return_code" direction="out" type="i"/> </method> </interface> <interface name="org.freedesktop.Hal.Device.CPUFreq"> <method name="SetCPUFreqGovernor"> <arg name="governor_string" direction="in" type="s"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="SetCPUFreqPerformance"> <arg name="value" direction="in" type="i"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="SetCPUFreqConsiderNice"> <arg name="value" direction="in" type="b"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="GetCPUFreqGovernor"> <arg name="return_code" direction="out" type="s"/> </method> <method name="GetCPUFreqPerformance"> <arg name="return_code" direction="out" type="i"/> </method> <method name="GetCPUFreqConsiderNice"> <arg name="return_code" direction="out" type="b"/> </method> <method name="GetCPUFreqAvailableGovernors"> <arg name="return_code" direction="out" type="as"/> </method> <method name="SetCPUFreqGovernor"> <arg name="governor_string" direction="in" type="s"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="SetCPUFreqPerformance"> <arg name="value" direction="in" type="i"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="SetCPUFreqConsiderNice"> <arg name="value" direction="in" type="b"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="GetCPUFreqGovernor"> <arg name="return_code" direction="out" type="s"/> </method> <method name="GetCPUFreqPerformance"> <arg name="return_code" direction="out" type="i"/> </method> <method name="GetCPUFreqConsiderNice"> <arg name="return_code" direction="out" type="b"/> </method> <method name="GetCPUFreqAvailableGovernors"> <arg name="return_code" direction="out" type="as"/> </method> </interface> </node> " -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list