JanKoWeb: Open source - Workrave: spuštění rescuetime automaticky při malé pauze (proti padání po hibernaci)
"Nemusí pršet, stačí když kape..."
JanKoWeb - návody, postřehy a rady ze světa softwaru pro každého.
Recenze knih a humorná tvorba pro chvíle oddechu...
Mezinárodní den biologické rozmanitosti.

Do východu slunce 6 hodin a 15 minut (vyjde 08:09, zapadne 16:00).

"Nezbytným krokem k tomu, abyste od života získali věci, po kterých toužíte, je rozhodnout se, co vlastně chcete."

B. Stein
Galerie nemohla být načtena.
Jméno:
Číselně: šest a dva je
Což takhle masáž šíje? Nebo aspoň krčení ramen - šíje se tím uvolní a bude se lépe přemýšlet.
Při každém obnovení stránky se zde vypíše zpráva skriptu.

Skript je zdrojový kód interpretovaného programu.

Pohání celý tento web a rád komunikuje s návštěvníky.-)
RSS RSS zdroj článků a novinek

Workrave: spuštění rescuetime automaticky při malé pauze (proti padání po hibernaci)

Skript workrave.py:

#!/usr/bin/python
import os
import sys
import pwd
import dbus
import dbus.decorators
import dbus.glib
import time
import gobject

class WorkraveDBus:

    def __init__(self):

        bus = dbus.SessionBus()
        obj = bus.get_object("org.workrave.Workrave", "/org/workrave/Workrave/Core")

        workrave = dbus.Interface(obj, "org.workrave.CoreInterface")

        workrave.connect_to_signal("MicrobreakChanged",
                                   self.microbreak_signal, sender_keyword='sender')
        workrave.connect_to_signal("RestbreakChanged",
                                   self.restbreak_signal, sender_keyword='sender')
        workrave.connect_to_signal("DailylimitChanged",
                                   self.dailylimit_signal, sender_keyword='sender')

    def microbreak_signal(self, progress, sender=None):
        self.break_signal("microbreak", progress)
        
    def restbreak_signal(self, progress, sender=None):
        self.break_signal("restbreak", progress)

    def dailylimit_signal(self, progress, sender=None):
        self.break_signal("dailylimit", progress)

    def break_signal(self, breakid, progress, sender=None):
        
        if progress == "prelude":
            print "Break warning %s" % breakid
        elif progress == "break":
            print "Break %s started" % breakid
            # spusteni rescuetime pokud nebezi
            os.system("if ! (ps ax | grep 'rescuetime$'); then rescuetime; fi;'); then rescuetime; fi;")
        elif progress == "none":
            print "Break %s idle" % breakid
        else:
            print "Unknown progress for %s: %s" % (breakid, progress)

if __name__ == '__main__':

    d = WorkraveDBus()

    loop = gobject.MainLoop()
    loop.run()
    
    

Workrave spouštějte (například po spuštění) tímto skriptem.

(grepuje se s 'rescuetime$', protože při spuštění v pythonu se jako proces tvářil celý os.system, takže to bez dolaru nefungovalo)

Rubrika Open source | Tagy Produktivita | Pá 11.04.2014 | 610x

Náhodné články

© 2008-2025 JK, kontakt, právní upozornění
Powered by Janko's RS| XHTML, CSS, RSS, analýza kódu, SEO servis, dostupnost, hosting, líbí se Vám tu?
Požadavek: 0.15872 s, generování: 0.08338 s, paměť: 1.21 MB, sql dotazů: 8, CPU: 12.61

.