GeekTool - Scripte und Layouts

Von AppleSkript & Automator bis hin zu Objective C

Beitragvon sina » Sa 12. Sep 2009, 08:45

Hallo Anon.

Vielen Dank für deine Hilfe.
Hab das mit dem Kalender nun auch verworfen.
(Nur der Schrift wegen)

Hier noch ein Ausschnitt von meinem Schreibtisch.
(Dualmonitor)

Zu dem "Notizzettel" . Dieser wird mit
Code: Alles auswählen
cat /Users/sina/Desktop/notiz.txt

angezeigt und alle 10 Minuten aktuallisiert.
Ich öffne also nur das Dokument (mit TextEdit) und schreib rein was noch zu tun ist.
Gefällt mir besser wie die Systemeigenen Notizzettel.

Edit:
Bild in etwas größer ;-)
http://s3.directupload.net/file/d/1915/rhk3hqg4_png.htm
sina
Besucher
Besucher
 
Beiträge: 5
Registriert: Do 10. Sep 2009, 19:45

Beitragvon Steinmeier » Sa 12. Sep 2009, 15:45

Hallo,

für alle die wissen möchten, wann ihr letztes TM Backup war habe ich folgendes Script:
Code: Alles auswählen
#!/usr/bin/env ruby
# require 'date'
public
def to_seconds; self; end
def to_minutes; self/60.0; end
def to_hours; self/(60*60.0); end
def to_days; self/(60*60*24.0); end
def to_weeks; self/(60*60*24*7.0); end

def days; self * 60 * 60 * 24.0; end

date =`head /var/db/.TimeMachine.Results.plist | grep date| awk -F'<|>|T|:|Z' {'print $3 "-" $4'}`.chomp.split("-")

gap = (Time.local(Time.now.year,Time.now.month,Time.now.day,Time.now.hour) - Time.local(date[0].to_i,date[1].to_i,date[2].to_i,date[3].to_i) )
days = gap.to_days.to_i
hours = (gap - days.days).to_hours

if days > 14
puts "you gotta backup. its been #{days} Tage and #{hours} Stunden"

else
puts "Letztes TM Backup war vor: #{days} Tage and #{hours} Stunden"

end


Das Script habe ich im Terminal mit sudo chmod -R a+x ausführbar gemacht und anschließend den Pfad zum Script in Geektool eingegeben.
Das Script kommt von Macrumors
Steinmeier
Besucher
Besucher
 
Beiträge: 8
Registriert: Di 18. Aug 2009, 20:26

Beitragvon hannesjung » So 20. Sep 2009, 01:30

Hallo Leute,

ich habe erst vor kurzem GeekTool "gefunden" und bin dann bei meiner Suche nach Skripten hier fündig geworden :)

Ich habe auch ein kleines Notiz/Todo Skript erstellt, welches durch "//" auskommentierte Zeilen nicht anzeigt, "-" als Aufzählungszeichen einfügt und mit zweifachen Zeilenabstand darstellt:
Code: Alles auswählen
cat todo.txt | grep -v -E '^//' | sed -e 's/^/- /' | sed G

Hier auch noch ein Screenshot von meinem Desktop:
Bild

Weiters verwende ich für die Anzeige der Uhrzeit im Menü FuzzyClock und als Darstellung meiner Musik Ecoute mit meinem eigenen Theme :)

Danke für die tollen Beiträge hier - waren sehr hilfreich für mich!
Benutzeravatar
hannesjung
Besucher
Besucher
 
Beiträge: 2
Registriert: Sa 19. Sep 2009, 22:23

Beitragvon unforeseen » Mi 23. Sep 2009, 10:54

Bin ich blind oder kann man in GeekTool 3.0 nicht (mehr?) einstellen, wie häufig ein file refreshed werden soll? Werd ich mal NerdTool ausprobieren.

Edit: Mist, NerdTool kann das ja auch nicht. Dann halt ein Script :P
Benutzeravatar
unforeseen
ehemaliger Moderator
ehemaliger Moderator
 
Beiträge: 16331
Registriert: Mi 1. Sep 2004, 07:24
Wohnort: Bern, Schweiz

Beitragvon sina » Mi 23. Sep 2009, 23:23

Hallo Hannes.

Nette Idee. Wie hast du das mit der ersten Zeile gemacht?
( zu erledigen: )


@ unforeseen

Ja, du bist blind ;-D
Man kann es in beiden einstellen.

Allerdings was mir am Nerdtool aufgefallen ist und nicht gefällt:
Wacht der Rechner aus dem Schlaf auf, wird nichts aktuallisiert.
Die Zeit der Skripte läuft erst wieder ab.
Man ist also nicht auf dem neusten Stand! Hmpf :-/
sina
Besucher
Besucher
 
Beiträge: 5
Registriert: Do 10. Sep 2009, 19:45

Beitragvon unforeseen » Do 24. Sep 2009, 09:09

sina hat geschrieben:Ja, du bist blind ;-D
Man kann es in beiden einstellen.

Kannst du mir einen Screenshot reinstellen? Ich bin echt zu doof. Aber eigentlich egal, hab's nun als Script eingebunden, dort finde ich wenigstens die Einstellung. ;D
Benutzeravatar
unforeseen
ehemaliger Moderator
ehemaliger Moderator
 
Beiträge: 16331
Registriert: Mi 1. Sep 2004, 07:24
Wohnort: Bern, Schweiz

Beitragvon hannesjung » Do 24. Sep 2009, 09:09

hi sina,

für die erste zeile hab ich im skript einfach noch die ersten beiden zeilen hinzugefügt:
Code: Alles auswählen
echo zu erledigen:
echo
cat todo.txt | grep -v -E '^//' | sed -e 's/^/- /' | sed G
Benutzeravatar
hannesjung
Besucher
Besucher
 
Beiträge: 2
Registriert: Sa 19. Sep 2009, 22:23

Beitragvon sina » Do 24. Sep 2009, 11:12

Danke Hannes! :-)


Unforeseen.
Hier noch ein Bild zum Geektool:
sina
Besucher
Besucher
 
Beiträge: 5
Registriert: Do 10. Sep 2009, 19:45

Beitragvon sina » Do 24. Sep 2009, 11:14

Und hier noch fürs Nerdtool:
sina
Besucher
Besucher
 
Beiträge: 5
Registriert: Do 10. Sep 2009, 19:45

Geektool für Anfänger

Beitragvon Gast » Mi 30. Sep 2009, 17:50

Da is alles ganz leicht erklärt (Youtube-Link): http://www.youtube.com/watch?v=4PK7-egdCK8

Wenn ihr dann sehen wollt wie cool das aussehen kann, solltet ihr das mal gesehen haben: http://FloStyler0408.deviantart.com/art ... -138411781

