Существует ли ярлык для отправки текущего активного окна на заднюю часть экрана, при этом он остается открытым (чтобы он оказался «под» всеми остальными открытыми окнами)?
Существует ли ярлык для отправки текущего активного окна на заднюю часть экрана, при этом он остается открытым (чтобы он оказался «под» всеми остальными открытыми окнами)?
Ответы:
Краткий ответ: нет , Apple не предоставляет API, который позволяет изменять индекс окна приложения, кроме как путем переноса окна вперед (индекс 1). Нет элегантных решений . Но:
Длинный ответ: Да , вы можете использовать AppleScript, чтобы эффективно переместить окно в конец стека окон с поддержкой AppleScript, собрав список окон, а затем быстро переместив каждое из них ( кроме самого переднего) вперед, оставляя выбранное окно сзади.
Вот пример AppleScript, который отправляет самое переднее окно Finder сзади.
tell application "Finder"
set winList to every window whose visible is true
if not winList = {} then
repeat with oWin in (items 1 through -2 of reverse of winList)
set index of oWin to 1
end repeat
end if
end tell
Этот скрипт основан на решении JMichaelTX, которое обсуждается на форуме KeyboardMaestro.
Перестановка происходит невероятно быстро, но в редакторе сценариев вы можете проверить, как он работает, оставив «506» внизу и вытолкнув «502-505» таким образом, чтобы сохранить их порядок:
get every window whose visible = true
--> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
--> 1
set index of Finder window id 503 to 1
--> 1
set index of Finder window id 504 to 1
--> 1
set index of Finder window id 505 to 1
--> 1
Вы можете сопоставить этот AppleScript со службой или сочетанием клавиш, либо а) вставив сценарий в действие «Выполнить AppleScript» внутри службы Automator, либо б) с помощью средства запуска (Alfred, Keyboard Maestro и т. Д.). Подробнее о назначении клавиатуры Applescript см .: Как назначить сочетание клавиш для написанного мной AppleScript?
Это может удовлетворить потребности ОП - это неясно из исходного поста. Это решение также может быть распространено на несколько приложений с поддержкой AppleScript. Однако я не знаю решения, позволяющего эффективно работать с сочетанием окон с возможностью сценариев и без сценариев, поскольку в AppleScript System Events
адресуемые окна для приложений без сценариев не имеют set index
глагола / свойства. Существует действие «AXRaise» для некоторых окон, когда вспомогательные устройства / специальные возможности включены, но это также не относится ко всем окнам. Существуют хитроумные хаки, которые включают в себя обход каждого активного приложения и показ / скрытие или сворачивание / восстановление окон, но это беспорядок.
Связанные обсуждения:
Ваш вопрос не очень понятен, но если вам нужен ярлык для циклического перебора всех окон текущего активного приложения, вы сможете сделать это с помощью Command~сочетания клавиш.
~Ключ обычно находится слева от 1клавиши.
Просто чтобы уточнить, что Command~делает комбинация клавиш, это циклически перебирает все окна текущего приложения, в котором вы находитесь. Например, если вы используете MS Word и у вас открыто три документа, он будет циклически перебирать эти три документа.
Однако Command~сочетание клавиш не циклически переключается между вкладками. Например, если у вас открыт Safari с тремя окнами, а в каждом окне открыто пять вкладок, использование этого ярлыка будет циклически проходить через три окна, а не через отдельные вкладки.
Другой вариант, который может достичь того, что вы хотите, это CommandMсочетание клавиш. Однако это сводит к минимуму текущее активное окно дока, поэтому я подозреваю, что это не то, что вам нужно.
Если я неправильно понял ваш вопрос, уточните, пожалуйста.