Как перенести приложение на фронт каждые 15 минут на Mac OS X Lion?

У меня есть бесплатное или дешевое приложение под названием Desktop Task Timer LE, которое я использую для отслеживания своего времени, когда я работаю над различными проектами. Я бы хотел, чтобы это всплывало в качестве приложения переднего плана каждые 15 минут, чтобы я не забыл остановить / изменить таймер после того, как перешел к другой задаче. Я знаю, что у меня может быть запуск приложения с использованием сценария в Automator или AppleScript, но я не знаю, как запустить этот скрипт каждые 15 минут. Я читал об использовании Launchd и iCal, но я все еще не уверен, как это сделать. (На самом деле, iCal, вероятно, прост, но я бы не хотел использовать его для этого.) Любые идеи?

Кроме того, еще одна особенность заключается в том, чтобы всплывать через 5 (или x) минут бездействия на компьютере. Не уверен, что это будет работать для моих нужд, но я бы хотел проверить его, если это возможно.

~ / Library / LaunchAgents / com.stackoverflow.open.desktop.task.timer.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.stackoverflow.open.desktop.task.timer</string> <key>ProgramArguments</key> <array> <string>open</string> <string>-a</string> <string>Desktop Task Timer LE</string> </array> <key>StartInterval</key> <integer>900</integer> <!-- every 900 seconds --> <key>RunAtLoad</key> <!--run on the 0th second--> <true/> </dict> </plist> 

launchctl load ~/Library/LaunchAgents/com.stackoverflow.open.desktop.task.timer.plist или выйти из системы.

Crontab -e

 */15 * * * * open -a "Desktop Task Timer LE" 
  • Вы можете использовать другой редактор, например EDITOR=nano crontab -e
  • crontab -l перечисляет текущие запланированные задачи
  • crontab /path/to/file обновляет таблицу из внешнего файла

Я вижу ответ Лри, и вы выбрали его в качестве своего правильного ответа. Я хотел показать вам другой подход, который также будет обрабатывать вторую «функцию», которую вы запросили. Этот метод также использует startd, но в нем используется applescript. Вот аппликация. Обратите внимание, что я проверил его с помощью TextEdit, поэтому просто измените это на ваше имя приложения.

 property lastRunDate : missing value set currentDate to current date if lastRunDate is missing value then set lastRunDate to currentDate set idleTime to (do shell script "ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF/1000000000; exit}'") as number -- check if the computer has been idle for 5 minutes or if 15 minutes has passed if idleTime is greater than or equal to (5 * 60) or (currentDate - lastRunDate) is greater than or equal to (15 * 60) then tell application "TextEdit" to activate set lastRunDate to currentDate end if 

Вот стартовый пласт. Обратите внимание, что это выполняется каждые 5 минут, и приложение applescript проверяет ваши 5-минутные критерии или ваши 15-минутные критерии. Вы можете видеть из этого, что я назвал applescript «FiveMinuteRunner.scpt» и разместил его на своем рабочем столе. Удачи 🙂

 <?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>StartInterval</key> <integer>300</integer> <key>ProgramArguments</key> <array> <string>osascript</string> <string>/Users/hmcshane/Desktop/FiveMinuteRunner.scpt</string> </array> <key>RunAtLoad</key> <true/> <key>Label</key> <string>com.HAMSoftEnginnering.FiveMinuteRunner</string> </dict> </plist> 

Почему вы не используете Growl для уведомления, это лучшее решение, не так ли?
Вы можете даже добавить к нему звуки.
http://growl.info/

Введите описание изображения здесь

Interesting Posts

Win xp wifi networking

Используйте другой центр, чем основной меридиан, при построении карты мира

Отсутствие файлов, когда Windows 7 возвращается из спящего режима с двойной загрузкой

Вычисление перестановок в F #

Ошибка ECONNREFUSED при подключении к mongodb от node.js

Почему Excel усекает мои 16-значные цифры?

Является ли шифрование файловой системы хорошим, если кто-то ворует мой компьютер, пока он включен?

Доступ к изображениям из приложения «Картинки» в приложении для Android

Как я могу использовать свой SSD в качестве диска кеша ReadyBoost?

Ошибка компилятора: «Инициализатор не является константой времени компиляции»

Как сделать Ubuntu VM в VirtualBox доступным из Интернета?

Преобразование HttpPostedFileBase в байт

Неинициализированная константа ActiveSupport :: Зависимости :: Mutex (NameError)

Метод перегрузки web api на основе типа параметра

-webkit-margin добавляет нежелательные поля в тексты

Давайте будем гением компьютера.