1

Допустим, у меня активен Safari, и я хочу переключаться между его открытыми окнами, нажимая значок закрепления Safari (вместо нажатия cmd+>).

Можно ли как-то это сделать?

4 ответа4

1

В Dock.app нет кода для этого. Команда+` - это обычный способ циклически проходить через открытые окна приложения. Если вы хотите выполнить цикл, щелкнув значок док-станции, вы можете написать AppleScript, чтобы нажать эту клавишу, и поместить его в док-станцию рядом с Safari.

tell application "System Events"
    keystroke "`" using {command down}
end tell

Поместите вышеперечисленное в редактор AppleScript и сохраните его как приложение. Он не будет работать, если мы не предотвратим его кражу фокуса, что можно сделать, щелкнув правой кнопкой мыши по пакету приложения и отобразив содержимое пакета, откройте Contents/Info.plist, а затем добавьте ключ LSBackgroundOnly (приложение - только фон) с логическое значение 1. Добавьте его в док и щелкните по нему, чтобы выполнить это нажатие клавиши. Это будет работать для любого приложения.

Мне немного странно, что вы думаете, что это необходимо или возможно совершенно неожиданно. Есть ли что-то большее, что вы пытаетесь сделать с этим?

0

Требуемое поведение может быть достигнуто путем замены значка 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 в разделе «Содержимое».

  • Вам нужно добавить ключ LSBackgroundOnly (приложение только для фона) со значением Checked (так как без этого ключа циклирование не работает должным образом, а значок просто переключает два из самых последних окон).
  • Чтобы получить подлинный значок Safari, вы можете скопировать / вставить файл compass.icns из Safari.app's Contents | Ресурсы для соответствующего места нового скрипта. После этого измените свойство файла Icon, чтобы оно указывало на новый значок.
  • После изменений сохраните файл списка свойств.
  • Также может понадобиться перезаписать скрипт.

Теперь у вас должна быть иконка в доке, похожая на Safari, но с добавленным циклическим переключением окна с последующими щелчками - если вы назвали скрипт Safari, никто не должен заметить никакой разницы с оригиналом.

0

Вы можете щелкнуть правой кнопкой мыши на значок док-станции, и в меню будут перечислены все открытые окна приложений.

0

"Cmd>"?

Почему бы не использовать "Cmd` "(обратная клавиша, клавиша над вкладкой), которая является стандартной для циклического переключения между окнами для любого приложения? Если нет, то вы хотите "привязать" к чему-то, что вы можете одним щелчком мыши?

Редактировать: простой встроенный подход, состоящий только из мыши, состоит в том, чтобы установить "Горячий угол" в Системных настройках, чтобы показать все окна приложений, затем вы можете нажать на тот, который вам нужен. Но это не "цикл".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .