Archive for Januar, 2006

Server ready

Posted in Applescript, Calendar on Januar 25th, 2006

Im Artikel Remotetunes habe ich den headless laufenden Mac-mini erwähnt der bei mir v.a. als iTunes-server dient. Ab und zu schalte ich den Rechner mal aus, ist ja kein Hochverfügbarkeitsserver. Ich fand es allerdings doch immer etwas lästig nicht zu wissen ob v.a. Mail (das ich z.T. zur Fernsteuerung des Rechners nutze) und iTunes schon gestartet sind. Also kommt auf dem Server folgendes kleines Script zum Einsatz (als Programm gespeichert und in die Startobjekte gepackt):


tell application "Finder"
process "Mail" exists
if true then
set theMailinfo to "Mail running"
else
set theMailinfo to "Mail not running"
end if
process "iTunes" exists
if true then
set theiTunesinfo to "iTunes running"
else
set theiTunesinfo to "iTunes not running"
end if
end tell
set remMachine to "eppc://User:Passwort@Zielrechner"
using terms from application "Quicksilver"
tell application "Quicksilver" of machine remMachine
show large type "Rechnername is up with " & theMailinfo & " and " & theiTunesinfo
end tell
end using terms from

So erfahre ich auf meinem Arbeitsrechner ganz bequem wenn der Server so weit ist um Befehle zu empfangen.
Nebenbei stösst der Server noch ein Automountscript auf dem Arbeitsrechner an dass mir alle momentan bereitgestellten Volumes mountet.

Ping als Trigger

Posted in Applescript, Calendar on Januar 23rd, 2006

Ausgehend von einem interessanten Thread bei Apfeltalk.de1 habe ich mal ein bisschen mit ping als Trigger für weitere AS-Aktionen gespielt.

try
set t to do shell script "ping -c 1 127.0.0.1"
if t contains "0% packet loss" then display dialog "Yep"
end try

Mit dem Rückgabewert von ping lässt sich leicht jede weitere Aktion ansteuern, wie z.B. in dem Thread das Mounten von Servervolumes. Ist der Server nicht erreichbar stirbt das Script still und leise und man wird nicht weiter behelligt, ist das Script erfolgreich werden die gewünschten Volumes gemountet. Ein ideales Script für die Startobjekte oder zur Ausführung wenn der Rechner aus dem Schlaf geholt wird.

  1. 1Apfeltalk.de

Zeitzonen aus iCal entfernen

Posted in Calendar, Software on Januar 20th, 2006

Ich habe letztens in iCal eine weitere Zeitzone angelegt, und wollte diese dann wieder löschen da ich sie nicht mehr gebraucht habe. Leider hat Apple keine offensichtliche Möglichkeit eingebaut eine einmal angelegte Zeitzone auch wieder zu löschen (oder ich war zu doof das zu finden).
Blieb also nur folgender Umweg:

Die Datei ~/Library/Preferences/com.apple.ical.plist öffnen, dort nach dem Array “PersistentMenu-lastUsedTimeZones” suchen, es öffnen, und dann die gewünschten Siblings (vermutlich meist nicht die 0) einfach löschen. Datei speichern, iCal neu starten, ungewünschte Zeitzonen sind verschwunden.

Den Artikel Zeitzonen aus iCal entfernen

Remotetunes

Posted in Applescript, Calendar on Januar 9th, 2006

Bei mir läuft ein Mac-mini headless v.a. als iTunes-server.
Den fernzusteuern gibt es viele Möglichkeiten, aber keine hat mir wirklich gefallen, also habe ich folgende Lösung basierend auf einem Script von Doug´s Scripts1 welches eine Auswahl in eine neue Playlist kopiert, gebastelt:

set a to text returned of (display dialog "Enter text to search for:" default answer "" default button 2)
set remMachine to "eppc://User:Passwort@Host"
using terms from application "iTunes"
tell application "iTunes" of machine remMachine
delete playlist "AAA"
set searchString to a
set searchResult to search library playlist 1 for searchString
if searchResult is not {} then
set newPlaylist to (make playlist with properties {name:"AAA"})
repeat with t in searchResult
duplicate t to newPlaylist
end repeat
set view of front browser window to newPlaylist
else
display dialog "No result." buttons {"Cancel"} default button 1
end if
play playlist "AAA"
end tell
end using terms from

Ich habe einmal die Playlist AAA von Hand angelegt, danach macht alles das Script.
Das Löschen der Playlist AAA am Anfang des Scripts hat den Zweck das iTunes nicht nach Beendigung des Scripts eine weitere AAA-Liste hinzugefügt hat. So wird also immer die Liste AAA benutzt um die ausgewählten Titel abzuspielen.
Die Eingabe im Dialogfeld ist frei. Gebe ich einen konkreten Songnamen an, so wird nur dieser gespielt (und alle weiteren die evtl. exakt den gleichen Namen haben > Coverversionen!). Gebe ich nur einen Künstlernamen an, so wird alles gespielt was von dem Künstler verfügbar ist.

Das Ganze natürlich ausgelöst durch einen Quicksilvertrigger. Und damit ich auch angezeigt bekomme was gerade läuft kommt dieses Script zum Einsatz:

set remMachine to "eppc://User:Passwort@Host"
using terms from application "iTunes"
try
tell application "iTunes" of machine remMachine
set a to artist of current track
set b to name of current track
set c to album of current track
set d to "Es läuft gerade: " & b & " von " & a & " vom Album " & c
end tell
end try
end using terms from
tell application "Quicksilver"
show large type d
end tell

  1. 1Doug´s Scripts

Dashboardwidget für Wordpress

Posted in Calendar, Software on Januar 8th, 2006

Diesen Eintrag schreibe ich gerade mit dem WP-Dashboard-Widget.
Wenn alles korrekt läuft sollte er in der Rubrik Software auftauchen. Mal sehen.
Edit: Hat geklappt wie erwartet. Das Widget kann man bei Dashboardwidgets.com1 herunterladen.

  1. 1Dashboardwidgets.com
Den Artikel Dashboardwidget für Wordpress