Alles mit Commands etc. ;)
Gast
 

Beitragvon unforeseen » Do 1. Okt 2009, 11:00

sina hat geschrieben:Hier noch ein Bild zum Geektool:

Das sind aber die Einstellungen für ein Bild, genau so sieht es auch für Skripte aus, aber für Files fehlt diese Einstellung. Jedenfalls bei mir. ;)
Benutzeravatar
unforeseen
ehemaliger Moderator
ehemaliger Moderator
 
Beiträge: 16331
Registriert: Mi 1. Sep 2004, 07:24
Wohnort: Bern, Schweiz

Beitragvon sina » Mo 5. Okt 2009, 22:15

Oh man §-)
Hab das mit dem *File* falsch aufgefasst.
Sowas blödes. Tut mir leid wenn ich Hoffnung geweckt hatte.

Kann leider die Bilder in beiden Beiträge nicht mehr Edieren/Löschen.
sina
Besucher
Besucher
 
Beiträge: 5
Registriert: Do 10. Sep 2009, 19:45

Re: GeekTool - Scripte und Layouts

Beitragvon Ham » Di 13. Okt 2009, 19:50

Moin Hannes Klasse Script... nur es funktioniert bei mir nicht ;-D
ehrlich? Ich suche so ein Script schon lange. Nur wenn man so eine Textdatei nicht hat, dann hängt sich Geektool ganz arg auf.
ich dachte du ziehst die Notizen und Todos direkt aus mail. Aber das... Nicht aufgepasst
Ach mist naja, jetzt muss ich hoffen, das Geektool ein moment verzögert und ich das Script ganz schnell wieder löschen kann.

Aber ein feiner Desktop
Benutzeravatar
Ham
Junior Mitglied
Junior Mitglied
 
Beiträge: 135
Registriert: Mo 16. Jun 2008, 09:53

Re: GeekTool - Scripte und Layouts

Beitragvon Toasti » Mo 9. Nov 2009, 10:34

Hallo zusammen,
schöner Tread, da hänge ich mich doch gerne mal kurz an.

Folgendes, ich nutze ein kleines Script um mir die iTunes Informationen auslesen zu lassen. Allerdings möchte ich dieses gerne erweitern. Um z.B. Jahr, Wertung oder sonstiges.

So sieht die .scpt Datei bisher aus:

Code: Alles auswählen
tell application "System Events"
   set apps to every process whose bundle identifier is equal to "com.apple.iTunes"
   if (apps is {}) then return
end tell
tell application "iTunes"
   try
      set playerstate to (get player state)
   end try
   if playerstate = paused then
      set trackPaused to " (Pausiert)"
   else
      set trackPaused to ""
   end if
   if playerstate = stopped then
      return " "
   end if
   set trackID to the current track
   set trackName to the name of trackID
   set theStream to the current stream title as text
   if theStream is not "missing value" then
   set totalData to "Stream:   " & trackName & trackPaused & "
Titel:      " & theStream
   else
      set artistName to the artist of trackID
      set albumName to the album of trackID
      set totalData to "
Interpret:   " & artistName & "
Titel:      " & trackName & trackPaused & "
Album:   " & albumName
   end if
   return totalData
end tell


Wie müsste ich da vorgehen, bzw. wo finde ich die abzufragenden Zauberwörter?
Ich hatte schon probiert, mal zu den Angaben von Interpret, Titel und Album noch weitere Sachen einfach hinzu zu fügen, aber das blieb eher ohne Erfolg.

Ich wäre Euch Dankbar für nen Tipp.
Benutzeravatar
Toasti
Besucher
Besucher
 
Beiträge: 2
Registriert: Mo 9. Nov 2009, 10:20

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Mo 16. Nov 2009, 17:47

Hallo Toasti!

Toasti hat geschrieben:Folgendes, ich nutze ein kleines Script um mir die iTunes Informationen auslesen zu lassen. Allerdings möchte ich dieses gerne erweitern. Um z.B. Jahr, Wertung oder sonstiges.

Die Wertung habe ich so gelöst:
Code: Alles auswählen
   set myRating to round ((rating of current track) / 20)
   if myRating is 1 then
           set myRating to "*"
       else if myRating is 2 then
           set myRating to "**"
       else if myRating is 3 then
           set myRating to "***"
       else if myRating is 4 then
           set myRating to "****"
       else if myRating is 5 then
           set myRating to "*****"
       else
           set myRating to "°"
       end if
   set output to myRating


Wenn Du noch mehr iTunes Scriptbefehle suchst, dann findest Du sie im Scripteditor: im Menu unter [ Ablage|Funktionsverzeichnis öffnen... ]

Grüßt: Anon
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Toasti » Mo 16. Nov 2009, 18:12

Danke Dir!
Benutzeravatar
Toasti
Besucher
Besucher
 
Beiträge: 2
Registriert: Mo 9. Nov 2009, 10:20

Re: GeekTool - Scripte und Layouts

Beitragvon Steinmeier » So 31. Jan 2010, 11:27

Ich habe ein Problem mit dem Script für den Sonnenuntergang.
Zur Zeit verwende ich diesen Code:

Code: Alles auswählen
curl http://m.wund.com/global/stations/10438.html | grep 'Sunset' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/Sunset/Sonnenuntergang: /g' | sed -e 's/PST//g' | cut -c 1-20 | sed -e 's/5:/17:/g' | sed -e 's/6:/18:/g' | sed -e 's/7:/19:/g' | sed -e 's/8:/20:/g' | sed -e 's/9:/21:/g' | sed -e 's/10:/22:/g' | sed -e 's/11:/23:/g'


Die Ausgabe sieht so aus:
Sonnenuntergang: 1121:20

leider kann ich mit 1121:20 nichts anfangen

Nehme ich das Script ohne 24h anzeige bekomme ich dieses Ergebnis:
5:10 PM

Hat jemand einen Tip wie ich mir die Sonnenuntergangszeit im 24h Format anzeigen lassen kann?
Steinmeier
Besucher
Besucher
 
Beiträge: 8
Registriert: Di 18. Aug 2009, 20:26

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Fr 5. Feb 2010, 19:08

Hallo Steinmeier,
Steinmeier hat geschrieben:Die Ausgabe sieht so aus:
Sonnenuntergang: 1121:20

Das passiert, wenn ein Script zu gierig ist...

Was macht Dein Script, wenn Du 5:20 da durchschickst? Zuerst ersetzt es 5: durch 17:, dann steht da 17:20. Dann ersetzt es 7: durch 19:, dann steht da 119:20. Und dann ersetzt es 9: durch 21:, das ergibt eben 1121:20.

Es gäbe zwei Möglichkeiten, die Gier zu zügeln. Entweder, das Script bricht die Ersetzung nach dem ersten Fund ab. Oder, einfacher, Du schaust Dir den String an und bemerkst das Leerzeichen vor der Stunden-Zahl (" 5:20 PM"). Wenn 5: zu 17: wird, dann kommt vor der neuen 7 kein Leerzeichen, denn da ist ja eine "1". Dann wird die 7 auch nicht ersetzt. Das ergibt den neuen Code für Dich:

Code: Alles auswählen
curl http://m.wund.com/global/stations/10438.html | grep 'Sunset' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/Sunset/Sonnenuntergang: /;s/PST//;s/ PM CET//;s/ 5:/ 17:/;s/ 6:/ 18:/;s/ 7:/ 19:/;s/ 8:/ 20:/;s/ 9:/ 21:/;s/10:/22:/;s/11:/23:/'

Mir ist aufgefallen, dass Du zu unkritisch den Parameter /g am Ende einsetzt. Den kannst Du oft weglassen, schau Dir die Wirkung von /g nochmal an, hier ist sie sogar unerwünscht.

Grüßt: Anon.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Steinmeier » Mo 8. Feb 2010, 19:22

@Anon

Besten Dank
Steinmeier
Besucher
Besucher
 
Beiträge: 8
Registriert: Di 18. Aug 2009, 20:26

Re: GeekTool - Scripte und Layouts

Beitragvon flashspys » So 28. Feb 2010, 21:12

Ich hab eure ganzen Beiträge eifrig mitgelesen und hab ein paa Bugs hier ein paa da beseitigt und mal auch meine eigenen Bedürfnisse zugeschnitten ^^

Also vllt nochmal für alle die grad reingeschaut haben und für diejenigen denen ich gleich den Forumslink schicken werde ^^

Also mal hinten anfangen: Es kommt folgendes raus: http://img.skitch.com/20100228-r3c5pd15271rnr48nrpwjukp8y.jpg


http://img.skitch.com/20100228-qiu35xfiab19wekiabkceej73m.jpg

macht man folgend:

Code: Alles auswählen
curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINE STADT/" |grep -e 'Luftdruck' | sed  -e 's/mb und gleichbleibend//' -e 's/mb und ansteigend//' -e 's/mb und schnell ansteigend//' -e 's/mb und fallend//' -e 's/mb und schnell fallend//' -e 's/<\/dd\>//' -e 's/\>/ /g'  | tail -n1 | awk ' {print "Luftdruck: "  $(NF-1) " mbar"}'

curl --silent "http://de.weather.yahoo.com/deutschland/nordrhein-westfalen/MEINE STADT/" |grep -e 'Luftfeuchtigkeit' | sed  -e 's/\%\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Luftfeuchtigkeit\:\<\/dt\>//'  -e '/ˆ$/d' | tail -n1 | awk '{print "Luftfeuchtigkeit: " $(NF-1) "%"} '

curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINESTADT/" |grep -e 'Sichtweite' | sed  -e 's/\%\<\/dd\>//' -e 's/\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Sichtweite\:\<\/dt\>//'  -e '/ˆ$/d' -e '/ˆ$/d' -e's/\n//' | awk '{print "Sichtweite: " $(NF-1) " km"}'

curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINESTADT/" |grep -e 'Taupunkt' | sed  -e 's/\%\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Taupunkt\:\<\/dt\>//'  -e '/ˆ$/d' | tail -n1 | awk '{print "Taupunkt: " $(NF-1) " °C"} '

curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINESTADT/" |grep -e 'Wind:' | sed  -e 's/\%\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Wind\:\<\/dt\>//'  -e '/ˆ$/d' | tail -n1 | awk '{print "Wind: " $(NF-1) " km/h"} '

curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINESTADT/" |grep -e 'Sonnenaufgang:' | sed  -e 's/\%\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Sonnenaufgang\:\<\/dt\>//'  -e '/ˆ$/d' | tail -n1 | awk '{print "Sonnenaufgang: " $(NF-1) " Uhr"} '

curl --silent "http://de.weather.yahoo.com/deutschland/BUNDESLAND/MEINESTADT/" |grep -e 'Sonnenuntergang:' | sed  -e 's/\%\<\/dd\>//' -e 's/\<dd\>/ /g' -e 's/\<dt\>Sonnenuntergang\:\<\/dt\>//'  -e '/ˆ$/d' | tail -n1 | awk '{print "Sonnenuntergang: " $(NF-1\n) " Uhr"\n} '

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=MEINE STADT&u=c" | grep -E '(High:)' | sed -e 's/<BR \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<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/bewölkt/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/Mon/Mo/g' -e 's/Tue/Di/g' -e 's/Wed/Mi/g' -e 's/Thu/Do/g' -e 's/Fri/Fr/g' -e 's/Sat/Sa/g' -e 's/Sun/So/g' -e 's/High/Max/g' -e 's/Low/Min/g'


http://img.skitch.com/20100228-masu5n89 ... y2nf99.jpg

Macht man folgend:

Ertsma die Temperatur:
Code: Alles auswählen
curl --silent "http://xml.weather.yahoo.com/forecastrss?p=MEINE STADT&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>//' | tail -n1 | awk '{ print $(NF-1) " °C" }'


Dann das Wetter an sich!! (Dort kann es sein das manche Bezeichnungen fehlen (sry))


Code: Alles auswählen
curl --silent "http://xml.weather.yahoo.com/forecastrss?p=MEINE STADT&u=c" | grep -E '(Current Conditions:| C<BR)' | sed -e 's/Current Conditions://' -e 's/<\/b>//' -e 's/<br \/>//' -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/bedeckt/g' -e 's/Windy/windig/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/[0-9] C//g' -e 's/,//g'


http://img.skitch.com/20100228-qb76ty2sqs6mhigjn86ktrg4ih.jpg

Macht man sooo:
Code: Alles auswählen
#!/bin/bash

# Server stuff
service --test-if-configured-on ssh &> /dev/null;
if [ $? = 0 ]; then sshServ="running";
else sshServ="offline"; fi
if [ "$(ps -Ac | grep mysqld)" != "" ]; then sqlServ="running";
else sqlServ="offline"; fi

echo "SSH : $sshServ";
echo "SQL : $sqlServ";

# IP stuff
lanIp=$(ifconfig en0 | grep 'inet ' | awk '{print $2}')
if [ "$lanIp" = "" ]; then lanIp="offline"; fi

wLanIp=$(ifconfig en1 | grep 'inet ' | awk '{print $2}')
if [ "$wLanIp" = "" ]; then wLanIp="offline"; fi

inetIp=$(curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z<>/ :]//g')
if [ "$inetIp" = "" ]; then inetIp="offline"; fi

