<div dir="ltr">Right now, upower is used as a point for policy, i.e. "a video is playing so we will not actually blank the screen". It's possible these interfaces should be rewired, and the media players should instead talk to the shell, or some other desktop service, but this isn't our problem :) Mir just needs to expose the API on the display to implement the policy, everything else (IPC, configuration... included) lives at the shell level.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 25, 2013 at 6:51 PM, Daniel van Vugt <span dir="ltr"><<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">"The shell will use a timer, and send DBus messages like: session_gone_inactive (no input events in X minutes), activity_resumed (an input event on an inactive session)."<br>

<br></div>
Right, so that just means whenever the user changes their power management timeouts, Mir will have to receive a message to be told to adjust the timeout it uses. Because Mir's timeout must match whatever the user has configured for their screensaver.<br>

<br>
But then for Mir to send any message saying "I've timed out now, please give me permission to blank" is pointless. Because Mir already has all the timeout logic, and it already has all the logic for doing the blanking. No external daemons need to be notified except perhaps that "The screen has been blanked".<br>

<br>
Mir doesn't need to ask for permission to blank the screen. It just needs to receive config changes to know what the screensaver timeout is.<div class="im"><br>
<br>
<br>
On 26/06/13 00:39, Robert Carr wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
 >> Also, the assertion that input events will trigger dbus messages is<br>
either a bad interpretation of mine, or just a bad idea. Input events<br>
easily happen 1000 times per second. You don't want to turn those into a<br>
flood of bus messages. The timeout has to happen in the Mir server itself.<br>
<br>
The shell will use a timer, and send DBus messages like:<br>
<br>
session_gone_inactive (no input events in X minutes), activity_resumed<br>
(an input event on an inactive session).<br>
<br>
<br>
On Mon, Jun 24, 2013 at 7:54 PM, Daniel van Vugt<br></div>
<<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a> <mailto:<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@<u></u>canonical.com</a>>><div>
<div class="h5"><br>
wrote:<br>
<br>
    Some of the feature, like the blank/unblank obviously lives inside<br>
    libmirserver. But I think we should also move common logic that<br>
    won't change between shells into libmirserver, such as detection of<br>
    input events to calculate inactivity.<br>
<br>
    Also, the assertion that input events will trigger dbus messages is<br>
    either a bad interpretation of mine, or just a bad idea. Input<br>
    events easily happen 1000 times per second. You don't want to turn<br>
    those into a flood of bus messages. The timeout has to happen in the<br>
    Mir server itself.<br>
<br>
<br>
<br>
    On 25/06/13 01:29, Robert Carr wrote:<br>
<br>
<br>
<br>
        Hi! There was a meeting today on power management requirements<br>
        for Mir<br>
        on phablet. Sending out an email to capture the new requirements.<br>
<br>
        Essentially the model is as follows:<br>
<br>
        The shell will use it's event filter, to emit DBus events, i.e.<br>
        Session<br>
        Idle (say no input in X minutes), Session Unidle.<br>
<br>
        powerd will listen to these events and combine power management<br>
        policy<br>
        (i.e. do we blank the screen on idle? perhaps there is a video<br>
        playing,<br>
        so we do not at the moment), and in many cases ask the shell<br>
        again "blank".<br>
<br>
        So the requirement on Mir is for methods on mg::Display to<br>
        blank/unblank<br>
        the display. Is someone able to take this as a work item?<br>
<br>
        Thanks,<br>
        Robert<br>
<br>
<br>
<br>
<br>
    --<br>
    Mir-devel mailing list<br></div></div>
    <a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.ubuntu.com</a> <mailto:<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.<u></u>ubuntu.com</a>><div class="im">
<br>
    Modify settings or unsubscribe at:<br></div>
    <a href="https://lists.ubuntu.com/__mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/__<u></u>mailman/listinfo/mir-devel</a><br>
    <<a href="https://lists.ubuntu.com/mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/mir-devel</a>><br>
<br>
<br>
</blockquote>
</blockquote></div><br></div>