Як я можу піднести вікно до передньої частини, не фокусуючи його за допомогою Applescript в OS X 10.8


9

Я хочу піднести вікно (наприклад, QuickTime) вперед, не фокусуючи його . Я можу це зробити в OS X 10.7, використовуючи наступний код в Applescript.

tell application "System Events"
    set visible of process "QuickTime Player" to true
end tell

Це еквівалент Python.

from ScriptingBridge import *
process = SBApplication.applicationWithBundleIdentifier_('com.apple.systemevents').processes().objectWithName_('QuickTime Player')
process.setVisible_(True)

Але це не працює після того, як я оновив до OS X 10.8. Чи є якийсь спосіб змусити це працювати?

Відповіді:


12

Якщо програма має відкриті вікна, це повинно підняти їх над вікнами інших програм, але зберегти їх нижче, ніж у поточному додатку.

tell application "System Events"
    perform action "AXRaise" of window 1 of process "QuickTime Player"
end tell

Це те, що я хочу. Дякую. До речі, де можна знайти документацію дій?
Yuxiao Zeng

1
Ролі та ознаки доступності Довідка: Дії . Ви можете побачити, які дії елементів інтерфейсу користувача підтримують із actions ofінспектором доступності або за допомогою.
Лрі

1
AXRaise заборонено в ОС X 10.10 (Yosemite) та 10.11 (El-Capitan), якщо ви не додали викликову програму (ту, що виконує AppleScript), до розділу "Доступність" на вкладці "Конфіденційність" на вкладці "Безпека та конфіденційність" "Панель налаштувань системи. Це означає, що вперше ви спробуєте це зробити - вам буде представлений системний інтерфейс, який запропонує взяти вас за налаштування. Я не можу використовувати його через об'їзд у користувальницькій роботі. Чи є інший спосіб підняти вікно без використання AX (API доступності) ???
Motti Shneor

-1

Отже, з того, що я зібрав з вашої публікації, ви намагаєтесь привести програму до перегляду за допомогою Applescript? Якщо так, код цього в Mountain Lion насправді досить простий! Ось:

tell application "Quicktime Player"
activate
end tell

Я сподіваюся, що це працює! Якщо це не те, що ви хотіли, дайте мені знати, і я оновлю це для вас. :)


2
Ну, активація фокусуватиме Quicktime, тому це не те, що я хочу. Я маю на увазі, якщо ви відкриєте додаток Applescript, введіть свій код і запустіть його, фокус вікна буде переміщений у Quicktime. Як результат, ви не можете ввести жоден код, перш ніж, наприклад, натиснути вікно Applescript.
Yuxiao Zeng
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.