Lets please be careful not to over-engineer. While Mike makes good points, we have this wonderful human social network we can depend upon as well. E.g., If I am downloading something from your machine, I can ask you to hold on a second until I finish. Let's take advantage of the fact that the kids are in the same community/school most of the time and not worry so much about corner cases until we have some more breathing room.
-walter On 8/16/07, Mike C. Fletcher <[EMAIL PROTECTED]> wrote: > Jim Gettys wrote: > ... > >> There seems to be no way to manually adjust the backlight level in > >> ebook mode. What would be the policy for it? Leave it on all the time > >> or dim down after some idle time? Also CPU (and wireless?) should go > >> to suspend for most of time in ebook mode? > >> > > > > We have code in at least our PDF viewer to literally do exactly this; as > > soon as the page is rendered and it is idle, it puts the machine to > > sleep. > > > For the activity developers in the audience: > > This is (I believe) in the GIT read-activity/readactivity.py[1] > module. The implementation uses the HardwareManager[2] service > (set_kernel_suspend) exposed over dbus to directly send the kernel > into suspended state. AFAICS there's no allowance for tracking > whether something *else* might need the machine to be alive (e.g. a > download or the like being done in the background). The same > Manager object has controls for various operations such as changing > brightness and the like. > > On the original topic of the thread (what the power manager should do): > > I'm guessing eventually we'll want some of the logic currently in > the read activity to migrate into HardwareManager. That is, allow > for signaling "inhibit_suspend( )" and "allow_suspend()"[3], rather > than directly setting suspend, such that a given activity can > declare that it must be allowed to continue processing in the > back-end. Then you'd want something like "suggest_suspend()" so > that a foreground activity can tell the system "hey, I don't expect > to do anything for a second or two, if no-one objects, feel free to > suspend". > > From there, a second level does a suggest-suspend from Sugar (or > whoever) on no-cpu, no-network (other than the autonomous routing), > no-input, for a given period. No opinion on where/how to put that. > > HardwareManager should likely send dbus events so that activities > can watch for resume, suggested-suspend, or what have you and adjust > behaviour accordingly. Example usage scenario: switch a per-second > clock-updating timer to a per-minute timer. > > Hope this helps, > Mike > > [1] > http://dev.laptop.org/git.do?p=projects/read-activity;a=blob;f=readactivity.py;h=3eeb858cc5ea1dc67a60faee90628100479509be;hb=HEAD > [2] > http://dev.laptop.org/git.do?p=hardware-manager;a=blob;f=hardwaremanager.py;h=3154b17553621cc41fa947cbff2756372e6e37ec;hb=HEAD > [3] with allow-suspend happening automatically after a short-ish timeout > if the activity doesn't re-assert the inhibition > > -- > ________________________________________________ > Mike C. Fletcher > Designer, VR Plumber, Coder > http://www.vrplumber.com > http://blog.vrplumber.com > > _______________________________________________ > Devel mailing list > Devel@lists.laptop.org > http://lists.laptop.org/listinfo/devel > -- Walter Bender One Laptop per Child http://laptop.org _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel