Используйте AppleScript для переключения настроек - PullRequest
0 голосов
/ 05 мая 2020

Я начну с того, что скажу, что создание сценариев / кодирование / разработка не входит в мою компетенцию, поэтому заранее извиняюсь за мой синтаксис / общее отсутствие того, что я делаю. Action, который запускается, и AppleScript, который я написал / сколотил вместе.

Цель состоит в том, чтобы включить и выключить режим «Не беспокоить», а также включить или выключить неопределенный сеанс в приложении Amphetamine, чтобы мой компьютер не переходил в спящий режим. По сути, это тумблер для до и после запуска презентации на моем компьютере ..

Вот что у меня:

tell application "Amphetamine"

if session is active end session

else

start new session

ignoring application responses
    tell application "System Events" to keystroke "d" using {command down, option down, control down}
end ignoring

Я получаю ошибки, которых я не понимаю . «Ожидается« конец »или« начало », но обнаружен конец сценария». Одно замечание. Все эти нажатия клавиш для DND были предложением, которое я нашел здесь, в Stack Overflow, в котором говорилось: создайте сочетание клавиш для DND и вызовите его через Apple Script.

Я предполагал, что мой сценарий говорит –– - Привет, если Amphetamine выполняет сеанс, выключите его, в противном случае начните сеанс. И, кстати, просто переключите DND в состояние, противоположное текущему.

Я открыт для любых предложений, чтобы получить желаемый эффект.

Спасибо!

1 Ответ

0 голосов
/ 18 мая 2020

Вот один из способов сделать это, используя ваш метод переключения Не беспокоить с помощью сочетания клавиш и встроенной программы caffeinate, которая делает то, что Амфетамин делает (и я не удивлюсь, если это то, что он использует под капотом).

Screenshot of Automator Workflow

Это довольно занято, чтобы посмотреть, но нет на самом деле слишком много всего происходит. Действие Run Shell Script включает / выключает caffeinate, инвертируя предыдущее состояние. Когда он выключен, ваша система и дисплей будут вести себя как обычно; когда он включен, система и дисплей не могут бездействовать или переходить в спящий режим - для дисплея это означает, что он останется включенным, если вы не решите его выключить. Например, у меня на MacBook есть горячий угол, так что моя мышь может выключить дисплей, переместившись в этот угол; когда моя машина «с кофеином» , я могу выключить дисплей, если захочу, с помощью горячего угла и закрыть крышку раскладушки, но машина все равно будет работать в автономном режиме с немного меньшим риском перегрева .

Действие Run AppleScript не получает никаких входных данных от сценария оболочки - вы можете видеть, что они не подключены. Однако они все еще работают последовательно. Таким образом, после переключения статуса кофеина это используется для установки режима «Не беспокоить» в соответствии с кофеином, то есть, если кофеин включен, режим «Не беспокоить» активируется, если это еще не сделано; если без кофеина, режим «Не беспокоить» деактивируется, если он активен. В обоих случаях появляется предупреждение, так как уведомления не будут отображаться при активном режиме «Не беспокоить». Вы можете удалить код, относящийся к отображению предупреждения, если он слишком навязчивый - тонкий признак того, что режим «Не беспокоить» активен, - значок центра уведомлений на панели задач будет затемнен.

Вот копия рабочий процесс можно получить с GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...