Допустим, у меня активен Safari, и я хочу переключаться между его открытыми окнами, нажимая значок закрепления Safari (вместо нажатия cmd+>).
Можно ли как-то это сделать?
В Dock.app нет кода для этого. Команда+` - это обычный способ циклически проходить через открытые окна приложения. Если вы хотите выполнить цикл, щелкнув значок док-станции, вы можете написать AppleScript, чтобы нажать эту клавишу, и поместить его в док-станцию рядом с Safari.
tell application "System Events"
keystroke "`" using {command down}
end tell
Поместите вышеперечисленное в редактор AppleScript и сохраните его как приложение. Он не будет работать, если мы не предотвратим его кражу фокуса, что можно сделать, щелкнув правой кнопкой мыши по пакету приложения и отобразив содержимое пакета, откройте Contents/Info.plist, а затем добавьте ключ LSBackgroundOnly (приложение - только фон) с логическое значение 1. Добавьте его в док и щелкните по нему, чтобы выполнить это нажатие клавиши. Это будет работать для любого приложения.
Мне немного странно, что вы думаете, что это необходимо или возможно совершенно неожиданно. Есть ли что-то большее, что вы пытаетесь сделать с этим?
Требуемое поведение может быть достигнуто путем замены значка Safari на док-станции следующим AppleScript (по примеру NReilingh), сохраненным как приложение:
tell application "Safari"
activate
end tell
tell application "System Events"
keystroke "`" using {command down}
end tell
Это сфокусирует Safari и переключит его активные окна. Если Safari не открыт, он будет открыт в первый раз, поэтому он работает так же, как и обычный значок Safari.
Чтобы завершить работу, вам нужно отредактировать свойства скрипта - щелкните правой кнопкой мыши приложение скрипта в Finder и выберите «Показать содержимое пакета», затем откройте Info.plist в разделе «Содержимое».
Теперь у вас должна быть иконка в доке, похожая на Safari, но с добавленным циклическим переключением окна с последующими щелчками - если вы назвали скрипт Safari, никто не должен заметить никакой разницы с оригиналом.
Вы можете щелкнуть правой кнопкой мыши на значок док-станции, и в меню будут перечислены все открытые окна приложений.
"Cmd>"?
Почему бы не использовать "Cmd` "(обратная клавиша, клавиша над вкладкой), которая является стандартной для циклического переключения между окнами для любого приложения? Если нет, то вы хотите "привязать" к чему-то, что вы можете одним щелчком мыши?
Редактировать: простой встроенный подход, состоящий только из мыши, состоит в том, чтобы установить "Горячий угол" в Системных настройках, чтобы показать все окна приложений, затем вы можете нажать на тот, который вам нужен. Но это не "цикл".