Anleitung: Wie verwende GeekTool
Das ist das Ziel:
Vorbereitungen:
- GeekTool aus dem App Store laden / installieren
- einen Ordner lokal erstellen, in dem Ihr zukünftig Eure sogenannten Geeklets sammelt
- in allen folgenden Beispielen bei mir der Ordner
Code:
/Users/Olli/Downloads/GeekToolWidgets
Verwendung von GeekTool:
Das GeekTool ist letztlich nur in der Lage verschiedene Shell-Dateien auf Eurem Desktop anzulegen, die je nach Aktivierungsintervall Skripte oder Systembefehle ausführen können oder eben ein Bild aus einem vordefinierten Pfad darstellt.
Gleich vorweg: Viele kleine Prozesse gehen speziell bei MacBooks natürlich an die Akkugesamtleistung und speziell die hier erklärte Uhrenvariante "schreibt" jede Minute Daten auf die HDD/SDD. Je mehr Geeklets Ihr am Ende ausführen lasst, desto langsamer wird der Mac unter Umständen. Im oben gezeigten Beispiel hält sich das aber noch in der Waage, mein altes MacBook Air scheint das gut zu verkraften, ich merke keinerlei Negativ-Beeinträchtigungen.
Als aller Erstes beginnt die Idee meistens mit einem Wallpaper. In meinem Fall
Minimal Vector von Deviantart. Je besser das Wallpaper Platz für Geeklets bietet, desto besser natürlich der Effekt.
Grundsätzliches im GeekTool:
Beginnen wir mit etwas Simplen. Der Erstbenutzung. Ich hatte anfangs so überhaupt keine Ahnung, was das GeekTool überhaupt kann.
Wir wollen also das Datum auf dem Desktop. In meinem Fall entschied ich mich, Datum, Monat, Jahr und Tag jeweils getrennt anzulegen. Hintergrund: Pro angelegtem Geeklet ist immer nur eine pauschale Textformatierung möglich. Da ich das Datum aber größer haben wollte und das Datum frei verschieben wollte, entschied ich mich für jeden Bereich eine Abfrage (Geeklet) zu machen.
Rechts im Bild das jeweilige Einstellungsmenü zum grade ausgewählten Geeklet (fett umrandet)
GeekTool öffnen. "Shell" mit der Maus auswählen und mittels Drag & Drop auf den Desktop an die gewünschte Stelle ziehen.
Für das
Datum unter Command eingeben (die 3 Punkte öffnen ein Eingabefeld für komplexere Codes):
Im Anschluss mittels "Click here to set color & font" Schriftart und Farbe auswählen. In meinem Fall Futura, Schmal Halbfett, Farbe weiß.
Emfehlenswert: Beschriftung unter "Name" hinzufügen, sonst verliert man schnell mal den Überblick.
Aktivierungsinterwall: Immer in Sekunden - Beim Datum reicht ja 3600 (alle Std.) - mit Absicht nicht auf 24h gesetzt, denn klickt Ihr "Refresh All" werden alle Geeklets aktualisiert und der Timer beginnt von Neuem zu zählen.
Links im GeekTool Hauptfenster "Refresh All" - Ihr solltet nun das Datum sehen
Selbiges machen wir jetzt auch für Tag, Monat, Jahr
Wochentag
Monat
Jahr
Jetzt alles an die gewünschte Stelle ziehen.
Weitere Codes aus dem Screenshot (jeweils als Shell/Image per Drag & Drop neu auf den Desktop ziehen):
Wetterbild (Image) - Refresh: 300s :
Code:
file://localhost/tmp/weather.png
Wetterinfo (Shell) - Refresh 300s:
Code:
curl --silent "http://weather.yahoo.com/germany/berlin/berlin-20065722/" | grep "current-weather" | sed "s/.*background:url(\('.*'\)) no-repeat scroll.*/\1/" | xargs curl --silent -o /tmp/weather.png
Hinweis: Meine URL (Berlin) durch eigene LocationURL aus weather.yahoo.com und nach Auswählen des eigenen Standortes ersetzen.
Wetterbeschreibung (Shell) - Refresh 300s:
Code:
!/bin/bash
curl --silent "http://xml.weather.yahoo.com/forecastrss?p=GMXX0008&u=c" | grep -E '(Current Conditions:| C<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//' -e 's/Fair/heiter/g' -e 's/Partly/teilweise/g' -e 's/Sunny/sonnig/g' -e 's/Mostly/meist/g' -e 's/Light/leichter/g' -e 's/Rain/Regen/g' -e 's/Showers/Schauer/g' -e 's/T-showers/Gewitter/g' -e 's/Mostly/meist/g' -e 's/Scattered/vereinzelt/g' -e 's/Showers Late/abends Schauer/g' -e 's/AM/vormittags/g' -e 's/PM/nachmittags/g' -e 's/Clear/klar/g' -e 's/Cloudy/bewoelkt/g' -e 's/Wind/windig/g' -e 's/Few/gelegentlich/g' -e 's/Thunderstorm/Gewittersturm/g' -e 's/Thunder/Gewitter/g' -e 's/Snow/Schnee/g' -e 's/Fog/Nebel/g' -e 's/Early/morgens/g' -e 's/Late/abends/g' -e 's/Drizzle/Niesel/g' -e 's/Isolated/isoliert/g' -e 's/Mix/wechselhaft/g' -e 's/Wintry/winterlich/g' -e 's/to/oder/g' -e 's/Mist/leichter Nebel/g' -e 's/\ C$/\°C/'
Hinweis: Auch hier GMXX0008 (Berlin) gegen eigenen Standort ersetzen (
Übersicht)
Externe IP (Shell) - Refresh 600s:
Code:
echo External IP: `curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z<>/ :]//g'`
Powerart (Shell):
Code:
my_ac_adapt=`ioreg -w0 -l | grep ExternalConnected | awk '{print $5}'`
if [ "$my_ac_adapt" == "Yes" ]
then
cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'`
max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'`
bat_percent=`echo "scale=2;$cur_power / $max_power" | bc`
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`
cyc_count=`ioreg -w0 -l | grep "Cycle Count" | awk 'BEGIN { FS = "=" } ; {print $8}' | awk 'BEGIN { FS = "}" } ; {print $1}'`
echo "Power : Ladekabel ($bat_percent%)"
echo "Restzeit verbleibend :"
else
cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'`
max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'`
bat_percent=`echo "scale=2;$cur_power / $max_power" | bc`
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`
cyc_count=`ioreg -w0 -l | grep "Cycle Count" | awk 'BEGIN { FS = "=" } ; {print $8}' | awk 'BEGIN { FS = "}" } ; {print $1}'`
echo "Power : Batterie ($bat_percent%)"
echo "Restzeit verbleibend :"
fi
Verwendung von Apple Scripts:
Für die
Restzeit Anzeige unten rechts müssen wir nun einen Schritt weiter gehen, ein Apple Script muss ausgeführt werden, das lässt sich mit den Shell-Befehlen so nicht umsetzen.
Also wir öffnen den
AppleScript-Editor und fügen folgenden Code ein:
Code:
tell application "Finder"
set min to do shell script "ioreg -rc \"AppleSmartBattery\" | awk '/TimeRemaining/{print $3}'"
set h to character 1 of ((min / 60) as string)
set m to (min - (60 * h)) as string
if (count of every character of m) = 1 then
set m to "0" & m
end if
return ((h & ":" & m) as string)
end tell
Anschließend speichern wir das Script als "Restzeit.scpt" in unserem GeekToolWidget Ordner.
Jetzt erstellen wir die entsprechende Shell:
Code:
osascript /Users/Olli/Downloads/GeekToolWidgets/Restzeit.scpt
Der Pfad muss natürlich an Euren angepasst werden. Refresh: 60s
Ebenso ganz nützlich, die
Anzeige der ungelesenen Mails. Wir verfahren wie grade, Script erstellen:
Code:
tell application "System Events" to set iCalIsRunning to (name of processes) contains "Mail"
set ausgabe to ""
if iCalIsRunning then
tell application "Mail"
check for new mail
set ungelesen to unread count of inbox
if (ungelesen is equal to 1) then
set betreff to subject of (first message of inbox whose read status is false)
set ausgabe to "Eine neue Nachricht: " & betreff
else if (ungelesen is greater than 1) then
return (ungelesen as string) & " neue Nachrichten"
else
set ausgabe to "Keine neuen Nachrichten"
end if
end tell
else
set ausgabe to "Mail läuft nicht"
end if
Speichern das Script als "NeueMails.scpt" und fügen via GeekTool die entsprechende Shell hinzu:
Code:
osascript /Users/Olli/Downloads/GeekToolWidgets/NeueMails.scpt
Pfad natürlich wieder anpassen. Refresh 60s.
An dieser Stelle nochmals der Hinweis: Vermeidet bei Dateinamen / Ordnerstrukturen unbedingt Leerzeichen und/oder Sonderzeichen. Viele Scripte funktionieren dann einfach nicht und Ihr sucht Euch tot nach dem Fehler
Das Objekt der Begierde: Die Uhr.
Da ich das Rad nicht neu erfunden habe, bin ich auf dieses Geeklet gestoßen
Timepiece via Deviantart.
1.) Die .zip entpacken und den Ordner umbennen in "Timepiece" und in Euren Ordner "GeekToolWidgets" kopieren.
2.) Timepiece.scpt öffnen und an Euren Speicherfad anpassen
Code:
set pathName to "/Users/Olli/Downloads/GeekToolWidgets/Timepiece"
3.) Farbe festlegen - Black oder Blue (in meinem Fall wollte ich 2 unterschiedliche Farben und habe eine 2. Zeile hinzugefügt)
Code:
set yourColor to "Black"
set yourColor2 to "Blue"
Dafür dann auch den entsprechenden Stundenzeiger Eintrag um die yourColor2 erweitern:
Code:
do shell script ("cp " & pathName & "/Hours" & "/" & yourColor2 & "/" & hou & n & ".png " & pathName & "/Hours" & "/temp.png")
4.) abspeichern.
5.) Das in der zip enthaltene HQ.glet durch Doppelklick ausführen und dann anschließend in den Properties den Pfad des Timepiece.scpt an Euren Pfad anpassen:
Code:
osascript /Users/Olli/Downloads/GeekToolWidgets/Timepiece/Timepiece.scpt
Refresh hier auch auf 60s setzen!
6.) Jetzt kommt der grafische Teil:
6a.) Neue Image-Shell auf den Desktop ziehen > Set Local Path Button > Timepiece Ordner >
Clock Ordner wählen > Uhren Hintergrund Eurer Wahl aus dem Ordner wählen
6b.) Neue Image-Shell auf den Desktop ziehen > Set Local Path Button > Timepiece Ordner >
Hours Ordner > temp.png auswählen > Refresh auf 60s.
6c.) Neue Image-Shell auf den Desktop ziehen > Set Local Path Button > Timepiece Ordner >
Minutes Ordner > temp.png auswählen > Refresh auf 60s.
6d.) Neue Image-Shell auf den Desktop ziehen > Set Local Path Button > Timepiece Ordner >
Dials Ordner > Hier entweder einen "large" oder "small" Knopf auswählen, der die Zeiger hinterher in der Mitte verdeckt.
Jetzt alle "Ebenen" auf die richtige Größe zusammenziehen und ausrichten.
GeekTool > Refresh All - Eure Uhr sollte jetzt laufen.
iTunes aktueller Titel + Album Cover:
Nicht auf meinem Mist gewachsen, aber gibt's ne
App für
Runterladen. Entpacken. In Programme kopieren, ausführen, Theme auswählen. Und fertig.
Allgemeine Anmerkungen:
Wollt Ihr ein Geeklet beispielsweise über die Statusleiste legen, dann müsst Ihr in den entsprechenden Properties einfach nur "Keep on Top" auswählen.
Denkt immer an die einzelnen Refreshs der Geeklets.
Gute Codes für Geeklets findet Ihr
HIER
Hoffe dem Ein oder Anderen hilft es zum Einstieg