Witam.
Przedstawiam prosty programik, a właściwie to skrypt, który pomoże zasnąć Macowi po ustawionym czasie nieaktywności. Program powstawał wiele czasu, od dawna borykałem się z bezsennością mojego hackintash'a, znalazłem skrypt RIP3 napisany w AppleScript, zacząłem go rozbudowywać, miałem jednak pewne problemy z pmset oraz z "idle time", który był brany z IOReg (po długim spaniu czas nie resetował się i mac usypiał się bez skrupułów). Lekarstwem okazał się Python, dzięki dostępie do systemowych bibliotek, zdobycie preferencji systemowych i statusu systemu jest wydajne i szybkie. Powstał zupełnie nowy skrypt, dorobił się ikony i nazwy a teraz również publikacji.
Sleeping Pill działa w tle i monitoruje stan systemu i użytkownika. Z każdą pętlą, sprawdza:
- czy procesor nie jest zbyt obciążony - czy dysk nie jest zbyt aktywny - czy QuickTime lub iTunes niczego nie odtwarza
Jeśli system wydaje się być spokojny przez czas, który został ustawiony w Energy Saver oraz użytkownik był nieaktywny w tym czasie Sleeping Pill usypia Mac'a.
Ponadto, Sleeping Pill ciągle monitoruje stan baterii, jeśli ładunek spadnie poniżej 5% program bezwzględnie przestawia komputer w stan uśpienia. Ta funkcjonalność powinna działać natywnie, jednakże, podobnie jak AutoSleep częściej zawodzi niż działa.
Oprócz tego skrypt po powrocie z bezczynności (po czasie uśpienia ekranu) uruchamia skrypt znajdujący się w katalogu domowym ~/afterIdle.scpt, jeśli istnieje. Ja zaprogramowałem sobie np wyświetlenie notyfikacji Growl o bieżących zadaniach w Today w programie Things. Działa to fajnie bo jak wrócę sobie do domu, budzę mac'a to widzę od razu co mam do roboty Bo nie zawsze chce się klikać w tę ikonkę i patrzeć co mam do roboty (lenistwo..).
W paczce przesyłam przykładowy skrypt afterIdle, który wyświetla przywitanie po powrocie do systemu.
No cóż to tak w skrócie. Zapraszam do testowania i dyskusji.
Dziennik zmian:
v0.2b
- poprawka w uruchamianiu skryptu afterIdle
v0.1b
- pierwsza wersja
Sleeping Pill v0.2b.zip