Пример #1
0
def run_statuses(startfunc):
    """The 'main loop' of dwmstat."""
    iters = [startfunc()]
    previous = ''

    while True:
        while iters:
            iter_ = iters.pop()
            for value in iter_:
                if isinstance(value, basestring):
                    utils.dwm_set_status(value)
                    previous = value
                elif value is PREVIOUS:
                    iters.append(run_animation(iter_, previous))
                    break
                else:
                    iters.append(iter_)
                    iters.append(value)
                    break
        iters.append(choice(utils.statuses)())
Пример #2
0
            for value in iter_:
                if isinstance(value, basestring):
                    utils.dwm_set_status(value)
                    previous = value
                elif value is PREVIOUS:
                    iters.append(run_animation(iter_, previous))
                    break
                else:
                    iters.append(iter_)
                    iters.append(value)
                    break
        iters.append(choice(utils.statuses)())


if __name__ == "__main__":
    try:
        run_statuses(startup_animation)
    except KeyboardInterrupt:
        # say goodbye
        utils.dwm_set_status("Goodbye.")
        time.sleep(5)
        utils.dwm_set_status("")
    except Exception, e:
        utils.dwm_set_status("dwmstat crashed: %r" % e)
        time.sleep(5)
        utils.dwm_set_status("")
        raise
    time.sleep(5)
    # make sure to exit cleanly
    utils.dwm_set_status("")