Czy istnieje program, który może służyć jako stoper zależny od obszaru roboczego? Chciałbym wiedzieć, ile czasu spędzam w każdym obszarze roboczym każdego dnia.
Edycja: Używam Unity.
unity
scripts
time
productivity
Gazorpazorp
źródło
źródło
Odpowiedzi:
Fajne pytanie!
Poniższy skrypt tworzy plik dziennika:
~/viewport_log.txt
w katalogu domowym, w którym raportuje czas użycia rzutni bieżącej sesji (obszaru roboczego) na rzutnię.Raport jest aktualizowany raz na dwie sekundy i wygląda następująco (w krótkim czasie):
w formacie
Jak widać, użyłem tylko obszaru roboczego 1, 2, 6 i 8.
Jak używać
Skrypt korzysta z
wmctrl -d
polecenia, aby uzyskać bieżące dane rzutni, więc musisz je najpierw zainstalować:Następnie:
workspace_log.py
Uruchom go testowo za pomocą polecenia:
Poruszaj się po różnych obszarach roboczych i otwórz plik,
~/viewport_log.txt
aby zobaczyć wynik (alternatywnie uruchom w terminalu,cat ~/viewport_log.txt
aby wygodnie czytać, ponieważ dziennik jest aktualizowany co sekundę).jeśli wszystko działa zgodnie z oczekiwaniami, dodaj polecenie do aplikacji startowych. Ponieważ najprawdopodobniej nastąpi awaria, jeśli skrypt zostanie uruchomiony zbyt wcześnie (zanim komputer zostanie w pełni załadowany), prawdopodobnie trzeba dodać małą przerwę w poleceniu uruchamiania, aby działało ono jako aplikacja startowa, więc polecenie to:
Aby dodać go do aplikacji startowych: Dash> Aplikacje startowe> Dodaj i dodaj polecenie.
Scenariusz
Właściwości skryptu
Skrypt oblicza dokładny przedział czasu między dwoma momentami. Icw używane przestrzenie robocze tych momentów (tak jak są to 2 sekundy, odstęp w linii
time.sleep(2)
), jeśli przestrzenie robocze w obu momentach są takie same, czas jest dodawany do sumy odpowiadającego obszaru roboczego czas użytkowania.Jeśli obszary robocze w obu momentach są różne, jasne jest, że istniał przełącznik obszaru roboczego, a czas nie jest dodawany do czasu produktywności obszaru roboczego; czas w przeglądzie w
~/viewport_log.txt
zaokrąglany jest zatem do dwóch sekund na okres na obszar roboczy.Edytować
Uruchamiając powyższy skrypt w tle, możesz wyświetlić bieżące czasy użycia dla każdego obszaru roboczego, umieszczając poniższy skrypt w kombinacji klawiszy:
view_vplog.sh
Uruchom go, gdy pierwszy skrypt działa w tle , za pomocą polecenia:
Udostępnij go (po przetestowaniu) za pomocą kombinacji klawiszy skrótu: wybierz: Ustawienia systemu> „Klawiatura”> „Skróty”> „Skróty niestandardowe”. Kliknij „+” i dodaj polecenie do wybranej kombinacji klawiszy.
źródło