Apple

Geektool deel 2


geektoolHeb er al eerder een onderwerp aan besteed, geektool een geweldig programma waar je informatie op je bureaublad kan plaatsen.

Zo kan je weer, tijd, datum, itunes muziek, harde schijf informatie, notities, kalender en ga zo maar door. Dit alles wordt verzorgt door een applicatie die werkt met scripts.

De scripts moet je wel wat vanaf weten maar google even en de scripts vliegen je om de oren, zo is het weer een van de populaire scripts.

Een probleem is een een OSX only programma.

Ook ik vond de weer script leuk en opzicht was het aardig puzzelen, je hebt namelijk een aantal dingen nodig. Een script voor het weer waar de image script naar linkt en een script voor de weer, tot een paar maanden was alles via Yahoo maar zij hebben van alles veranderd waardoor de script waardeloos werd.

Na veel zoeken heb ik uiteindelijk de juiste script weer gevonden, dit had wel iets meer voeten in aarde maar zoals je de foto al aangeeft het werkt weer. Wat heb ik nu gedaan, zal het proberen uit te leggen.

Ten eerste weer even de verschillende scripts die ik gebruikt heb, en een aantal extra om in te komen.

Plaats:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • echo Groningen

Maand:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • date +”%B”

Dag:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • date +”%A”

Datum:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • date +”%d”

Tijd:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • date +”%H:%M”

Tijd plus seconde:

  • Kies Shell
  • Sleep deze naar je bureaublad en type.
  • date +”%H:%M:%S”

Als Font heb ik Helvetica Neue Ultralight gebruikt, dit is allemaal nog te doen maar voor het weer moet iets meer gedaan worden.

Download de script via deze site, eenmaal gedownload kopieer de map naar een plek waar deze ook zal moeten blijven. Delete je de map werkt de script ook niet meer, ik heb het in mijn dropboxmap onder public geplaatst.

Eenmaal op een plek geplaatst waar je er geen last van heb open je de WeatherScript en bewerk de volgende.

WEATHER=`curl –silent -i “http://weather.yahooapis.com/forecastrss?w=WOEID&u=c”`;

Location() {

f=$(echo “$WEATHER” | grep “yweather:location” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

city=$(echo “$f” | head -1 | tail -1);

printf “$city”;

printf “, “;

}

ForecastNow() {

f=$(echo “$WEATHER” | grep “yweather:forecast” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

desc=$(echo “$f” | head -5 | tail -1);

code=$(echo “$f” | head -6 | tail -1);

printf “$desc, “;

cp $code.png temp.png

}

Condition() {

f=$(echo “$WEATHER” | grep “yweather:condition” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

temperature=$(echo “$f” | head -3 | tail -1);

printf “$temperature”; printf “°C \n”;

}

Forecast() {

f=$(echo “$WEATHER” | grep “yweather:forecast” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

day=$(echo “$f” | head -1);

low=$(echo “$f” | head -3 | tail -1);

high=$(echo “$f” | head -4 | tail -1);

desc=$(echo “$f” | head -5 | tail -1);

printf “$day”; printf “. \t “; printf “$low” ; printf “°C – “; printf “$high”; printf “°C \t ” ; printf “$desc”; printf “\n”;

}

# WEATHER SECTION #

Location 1;

cd /JOUWLOCATIE/Weather/Icon/;

ForecastNow 1;

cd /JOUWLOCATIE/Weather/Push/;

Condition 1;

# FORECAST SECTION #

echo “”;

Forecast 2;

Forecast 3;

Forecast 4;

Bovenaan deze script lees je het volgende: “http://weather.yahooapis.com/forecastrss?w=WOEID&u=c” ga naar http://woeid.rosselliot.co.nz vul je woonplaats in en kopieer het getal wat je achter je woonplaats zien (zie foto) en plak waar WOEID staat. Dit getal is dus de WOEID.

WOEID

Bij Location 1 en ForecastNow 1 verander je de locatie waar je de map naartoe is gekopieerd, in de script die je onderaan vindt is dit dropbox. Is dit allemaal aangepast open de script in de map en pas deze aan.

De script voor de WeatherForecast.glet is als volgt:  file://EIGENLOCATIE/Weather/Icon/temp.png

Om de weericoon zichtbaar te maken pas je de WeatherImage.glet aan met de volgende script: file:///EIGENLOCATIE/Weather/Icon/temp.png

De beide scripts hierboven hoef je alleen aan te passen, bij “EIGENLOCATIE” plak je de locatie waar de map zich bevindt.

De actuele weer is de script die je eerder aangepast heb, de script in totaal is met een 4 daagse voorspeling inclusief de plaatsnaam. De script was aardig aan pasbaar dus hier het weer met 4 daagse voorspelling en met locatie:

Wil je de meerdaagse voorspelling er niet bij hebben delete het volgende in de script en sla het op.

Forecast() {

f=$(echo “$WEATHER” | grep “yweather:forecast” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

day=$(echo “$f” | head -1);

low=$(echo “$f” | head -3 | tail -1);

high=$(echo “$f” | head -4 | tail -1);

desc=$(echo “$f” | head -5 | tail -1);

printf “$day”; printf “. \t “; printf “$low” ; printf “°C – “; printf “$high”; printf “°C \t ” ; printf “$desc”; printf “\n”;

}

Ook de locatie kan je simpel verwijderen, de volgende deel van de script weer deleten en opslaan.

Location() {

f=$(echo “$WEATHER” | grep “yweather:location” | head -$1 | tail -1 | grep -o ‘”[0-9a-zA-Z. ]*”‘ | sed -e ‘s/^”//’  -e ‘s/”$//’);

city=$(echo “$f” | head -1 | tail -1);

printf “$city”;

printf “, “;

}

Natuurlijk verwijder je dit in geektool en niet in de script in de map.

 

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s