Hibernace počítače v závislosti na procentním úbytku baterie
Řekněme, že chceme říci laptopu, aby nás informoval o tom,
že máme pouze 10 procent energie na beterii a při 5 procentech se sám hibernoval.
Na to potřebujeme vytvořit samotný Apple script a Launchctl agent plist.
Začneme samotným apple scriptem: ( cmd+mezerník -> Editor AppleScriptu )
set Cap to (do shell script „ioreg -w0 -l | grep ExternalChargeCapable“)
tell Cap to set {wallPower} to {last word of paragraph 1}
if wallPower = „Yes“ then
return 0
else
set Cap to (do shell script „ioreg -wO -l | grep Capacity“)
tell Cap to set {Available, Max} to {last word of paragraph 2, last word of paragraph 1}
set Pct to round (100 * Available / Max)
if Pct ≤ 10 then
tell application „iTunes“
pause
end tell
set volume output volume 50
do shell script „say -v \“Zuzana\“ \“Nízký stav baterie !\“ “
if Pct ≤ 5 then
beep 5
do shell script „say -v \“Zuzana\“ \“Uspávám počítač.\““
do shell script „pmset sleepnow“
end if
end if
end if
Tento skript uložíme do: ~/Library/Scripts/Battery.applescript
Nezapoměňte, že uživetelský adresář “Library” je skrytý v Lionu, dostanete se na něj přes Finder:
Otevřete Finder a stiskněte shift+cmd+g
a do dialogového okna napište: ~/Library/Scripts a vložte script.
Nyní již stačí pomocí textového editoru vytvořit plist pro Launchctl démona.
Ten bude vypadat takto:
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=“1.0”>
<dict>
<key>KeepAlive</key>
<false/>
<key>Label</key>
<string>batteryAlert</string>
<key>LowPriorityIO</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/osascript</string>
<string>/Users/vase_uzivatelske_jmeno/Library/Scripts/Battery.applescript</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Battery Alert</string>
<key>StartInterval</key>
<integer>30</integer>
</dict>
</plist>
Nezapomeňte nahradit vase_uzivatelske_jmeno vaším !
Uložte takto vytvořený script do ~/Library/LaunchAgents/batteryAlert.plist
A a poslední co zbýbá je nahodit samotný script. Spusťte terminál a napište:
launchctl load ~/Library/LaunchAgents/batteryAlert.plist
To je vše. Až budete mít baterku na 10 prentech, Zuzanka Vám řekne, že máte nízký stav baterie
a při 5 procentech, že uspává počítač a uspí ho 🙂
Categorised as: Apple