Anforderungen:
- Konkrete Webseite
- Jeden Morgen, obwohl der Laptop über Nacht geschlossen war (launchctl kann damit umgehen)
- Vordergrund - muss mir auffallen, auch wenn ich mehrere Bereiche/Desktops habe
- Neue Chrome-Instanz (nicht notwendig, aber wünschenswert)
Wenn ich es open http://superuser.com
auf einem Desktop/in einem Bereich versuche, in dem Chrome noch nicht geöffnet ist, sehe ich, dass die Fälle 3. und 4. fehlschlagen. Was passiert, ist, dass ein Tab innerhalb einer vorhandenen Chrome-Instanz geöffnet wird inein andererSpace/Desktop leise im Hintergrund.
Antwort1
Hier ist, was mir eingefallen ist. War einfacher als ich dachte.
Erstellen Sie das Shell-Skript daily_goals.sh:
#!/bin/bash
# this is needed to launch Chrome as a new window. Since it's a new window, it will open in the foreground in current space/desktop.
open -n -a Google\ Chrome
# this sleeps for 1 second. It's necessary because otherwise the website, called below, will open in existing Chrome window, which may be located in another desktop. I think sleeping lets the next `open` call find the newly opened Chrome window, and replace the new tab with the provided website.
sleep 1
# the website I provided.
open http://joesgoals.com
Erstellen /Library/LaunchDaemons/daily_goals.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>daily_goals</string>
<key>ProgramArguments</key>
<array>
<string>/Users/user/Work/daily_goals.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>07</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
</dict>
</plist>
Zu launchctl hinzufügen:
launchctl load -w /Library/LaunchDaemons/daily_goals.plist
Zusammengefasst startet dies joesgoals.com jeden Morgen um 7 Uhr in einer neu geöffneten Chrome-Instanz. Wenn der Laptop um 7 Uhr im Ruhezustand ist, sollte es JoesGoals öffnen, wenn der Laptop aus dem Ruhezustand wieder aufgenommen wird. Ich werde später ein Update machen, wenn ich irgendwelche Macken beim Wiederaufnehmen von OSX auf verschiedenen Desktops/Bereichen (mit oder ohne Chrome) feststelle. Ich hoffe, dass es kein Problem sein wird.