echo "LAN IP : $lanIp";
echo "WLAN IP   : $wLanIp";
echo "External IP  : $inetIp";


und In: und Out:
Code: Alles auswählen
#!/bin/bash
# created by chris helming.
# chris dot helming at gmail

# get the current number of bytes in and bytes out
myvar1=`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'` #  bytes in
myvar3=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'` # bytes out

#wait one second
sleep 1

# get the number of bytes in and out one second later
myvar2=`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'` # bytes in again
myvar4=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'` # bytes out again

# find the difference between bytes in and out during that one second
subin=$(($myvar2 - $myvar1))
subout=$(($myvar4 - $myvar3))

# convert bytes to kilobytes
kbin=`echo "scale=2; $subin/1024;" | bc`
kbout=`echo "scale=2; $subout/1024;" | bc`

# print the results
echo "in   : $kbin kb/s"
echo "out   : $kbout kb/s"


Guuuut....

Das Abfallbild gaanz unten rechts http://img.skitch.com/20100228-n51r1rrqb4tkesupe8k5q61ka6.jpg

wird so gemacht:
Code: Alles auswählen
du -sh ~/.Trash/ | awk '{print "Abfall: " $1B"B"}'


Ich hab das B da noch ergänzt.. sieht schöner aus ^^

Dann die Uhrzeit/Datum/Wochentag/Monat

http://img.skitch.com/20100228-ce6na7cf16rs5r5wefeu7wpqeg.jpg

Erstma Uhrzeit:
Code: Alles auswählen
date '+%H:%M' | sed  -e 's/01:/1:/g' -e 's/02:/2:/g' -e 's/03:/3:/g' -e 's/04:/4:/g' -e 's/05:/5:/g' -e 's/06:/6:/g' -e 's/07:/7:/g' -e 's/08:/8:/g' -e 's/09:/9:/g'


Wochentag:
Code: Alles auswählen
date "+%A" | sed -e 's/Monday/Montag/g' -e 's/Tuesday/Dienstag/g' -e 's/Wednesday/Mittwoch/g' -e 's/Thursday/Donnerstag/g' -e 's/Friday/Freitag/g' -e 's/Saturday/Samstag/g' -e 's/Sunday/Sonntag/g'


Datum:
Code: Alles auswählen
date +%d. | sed -e 's/01/1/g' -e 's/02/2/g' -e 's/03/3/g' -e 's/04/4/g' -e 's/05/5/g' -e 's/06/6/g' -e 's/07/7/g' -e 's/08/8/g' -e 's/09/9/g'


Ich hab den Punkt ergänzt *STOLZ* XD

Monat
Code: Alles auswählen
#!/bin/bash
export LC_TIME=de_DE

date +%B


ok dann dadrunter die Uptime:
http://img.skitch.com/20100228-p1biws8jeeesnpj4bqcedkhd4w.jpg

wird so gemacht:
Code: Alles auswählen
uptime | sed -e 's/.*up //;s/,...user.*//;s/1 day/1 Tag/;s/days/Tage/;s/hrs/Stunden/;s/:/ Stundenn /;s/1 Stunden/1 Stunde/;s/^1 min/1 Minute/;s/mins/Minuten/;s/secs/Sekunden/;s/.*/Start vor &/;s/,//g;s/.*[0-9]$/& Minuten/'


Da muss ich jz ma Profis fragen: Dieses doppelte "n" bei stunden hab ich extra gemacht.. sonst steht da "21 Stunde" ich hoffe das da gleich nicht "23 Stundenn" steht deswegen tendire ich für eine elegantere Lösung des Problems!! Ich selbst kann das aber nicht....

Dann welchen PC man hat ganz unten
http://img.skitch.com/20100228-fri4ehmn48uqhbuygaq5g4kdbn.jpg
Code: Alles auswählen
system_profiler SPHardwareDataType SPSoftwareDataType | perl -e '@info= <>  ; $info= join("", @info)  ;if($info=~m@[\r\n]+\s*Model Name:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}if($info=~m@[\r\n]+\s*Memory:\s*([^\r\n]+)[\r\n]+@) {print "RAM: $1\n";}if($info=~m@[\r\n]+\s*Processor Name:\s*([^\r\n]+)[\r\n]+@) {print "Prozessor: $1\n";}if($info=~m@[\r\n]+\s*Total Number Of Cores:\s*([^\r\n]+)[\r\n]+@) {print "Geschwindigkeit: $1 x ";}if($info=~m@[\r\n]+\s*Processor Speed:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}if($info=~m@[\r\n]+\s*L2 Cache:\s*([^\r\n]+)[\r\n]+@) {print "L2 Chache: $1\n";}if($info=~m@[\r\n]+\s*System Version:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}'


Und da hab ich voll viel ganz von alleine gemacht... Das hintergrundbild ist übrigens eine MQ-9 von der USAF ^^...

Joa.. das wars auch schon.... Jz haben wir nochmal ne (ich hoffen 100% richtige) Auswahl an schönen Commands

Felix (der, der alles kopiert hat und nur kleinigkeiten selbst gemacht hat :)
flashspys
 

Re: GeekTool - Scripte und Layouts

Beitragvon FatJesus » Fr 9. Apr 2010, 13:37

Sorry das ich diesen Thread ausgrabe.
Ich hab eine Idee aber weiß nicht ob sie realisierbar ist.

Ich würde gerne eine Anzeigeleiste erstellen die mir Anzeigt wieviel Speicher noch auf den Mac frei ist.
Möglich wär das wenn ich !0 Grafiken erstelle die auf einem Anderen Stand stehen.

Hier mal nen Beispiel:

100%
##########
90%
##########
80&
##########
60%
##########

Also jenachdem wieviel Platzt ist zB 600gb von 1000gb wir hier Grafik 6 mit 60% angezeigt.


lg
FatJesus
Besucher
Besucher
 
Beiträge: 8
Registriert: Di 9. Mär 2010, 14:52

Re: GeekTool - Scripte und Layouts

Beitragvon Dark_Scorpion » Mo 26. Apr 2010, 18:27

hi, ich hatte da mal eine Frage. ich will mit geektool auf dem desktop einen Kalender anzeigen lassen und möchte gern, dass der heutige tag farbig gekennzeichnet wird. So wie man es hier sehen kann.
weiß denn jemand ob und wie es funktionieren könnte?

Ps. also den Kalender hab ich hin bekommen, aber mit der Farbe hapert es. schön wäre es auch wenn die Wochenendtage markiert wären.

bitte um schnelle Hilfe
danke im voraus
Benutzeravatar
Dark_Scorpion
Veteran
Veteran
 
Beiträge: 1312
Registriert: Mi 10. Mai 2006, 18:53

Re: GeekTool - Scripte und Layouts

