OSX / launchctl: Wie öffne ich jeden Morgen eine bestimmte Website in einer neuen Instanz von Chrome im Vordergrund?

569
barrrista

Bedarf:

  1. Spezifische Website
  2. Jeden Morgen, obwohl der Laptop über Nacht geschlossen ist (launchctl kann damit umgehen)
  3. Vordergrund - muss mir auffallen, auch wenn ich mehrere Räume / Desktops habe
  4. Neue Instanz von Chrom (nicht notwendig, aber vorzuziehen)

Wenn ich versuche, open http://superuser.comin einem Desktop / Space, in dem Chrome nicht bereits geöffnet ist, nicht die Fälle 3. & 4 zu scheitern. Was passiert, ist, dass sich eine Registerkarte in einer vorhandenen Chrome-Instanz in einem anderen Space / Desktop im Hintergrund öffnet Hintergrund.

1
Der Versuch, dieses fanatische Abzeichen zu bekommen, wie? ;) Insane vor 8 Jahren 1
Abgesehen davon, es auf den Vordergrund zu bringen, ist meine Bitte nicht zu verrückt. Ich wollte nur alle meine Anforderungen im Voraus angeben, um klar zu sein. barrrista vor 8 Jahren 0

1 Antwort auf die Frage

0
barrrista

Hier ist was ich mir ausgedacht habe. 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> 

Zum launchctl hinzufügen:

launchctl load -w /Library/LaunchDaemons/daily_goals.plist

Zusammenfassend lässt sich sagen, dass dies joesgoals.com jeden Morgen um 7 Uhr in einer neu geöffneten Chrome-Instanz gestartet wird. Wenn der Laptop um 7 Uhr morgens schläft, sollte er JoesGoals öffnen, wenn der Laptop aus dem Ruhezustand versetzt wird. Ich werde das Update später aktualisieren, wenn ich Macken sehe, die osx in verschiedenen Desktops / Leerzeichen (mit oder ohne Chrome) fortsetzen. Ich hoffe, es wird kein Problem sein.