"Nezbytným krokem k tomu, abyste od života získali věci, po kterých toužíte, je rozhodnout se, co vlastně chcete."
Aplikace Workrave slouží k připomínání přestávek na počítači. Já si k ní ještě skriptem přidělal spouštění stránky toggl.com (sledování času na projektu) po každém uknčení přestávky. Stačí mít nainstalovaný Python a Google Chrome a následující kód by měl fungovat.
Do souboru ~/Šablony/workrave.py jsem uložil následující kód:
#!/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
os.system("if ! (wmctrl -lx | grep 'crx_egaghgmhhgalogmaniappfofmnlfhioe.Google-chrome'); then /opt/google/chrome/google-chrome --app-id=egaghgmhhgalogmaniappfofmnlfhioe --profile-directory=Default; 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()
Poté jsem do Startup Application (z menu Linux Mintu) přidal "python ~/Šablony/workrave.py", čímž se skript pustí po startu počítače.
Výsledkem je, že po každé pauze se mi připomene, kolik času jsem již strávil na dané úloze.
Reference workrave/backend/src/dbus-example.py at master · rcaelers/workrave · GitHub.
.