Beitragvon Dark_Scorpion » So 2. Mai 2010, 15:50

nachdem es so aussieht, dass sich keiner mit dem Kalender in GeekTool aus kennt, hoffe ich dass ihr mir diesmal helfen könnt.

also, ich möchte mit GeekTool auf dem desktop angezeigt bekommen, ob ich neue mails habe und wenn ja wie viele. ich hab das zwar hier gefunden, aber dafür muss Mail die ganze zeit offen sein und das will ich nicht.

bitte um schnelle Hilfe
bin schon am verweifeln, weil ich schon alle therd durchsucht habe.

Ps. ich habe auf eine seite diesen code gefunden:
Code: Alles auswählen
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "\t" if /<name>/; print "$2\n" if /<(name)>(.*)<\/\1>/;'


aber das funktioniert bei mir nur wenn ich das Passwort manuell eingebe. ich glaube weil sich in dem Passwort ein Zeichen befindet mit dem der Terminal nicht klar kommt.
kann mir einer helfen?
bitte!
Benutzeravatar
Dark_Scorpion
Veteran
Veteran
 
Beiträge: 1312
Registriert: Mi 10. Mai 2006, 18:53

Re: GeekTool - Scripte und Layouts

Beitragvon Dark_Scorpion » Mi 5. Mai 2010, 17:02

weiß denn echt keiner bescheid? :'-(
Benutzeravatar
Dark_Scorpion
Veteran
Veteran
 
Beiträge: 1312
Registriert: Mi 10. Mai 2006, 18:53

Re: GeekTool - Scripte und Layouts

Beitragvon Dark_Scorpion » Fr 21. Mai 2010, 19:24

auf die Gefahr hin keine Hilfe zu bekommen, stell ich trotzdem meine Frage. :-/
ist es möglich die Mondphasen per Geektool anzeigen zu lassen?
vielleicht gibt es wie beim Wetter eine Seite, von der man die Informationen hernehmen kann.
und wenn es möglich ist, würde ich gerne meine eigene Icons benutzen.

danke im voraus
Benutzeravatar
Dark_Scorpion
Veteran
Veteran
 
Beiträge: 1312
Registriert: Mi 10. Mai 2006, 18:53

Re: GeekTool - Scripte und Layouts

Beitragvon the_php_jo » Do 22. Jul 2010, 09:33

Um diesen Thread mal wieder zu bleben, hiermein setup:
http://cl.ly/34653de0313f25e47289

Die meisten skripts hab ich hier ausm thread, ausser Termine und Todos

die macht man folgender masen (geht nur bei installiertem iCalBuddy):


ToDo:
Code: Alles auswählen
/usr/local/bin/icalBuddy -nc uncompletedTasks | sed -e "s/*/--/" | sed -e "s/!/!!/" -e "s/notes/Notizen/g" -e "s/url:/URL      :/g" -e "s/due:/Datum  :/g" -e "s/today/Heute/g" -e "s/tomorrow/Morgen/g" -e "s/day after /Über-/g"



Events:
Code: Alles auswählen
echo "***Events nächste 3 Tage:***"
echo

/usr/local/bin/icalBuddy -nc eventsToday+3 | sed -e "s/*/--/g" -e "s/location/Ort/g" -e "s/tomorrow/Morgen/g" -e "s/day after /Über-/g" -e "s/at/um/g"



Wenn man zum beispiel nicht die Events für 3, sondern für 5 Tage will ersetzt man das in

/usr/local/bin/icalbuddy -nc eventsToday+5
Benutzeravatar
the_php_jo
Mitglied
Mitglied
 
Beiträge: 449
Registriert: Sa 21. Nov 2009, 17:23

GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 16:18

Nachdem dieser GeekTool Thread geschlossen ist, hier ein neuer.

Als Start: Anleitung für die Darstellung von aktueller Temperatur, Wetter als Grafik und Mondphase in der Wettergrafik. Tagsüber wird nur das Wetter dargestellt. Zum Zeitpunkt des Sonnenunterganges wird die Mondphase und das Wetter als Grafik dargestellt.

Bild

Das Script ist reines Bash, benötigt daher kein PHP (anders als ähnliche Scripte, die ich im Netz gefunden habe).

Man benötigt:
- Geektool 3.0 oder später
- Wetter Icons: ich nutze die von LavAna von DevianArt.
Die Icons müssen umbenannt werden, meine schon umbenannten könnt Ihr hier herunterladen. Die Icons sind weiß und erfordern daher einen dunklen Hintergrund.
Meine IconNamen-Systematik ist diese:
Mondphasenzahl(1-8; 0=Tag)_Wetter.png
Beispiele:
Tagsüber, Wolkenfrei = 0_Day_Clear.png
Neumond, Wolkig = 1_New_Moon_Cloudy.png
Erstes Viertel, Schneefall = 2_Waxing_Crescent_Snow.png
Zunehmender Halbmond, Regen = 3_First_Quarter_Rain.png
usw.
Vorschlag: die Icons in Ordner "Dokumente" verschieben: z.B. /Users/**USERNAME**/Documents/GeekTool/WeatherIcons/
- den Yahoo Weather Code für aktuelle Wetterdaten der eigenen Stadt (z.B. Berlin GMXX0007)
- die Wunderground Seite für aktuelle Mondstanddaten eigene Stadt

