Themabewertung:
  • 2 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

[GeekTool] Anleitung, Skripts und Ideen Sammlung
#1

Da das Thema Geeklets für das GeekTool doch etwas komplexer ist - hier mal ein neuer Thread, in der wir gerne Eure Favoriten sammeln und austauschen könnt. Bitte postet zu den Codes auch entsprechende Vorschaubilder Zwinkern

[Bild: 88100450989402595792.png]

Wallpaper: Deviantart
Uhr: Deviantart
Ribbon (mod):Deviantart
Schrift der Geeklets: Futura / Schmal halbfett

Geeklets: [attachment=25722]
Zitieren
#2

Sieht Hammer aus! Hab es momentan gelöscht aber mit deinem Design werde ich es wohl mal wieder nutzen Biggrin

 iPhone 13 ProductRed  MacMini i3 2020  AppleTV 4K  Apple Watch 7 ProductRed
Zitieren
#3

Die Idee kam mir auch nur zufällig beim Entdecken des Wallpapers Biggrin
Zitieren
#4

Die Sachen die man mit GeekTool ausführen kann sind schon sehr klasse Daumen hoch
Zitieren
#5

Ich hab mich schon vor einiger Zeit mit Geektool beschäftigt, aber ich bin ehrlich: mir war´s zu kompliziert.
Würde es dir etwas ausmachen eine kurze Anleitung zu schreiben, wie ich die Uhr mittels GeekTool auf meinen Schreibtisch bekomme?
Wenn ich das verstanden habe, dann kann ich mich (wahrscheinlich) selber weiter reinfuchsen, wie ich noch mehr Dinge verändern kann.
Zitieren
#6

@Slash Grundsätzlich ist eine ReadMe Datei bei der Uhr dabei, da es einige Besonderheiten gibt. Ist aber super erklärt.

Nur das mit den 2 Farbigen Zeigern, musste ich im entsprechenden Timepiece.scpt um einen Beitrag ergänzen.

set yourColor2 to "Blue"

und

do shell script ("cp " & pathName & "/Hours" & "/" & yourColor2 & "/" & hou & n & ".png " & pathName & "/Hours" & "/temp.png")

sind neu hinzugefügt, damit beide Zeiger unterschiedlich aussehen.

Code:
on run
    
    set pathName to "/Users/Olli/Downloads/GeekToolWidgets/Timepiece"
    set yourColor to "Black"
    set yourColor2 to "Blue"
    set hou to hours of the (the current date)
    set min to minutes of (the current date)
    do shell script ("cp " & pathName & "/Minutes" & "/" & yourColor & "/" & min & ".png " & pathName & "/Minutes" & "/temp.png")
    if min < 12 then
        set n to 0
        
    else if min < 24 then
        set n to 1
        
    else if min < 36 then
        set n to 2
        
    else if min < 48 then
        set n to 3
        
    else
        set n to 4
    end if
    do shell script ("cp " & pathName & "/Hours" & "/" & yourColor2 & "/" & hou & n & ".png " & pathName & "/Hours" & "/temp.png")
    
end run
Zitieren
#7

Super, danke! Werd ich mich heute Abend mal mit beschäftigen.
Zitieren
#8

Ich schreib heute Nachmittag mal eine Kurzanleitung für den Einstieg Smiley
Zitieren
#9

Super besten Dank.

MfG
Martin
Zitieren
#10

Das wäre Cool Danke...
Zitieren
#11

Hab mich letztens auch mal wieder mit beschäftigt, aber leider ist Geektool für 2 Monitore nicht zu gebrauchen.
Denn normal nutze ich mein MB am Cinema Display und wenn ich dort alles einrichte und dann das book am Sofa nutze ist es total verschoben Sad

 iPhone 13 ProductRed  MacMini i3 2020  AppleTV 4K  Apple Watch 7 ProductRed
Zitieren
#12

Echt? So´n sch... Ich nutzte im Büro auch nen Monitor. Schade, hatte mich ein bisschen gefreut.
Zitieren
#13

Anleitung: Wie verwende GeekTool

Das ist das Ziel:

[Bild: 91443188303509328385.png]

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.

[Bild: 22881823375381210509.png]

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):

Code:
date +%d

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
Code:
date +%A

Monat
Code:
date +%B

Jahr
Code:
date "+%Y"

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 Zwinkern

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 Biggrin

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 Zwinkern
Zitieren
#14

(22.01.2013, 20:53)Olli schrieb:  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

Das funktioniert bei mir irgendwie nicht, das Geeklet bleibt leer... Eine Idee woran das liegen könnte?
Zitieren
#15

Du musst Dir mal mittels TinkerTool die versteckten Dateien anzeigen lassen und schauen, ob in /var/private/tmp/ eine solche weather.png angelegt wird. Wenn nicht, eine Blanko png Datei dort ablegen. Bei mir hat das auch ewig nicht funktioniert, erst als ich die weather.yahoo.com URL neu angegeben habe (für Berlin gibts da irgendwie mehrere).
Zitieren
#16

Besten Dank für die Anleitung. Jetzt funktioniert mein Wetterbild endlich Biggrin
Ich bekomme jetzt bei dem iTunesGeeklet folgende Fehlermeldung
[Bild: 23878151984991817398.png]
Was mach ich falsch?
Zitieren
#17

Okay, ich nehme alles zurück. Es funktioniert.
Aber wozu ist das Geekelt "Wetterinfo (Shell)"?
Ich habe das Geeklet "Wetterbild (Image)", das zeigt das Wetter grafisch an, und das Geeklet "Wetterbeschreibung (Shell)" zeigt das Wetter in Textform an. Wozu ist dann das dritte Geeklet?
Zitieren
#18

Hast Du die iTunesGeeklet.app in Programme verschoben? Und von dort ausgeführt?

Also bei mir (10.8.3 Mountain Lion) ging das ohne Probleme. Unter Systemeinstellungen > Sicherheit > Allgemein > Programme aus folgenden Quellen > Keine Einschränkung ausgewählt?

Edit: Ok Biggrin die Wetterinfo Shell braucht es, damit das Bild immer an die aktuellen Wetterbegebenheiten angepasst wird Zwinkern
Zitieren
#19

Okay, das heißt, dass Geeklet erstelle ich und das bleibt dann ein leerer Rahmen auf dem Schreibtisch, richtig?
Zitieren
#20

Wetterinfo sagt Wetterbild was es wo wann wie her holen soll! Zwinkern Smiley

Edit: Olli war schneller!

Aber ja is auch egal wo es steht, der lehre Rahmen!
Zitieren




Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste