Benutzt hier jemand Geektool zum Aufhübschen seines Desktops ? - Dann hier ein kleines Geschenk für Euch:
Ich habe Anfang des Jahres ein Script geschrieben, welches es möglich macht, dass nach dem Hochfahren des Mac der Startup-Sound gespielt wird. Damit nicht genug. Man wird ausserdem je nach Tageszeit mit "Guten Morgen 'Anwendername' - Guten Tag 'Anwendername ' - Guten Abend 'Anwendername' begrüßt. Dann.. System gestartet - Es ist jetzt 'Ausgabe Uhrzeit'
Je nachdem welche Stimme im System für die Sprachausgabe eingestellt ist, erfolgt die Ausgabe von einer weiblichen oder von einer männlichen Stimme.
Hier das Script zum herunterladen:
http://www.wellmann-it.de/down…s/welcome_script_glet.zip
(entpacken und einfach mit Doppelklick starten - Geektool muss installiert sein)
Den Mac Startup-Sound bekommt ihr hier:
https://archive.org/details/AppleMacBootUpSound
Ich wollte das eigentlich noch weiter entwickeln und anschließend die Termine für den Tag per Sprache ausgeben lassen. Dazu habe ich mit icalBuddy und der Umleitung der Ausgabe zu say experimentiert. Es aber nicht hin bekommen. - Hat da vielleicht jemand eine Idee wie das klappen könnte ? - Wenn ein Mac schon sprechen kann dann doch bitte das auch in Perfektion nutzen ![]()
01.08.2018 - Update:
Da mir die Laufzeiten der Befehle einen Streich spielten, klappte das mit dem zusätzlichen Vorlesen der Termine für den tag nicht.
Die Lösung: man muss hinter jede Befehlszeile die etwas länger brauchen könnte einfach ein & anhängen. Dann wird dies im Hintergrund ausgeführt.
Hier nun das fertige Script (die Dateipfade für die Audio-Dateien müsst Ihr nur Eurer Umgebung anpassen):
- # Variable fuer Datum
- Time=`date +%H:%M`
- # Variable fuer Benutzername
- # der Name kann auch durch `whoami` ersetzt werden, um den angemeldeten Benutzernamen auszulesen
- User=Andreas
- ######
- ###
- # Terminkalender auslesen mit dem Befehlszeilen-Dienstprogramm ** icalBuddy (http://hasseg.org/icalBuddy/) **
- # ohne Eigenschaftsnamen (-npn), ohne Kalendernamen(-nc) und mit Ereigniseigenschaften (-iep) sowie formatierten Start/Ende Zeitangaben (-tf) mit einem "ab" vor dem Terminstart (-ps)
- # jeweils ab aktueller Uhrzeit (-n)
- # mögliche Parameter:
- # -V Print version number (no <command> needed)
- # -u Check for updates to self online (no <command> needed)
- # -sc,-sd,-sp Separate by calendar, date or priority
- # -f Format output
- # -nc No calendar names
- # -nrd No relative dates
- # -npn No property names
- # -n Include only events from now on
- # -sed Show empty dates
- # -uid Show event/task UIDs
- # -eed Exclude end datetimes
- # -ea Exclude all-day events
- # -li Limit items (value required)
- # -std,-stda Sort tasks by due date (stda = ascending)
- # -tf,-df Set time or date format (value required)
- # -po Set property order (value required)
- # -ps Set property separators (value required)
- # -b Set bullet point (value required)
- # -ab Set alert bullet point (value required)
- # -ss Set section separator (value required)
- # -ic,-ec Include or exclude calendars (value required)
- # -iep,-eep Include or exclude event properties (value required)
- # -itp,-etp Include or exclude task properties (value required)
- # -cf,-lf Set config or localization file path (value required)
- # -nnr Set replacement for newlines within notes (value required)
- ###
- # [[slnc 800]]: setzt eine Sprachpause vor jeden Eintrag, damit es besser klingt
- ######
- termine=`(/usr/local/bin/icalBuddy -npn -nc -iep "title,datetime" -ps "| ab |" -po "title,datetime" -tf "%H:%M" -df "%RD" -eed -ea -std -n -b "[[slnc 800]]:" eventsToday)`
- # Start-Sound abspielen (Original iMac Aufstart-Sound)
- afplay ~/Documents/Geektool/willkommen/MacStartUp.mp3
- # Tageszeitabhängige Begrüßung über Sprachausgabe - Umleitung in Datei im Hintergrund, um Laufzeiten von say nicht zu stören
- if [ $Time '<' 12:00 ]; then
- say -v petra "Guten Morgen $User. System gestartet. Es ist jetzt $Time." -o /Users/Shared/gutenmorgen.aiff &
- afplay /Users/Shared/gutenmorgen.aiff &
- # Warte bis Begrüßung durchgelaufen
- sleep 6;
- say -v petra "Deine Termine heute:" $termine & -o /Users/Shared/termine.aiff &
- afplay /Users/Shared/termine.aiff &
- fi
- if [ $Time '>' 12:00 ] && [ $Time '<' 16:00 ]; then
- say -v petra "Guten Tag $User. System gestartet. Es ist jetzt $Time." -o /Users/Shared/gutentag.aiff &
- afplay /Users/Shared/gutentag.aiff &
- # Warte bis Begrüßung durchgelaufen
- sleep 6;
- say -v petra "Deine Termine heute:" $termine & -o /Users/Shared/termine.aiff &
- afplay /Users/Shared/termine.aiff &
- fi
- if [ $Time '>' 16:00 ]; then
- say -v petra "Guten Abend $User. System gestartet. Es ist jetzt $Time." -o /Users/Shared/gutenabend.aiff &
- afplay /Users/Shared/gutenabend.aiff &
- # Warte bis Begrüßung durchgelaufen
- sleep 6
- say -v petra "Deine Termine heute:" $termine & -o /Users/Shared/termine.aiff &
- afplay /Users/Shared/termine.aiff &
- fi
- # Script von A. Wellmann - www.wellmann-it.com 2018