Mit GeekTool erstellt man ein ScriptFenster für das Abrufen der Daten, Darstellung der aktuellen Temperatur und Kopie des passenden Icons in ein Bild "wetter.png". Zudem werden Wetter und Mondstand in LogDateien geschrieben (dazu wird automatisch ein Ordner /Users/**USERNAME**/.tmp/ erstellt. Das zweite GeekTool Fenster ist ein BildFenster, das dann das vom ScriptFenster erstellte "wetter.png" darstellt.

1. das ScriptFenster
anpassen: Ordner der Icons, Yahoo-Weather-Code, Wunderlist-Seite
Das Script sammelt die Daten ein, bastelt daraus den Dateinamen für das passende Icon, sucht und kopiert die Datei mit diesem Namen in eine Datei "wetter.png".
Code: Alles auswählen
#!/bin/bash

##define folders
iconOrdner='/Users/**USERNAME**/Documents/GeekTool/WeatherIcons/'
iconWetter='wetter.png'
BildAuslese=$iconOrdner$iconWetter
declare DIR='/Users/**USERNAME**/.tmp/'
if [ ! -d $dir ]; then mkdir $dir; fi
mondCal="$DIR/mond.log"
wetterLog="$DIR/wetter.log"

##grab web page contents ##Wunderground und Yahoo Weather Code hier anpassen
orakel=`curl --silent "http://m.wund.com/global/stations/10389.html#conditions"`
wt=`curl --silent "http://xml.weather.yahoo.com/forecastrss?p=GMXX0007&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///' -e 's/<\/description>//'`

##calculate stuff
sunrise=`echo "$orakel" | grep -E 'Sunrise' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/[a-zA-Z]*//g;s/[[:space:]]*//g'`
sunrise_h=`echo "$sunrise" | sed -e 's/:.*//g'`
sunrise_m=`echo "$sunrise" | sed -e 's/.*://g'`
sunrise=`expr $sunrise_h \* 60 + $sunrise_m`
sunset=`echo "$orakel" | grep -E 'Sunset' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/[a-zA-Z]*//g;s/[[:space:]]*//g'`
sunset_h=`echo "$sunset" | sed -e 's/:.*//g'`
sunset_h=`expr $sunset_h + 12`
sunset_m=`echo "$sunset" | sed -e 's/.*://g'`
sunset=`expr $sunset_h \* 60 + $sunset_m`
mondPhase=`echo "$orakel" | grep -E 'Moon Phase' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/Moon Phase//'`
zeit_h=`date +%H | sed -e 's/^0//'`
zeit_m=`date +%M | sed -e 's/^0//'`
zeit=`expr $zeit_h \* 60 + $zeit_m`

##decide stuff and put it all together
if [ "$wt" != "" ]
then
   if [ "$zeit" -le "$sunset" ] && [ $sunrise -le $zeit ]
      # if sun has risen
      then
      tz="0_Day_"
      mp=""
   else
      # if the night has come
      tz=""
      mp=`echo $mondPhase | sed -e 's/ /_/g;s/,.*$//' | sed -e 's/New_Moon/1_New_Moon/;s/Waxing_Crescent/2_Waxing_Crescent/;s/First_Quarter/3_First_Quarter/;s/Waxing_Gibbous/4_Waxing_Gibbous/;s/Full_Moon/5_Full_Moon/;s/Waning_Gibbous/6_Waning_Gibbous/;s/Last_Quarter/7_Last_Quarter/;s/Waning_Crescent/8_Waning_Crescent/'`
      mp=`echo $mp"_"`
   fi
   wetter=`echo $wt | sed -e 's/ /_/g;s/,.*$//'`
   BildVorlage=$iconOrdner$tz$mp$wetter".png"
else
   BildVorlage=$iconOrdner"na.png"
fi

##spit it out Smith!
echo $wt | tail -n 1 | sed -e 's/[a-zA-Z].*, //;s/ C/°/'
cp -f $BildVorlage $BildAuslese

##moon specific stuff
heute=`date +%d%m`
mondCalHeute=`echo -e $heute" "$mondPhase`
mondHeute=`echo $mondCalHeute | awk '{print $2}'`
mondCalGestern=`cat $mondCal | tail -n 1`
mondGestern=`echo $mondCalGestern | awk '{print $2}'`
mondGesternFull=`echo $mondCalGestern | awk '{print $2" "$3}'`
gestern=`echo $mondCalGestern | awk '{print $1}'`
mondPhaseDE=`echo $mondPhase | sed -e 's/New Moon/Neumond/;s/Waxing Crescent/Erstes Viertel/;s/First Quarter/Zunehmender Halbmond/;s/Waxing Gibbous/Zweites Viertel/;s/Full Moon/Vollmond/;s/Waning Gibbous/Drittes Viertel/;s/Last Quarter/Abnehmender Halbmond/;s/Waning Crescent/Letztes Viertel/'`
mondGesternFullDE=`echo $mondGesternFull | sed -e 's/New Moon/Neumond/;s/Waxing Crescent/Erstes Viertel/;s/First Quarter/Zunehmender Halbmond/;s/Waxing Gibbous/Zweites Viertel/;s/Full Moon/Vollmond/;s/Waning Gibbous/Drittes Viertel/;s/Last Quarter/Abnehmender Halbmond/;s/Waning Crescent/Letztes Viertel/'`

echo -e "$mondPhase ($mondPhaseDE), $wetter" > $wetterLog


2. das BildFenster
Code: Alles auswählen
file://localhost/Users/**USERNAME**/Documents/GeekTool/WeatherIcons/wetter.png


Für beide Fenster habe ich 60 Sekunden Refresh Rate eingestellt. Ich nutze eine große fette weiße Schrift auf dunklem Hintergrundbild. Immer mal kommt eine Wettermeldung für die es noch kein Icon gibt, dann bastel ich selbst eines. Um das herauszubekommen, sollte man immer mal in die Konsole schauen, denn Geektool schreibt LogDateien.

Grüßt: Anon
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 16:36

Praktisch und Schön finde ich auch die Balkendarstellung, die farbig ist (ja, BASH kann Farbe):
Code: Alles auswählen
myDisk=`df | awk '/dev\/disk0s2/ && NF>1 {print $5}' | sed 's/\%//'`
myDisk=`expr 100 - $myDisk `

declare -i a=5
while [ $a -lt $myDisk ]
do
   echo "|\c"
   a=`expr $a + 5`
done
echo "\033[1;31m|\033[0m\c"
while [ $a -lt 100 ]
do
   echo "\033[1;30m|\033[0m\c"
   a=`expr $a + 5`
done
echo "\n"
unset myDisk
unset a

Das Script ist sehr vielseitig wenn man sich überlegt, dass man z.B. Festplatten-Platz, RAM-Füllung, CPU-Auslastung, iTunes-Fortschrittsbalken des aktuellen Songs oder System-Lautstärke darstellen kann. Der Fantasie sind praktisch keine Grenzen gesetzt. Man liest irgend einen Parameter ein, erstellt daraus eine Zahl zwischen 0 und 100 (simple Mathematik) und stellt diese als Balken mit dem darunter stehenden Code dar. Simplicity itself!

Sieht bei mir so aus:
Bild

grüßt: Anon
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 16:43

Anon hat geschrieben:Anleitung für die Darstellung von aktueller Temperatur, Wetter als Grafik und Mondphase in der Wettergrafik.

Nach Sonnenuntergang wird ja die Mondphase mit dargestellt. Das sieht dann so aus (aktuell: Waxing Crescent (Erstes Viertel), Mostly_Cloudy)

Bild
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 16:55

In letzter Zeit habe ich mir erstmals die Scriptsprache PERL angesehen und bin davon eingenommen. Für GeekTool eignet die sich auch sehr gut: PERL ist schon auf dem System und muss nicht installiert werden. PERL wie BASH-Scripte können in Dateien gespeichert werden.

Ein hübsches Beispiel ist die Darstellung des aktuellen Datums mit Uhrzeit in binär:
(jetzt ist der 17. Januar 17 Uhr 6, dargestellt als 1.17.17.6)
Bild

Code: Alles auswählen
#!/usr/bin/perl
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdat) = localtime(time);

