Exemple #1
0
def do_main(modname, prio, iterable):
    """
    Run the main function.
    """

    # Setup logfile
    logfile = "%s/%s.log" % (get_logdir(), modname)
    logbook.FileHandler(logfile).push_application()

    log = logbook.Logger(modname)

    with log.catch_exceptions():
        # Get the external state directory
        extdir = get_i3status_rundir()

        # Write out my own pid
        pidfile = "%s/%d%s.pid" % (extdir, prio, modname)
        with open(pidfile, "w") as fobj:
            fobj.write(str(os.getpid()))

        register_exit_signals()

        # File to write block info
        blockfile = "%s/%d%s.block" % (extdir, prio, modname)

        while True:
            for blocks in iterable:
                with aw.open(blockfile, "w") as fobj:
                    json.dump(blocks, fobj)
                wake_i3status()
Exemple #2
0
def main():
    # Setup logfile
    logfile = get_logdir() + "/i3status.log"
    logbook.FileHandler(logfile).push_application()

    with log.catch_exceptions():
        # Write out my own pid
        pidfile = get_rundir() + "/i3status.pid"
        with open(pidfile, "w") as fobj:
            fobj.write(str(os.getpid()))

        # Get the external state directory
        extdir = get_i3status_rundir()

        # Make stdin and stdout UTF-8
        sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
        sys.stdin = codecs.getreader("utf-8")(sys.stdin)

        # Setup dummy signal handler on SIGUSR1
        # Useful for waking up from sleep
        register_exit_signals()
        signal.signal(signal.SIGUSR1, dummy_handler)

        # Write out the header
        write({"version": 1, "click_events": True}, True)
        write(None)

        while True:
            # We ignore the input
            _ = read()
            write(read_blocks(extdir))
            time.sleep(5)
Exemple #3
0
def main():
    prio = 30

    # Setup logfile
    logfile = "%s/%s.log" % (get_logdir(), MODULE)
    logbook.FileHandler(logfile).push_application()

    with log.catch_exceptions():
        # Get the external state directory
        extdir = get_i3status_rundir()

        # Write out my own pid
        pidfile = "%s/%d%s.pid" % (extdir, prio, MODULE)
        with open(pidfile, "w") as fobj:
            fobj.write(str(os.getpid()))

        register_exit_signals()
        signal.signal(signal.SIGUSR1, dummy_handler)

        # File to write block info
        blockfile = "%s/%d%s.block" % (extdir, prio, MODULE)

        do_main(blockfile)