sub dec2bin {
   my $zahl = unpack("B32", pack("N", $_[0]));
   (length(@_ > 1)) ? ($zahl = substr($zahl, 32-$_[1])) : $zahl =~ s/^0+(\d+)/$1/;
   return $zahl;
}

print dec2bin($mon+1), ".", dec2bin($mday), ".", dec2bin($hour), ".", dec2bin($min);


Das Script ist mehr oder weniger selbsterklärend, die Funktion zur Umwandlung von Dezimal nach Binär ist eine Anfänger-Beispiel-Funktion. Elegant, oder?
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 16:56

Anon hat geschrieben:(jetzt ist der 17. Januar 17 Uhr 6, dargestellt als 1.17.17.6)

Geht etwa die MacLife Uhr falsch?
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool Scripte

Beitragvon Du bist der App Store » Do 17. Jan 2013, 16:58

ja...die Uhr geht falsch...
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool Scripte

Beitragvon Anon » Do 17. Jan 2013, 17:45

In diesem geschlossenen Thread fragte _sambucus, wie man mit BASH date andere Zeitzonen darstellt.

_sambucus hat geschrieben:Meine Idee wäre eher, die Ausgabe nachträglich um die Zeitverschiebung zu ändern. Wie füge ich dem "+%H"-Teil also -sagen wir- eine Stunde hinzu?

das geht so:
Code: Alles auswählen
date -v+1H "+%H:%M"

wobei das Argument -v+1H die Uhr um eine Stunde vorstellt.

Gruß, Anon
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon sedl » Do 17. Jan 2013, 21:19

Moderatoraktion: Den neuen und den alten Thread zusammengefügt. Die Links von Anon zum alten Thread brauchen also nicht mehr geklickt werden. ;-) (sedl)

Beim nächstenmal einfach einen Moderator bitten den Thread wieder aufzumachen, die Thread werden nach einer gewissen Zeit automatisch geschlossen, können jedoch von uns Moderatoren wieder geöffnet werden.

gruss

sedl
sedl
Moderator
Moderator
 
Beiträge: 10313
Registriert: Di 31. Aug 2004, 08:43
Wohnort: Zuhause

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Fr 18. Jan 2013, 08:21

Wenn ich Musik höre, dann meist welche mit Gesang.
Wie schön, dass iTunes die Möglichkeit bietet, Texte in mp3 zu speichern. Das kann man manuell machen oder automatisiert.

Die Songtexte kann man dann mit Geektool darstellen:
Code: Alles auswählen
osascript -e '''tell application "iTunes" to set currentLyrics to the lyrics of the current track'''

Oder besser diesen Code als AppleScript-Datei speichern und von Geektool aus aufrufen:
Code: Alles auswählen
if application "iTunes" is running then
   tell application "iTunes"
   set currentLyrics to the lyrics of the current track
   end tell
end if

Das kann man auch mit DesktopLyrics machen, aber das kostet ein paar Euro und macht weniger Spass!

Behauptet: Anon.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Fr 18. Jan 2013, 08:38

Übrigens habe ich eine Lösung für Dark_Scorpions Kalenderfrage
Dark_Scorpion hat geschrieben:ich will mit geektool auf dem desktop einen Kalender anzeigen lassen und möchte gern, dass der heutige tag farbig gekennzeichnet wird. So wie man es hier sehen kann.
weiß denn jemand ob und wie es funktionieren könnte?

Code: Alles auswählen
cal_head=`cal | head -1`; cal_tail=`cal | tail -7`; today=`date "+%e"`; echo "$cal_head"; echo -en "${cal_tail/${today}/\033[1;32m${today}\033[0m}";

und das geht sogar für das ganze Jahr:
Code: Alles auswählen
cal -y | awk -v month="`date +%m`" -v day="`date +%e` " '{m=int((NR-3)/8)*3+1; for (i=0;i<3;i++) {t[i]=substr($0,1+i*22,20) " "; if (m+i==month) sub(day,"\033[1;32m&\033[0m",t[i]);} print t[0],t[1],t[2];}'

Gefunden habe ich es hier.
Probiert es aus! Anon.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Fr 18. Jan 2013, 09:08

Wer über neue Emails (in Apple Mail) auf seinem Desktop informiert sein möchte, möge dieses AppleScript nutzen
Code: Alles auswählen
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)
         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
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Fr 18. Jan 2013, 14:17

GeekTool...wirklich ein sehr interessantes Programm...ich habe dazu eine Frage: Ich fände ein Geekelt (wenn die Teile denn so heißen) toll, welches Anzeigt, wie viel Strom noch Tastatur, Maus und Trackpad haben. Am besten noch mit einer kleinen Ladezustandsgrafik. Weis jemand wie das geht?

noch eine Frage...wie verwendet man denn dieses Codes?
ich habe davon nämlich gar keine Ahnung...Ich hätte auch gerne so ein Wetter geekelt mit icon....und das mit Mail klingt toll...doch bin ich zu blöd das zu verwenden...Eine Uhr wäre auch praktisch....
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Fr 18. Jan 2013, 15:04

So. Etwas für die Batterieanzeige habe ich gefunden
http://www.macosxtips.co.uk/geeklets/system/battery-status-for-apple-wireless-keyboard-mouse-and-trackpad/
...doch auch hier bin ich zu blöd es zu verwenden...
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Fr 18. Jan 2013, 20:59

ahh...jetzt hat es geklappt...GeekTool ist einfach immer abgestützt!
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Sa 19. Jan 2013, 09:20

Kennt jemand ein Geeklet, welches mir den aktuellen Internetverbrauch anzeigt? Ich habe da eins gefunden, aber das zeigt nie was an...Immer 0 kbit/ s. In der Aktivitätsanzeige setht aber 82 kbit/ s...Aktuellisiert wird das Geeklet jede Sekunde...Oder kennt jemand einen Code und kann mir sagen wie man den verwendet?
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Sa 19. Jan 2013, 11:10

So sieht es hier aus...mit dem nicht funktionierenden Geeklet...
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Mo 21. Jan 2013, 10:11

Vor ein paar Tagen erst...
Anon hat geschrieben:...eine Lösung für Dark_Scorpions Kalenderfrage...
Dark_Scorpion hat geschrieben:ich will mit geektool auf dem desktop einen Kalender anzeigen lassen und möchte gern, dass der heutige tag farbig gekennzeichnet wird.

Die bisherige Lösung färbte nur die Ausgabe von "cal" ein. Jedoch beginnt für Apple die Woche mit Sonntag. "Unsere" Woche fängt jedoch mit Montag an. Dafür habe ich ein schönes Script gefunden, angepasst, eingefärbt und hier isses:
Code: Alles auswählen
#!/bin/bash
cal | awk '{ print " "$0; getline; print " Mo Di Mi Do Fr Sa So"; getline; if (substr($0,1,2) == " 1") print "                    1 "; do { prevline=$0; if (getline == 0) exit; print " " substr(prevline,4,17) " " substr($0,1,2) " "; } while (1) }' | GREP_COLOR="1;32" grep -E --color=always "\b`date +%e`\b|$"

Die Leerzeichen dazwischen müssen drinbleiben.
Empfiehlt: Anon

EDIT: mit dem Montags-Problem haben sich am Anfang des Threads schon HAM und FAB beschäftigt (Seite 1).
Zuletzt geändert von Anon am Mo 21. Jan 2013, 10:25, insgesamt 1-mal geändert.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Mo 21. Jan 2013, 10:23

Du bist der App Store hat geschrieben:Kennt jemand ein Geeklet, welches mir den aktuellen Internetverbrauch anzeigt? Ich habe da eins gefunden, aber das zeigt nie was an...Immer 0 kbit/ s.

Hallo "Du bist der App Store" (?),
sehr wahrscheinlich musst Du nur "en0" (Ethernet, kabelgebunden) gegen "en1" (WLAN) bzw. umgekehrt austauschen. Die Bezeichnungen findest Du heraus, wenn Du im Terminal "ifconfig" eintippst und nach "status: active" suchst.
Probiers! Anon.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Mo 21. Jan 2013, 13:45

Danke! Ich probiers mal aus...
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Mo 21. Jan 2013, 13:50

Es ändert sich leider nicht viel...Hier ist der Code
# Change this to en0 for an ethernet connection instead of airport
INTF=en1

# get the current number of bytes in and bytes out
sample1=(`/usr/sbin/netstat -ib | awk "/$INTF/"'{print $7" "$10; exit}'`)

# wait one second
sleep 1

# get the number of bytes in and out one second later
sample2=(`/usr/sbin/netstat -ib | awk "/$INTF/"'{print $7" "$10; exit}'`)

# find the difference between bytes in and out during that one second
# and convert bytes to kilobytes
results=(`echo "2k ${sample2[0]} ${sample1[0]} - 1024 / p" "${sample2[1]} ${sample1[1]} - 1024 / p" | dc`)

# print the results
printf "In: %.2f Kb/sec\nOut: %.2f Kb/sec\n" ${results[0]} ${results[1]}
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Mo 21. Jan 2013, 16:13

Probier mal das hier:
Code: Alles auswählen
#!/bin/bash
# Variablen
INTF=en0
# Aktueller Datenverkehr Zeitpunkt 1
myvar1=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $7}'` # bytes in
myvar3=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $10}'` # bytes out
# warte 1 Sekunde
sleep 1
# Aktueller Datenverkehr Zeitpunkt 2
myvar2=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $7}'` # bytes in
myvar4=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $10}'` # bytes out
# Differenz der Zeitpunkte 1 und 2
subin=$(($myvar2 - $myvar1))
subout=$(($myvar4 - $myvar3))
# Einheiten umwandeln
kbin=`echo "scale=2; $subin/1024;" | bc | sed -e 's/^\(\..*$\)/0/'`
kbout=`echo "scale=2; $subout/1024;" | bc | sed -e 's/^\(\..*$\)/0/'`
# Spit it out, Smith!
echo "$INTF in: $kbin kb/s"
echo "$INTF out: $kbout kb/s"

Hier Netzwerkeinstrom als Fortschrittsbalken:
Wenn die Daten langsam tröpfeln, dann sieht man oft am Balken nichts, daher habe ich kbmax auf 1250 kb/s gesetzt. Das hat den Effekt, dass man langsamen Datenverkehr sieht, und bei schnellen Übertragungen der Balken rechts anschlägt (was dann gut aussieht...)
Code: Alles auswählen
INTF=en0
kbmax=1250
myvar1=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $7}'` # bytes in
sleep 1
myvar2=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $7}'` # bytes in
subin=$(($myvar2 - $myvar1))
kbin=`echo "scale=0; $subin/1024;" | bc | sed -e 's/^\(\..*$\)/0/'`
mykbin=$((100 * $kbin / $kbmax))

if [ $mykbin -ge "100" ]
then
   mykbin=100
fi

declare -i a=5
while [ $a -lt $mykbin ]
do
   echo "|\c"
   a=`expr $a + 5`
done
echo "\033[1;31m|\033[0m\c"
while [ $a -lt 100 ]
do
   echo "\033[1;30m|\033[0m\c"
   a=`expr $a + 5`
done
echo "\n"
unset a

... und Netzwerkausstrom als Fortschrittsbalken:
Code: Alles auswählen
INTF=en0
kbmax=1250
myvar1=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $10}'` # bytes out
sleep 1
myvar2=`netstat -ib | grep -e "$INTF" -m 1 | awk '{print $10}'` # bytes out
subout=$(($myvar2 - $myvar1))
kbout=`echo "scale=0; $subout/1024;" | bc | sed -e 's/^\(\..*$\)/0/'`
mykbout=$((100 * $kbout / $kbmax))

if [ $mykbout -ge "100" ]
then
   mykbout=100
fi

declare -i a=5
while [ $a -lt $mykbout ]
do
   echo "|\c"
   a=`expr $a + 5`
done
echo "\033[1;31m|\033[0m\c"
while [ $a -lt 100 ]
do
   echo "\033[1;30m|\033[0m\c"
   a=`expr $a + 5`
done
echo "\n"
unset a

Grüßt: Anon
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Mo 21. Jan 2013, 16:29

Danke. Der Normale Code funktioniert. Die anderen beiden haben mich sehr neugierig gemacht...leider bleiben die Balken immer am 1. Balken stehen und verändern sich nie...Woran kann das liegen?
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

Re: GeekTool - Scripte und Layouts

Beitragvon Anon » Mo 21. Jan 2013, 16:51

Stell die Refresh Rate auf 2 Sekunden und passe die kbmax-Variable auf Deine Internetverbindung an. Probier z.B. mal "250" statt "1250", das sollte funktionieren.
Benutzeravatar
Anon
Besucher
Besucher
 
Beiträge: 50
Registriert: Sa 13. Jun 2009, 09:40

Re: GeekTool - Scripte und Layouts

Beitragvon Du bist der App Store » Mo 21. Jan 2013, 17:30

leider läuft es nicht...Das ist das Ergebnis...
Benutzeravatar
Du bist der App Store
Mitglied
Mitglied
 
Beiträge: 719
Registriert: Sa 11. Aug 2012, 09:52
Wohnort: Ruhrpott

VorherigeNächste

Zurück zu Skripte & Programmierung