Відкрийте додаток на повноекранному екрані через Terminal


13

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


Це Lion / MTN Lion повноекранний режим, або вікно "збільшене"?
MrDaniel

повноекранний лев
ABLX

Відповіді:


12

Ось:

/ usr / bin / osascript -e 'скажіть програму "Safari"' -e "активувати" -e "скажіть програмі" Системні події "'-e' натискання клавіш" f "за допомогою {управління вниз, команда вниз} '-е" кінець сказати "-е" закінчити, сказати "

Ось це в більш чіткому вигляді (але ви не можете його запустити таким чином):

/usr/bin/osascript -e "tell application \"Safari\"" 
-e "activate"
-e "tell application \"System Events\""
-e "keystroke \"f\" using {control down, command down}"
-e "end tell"
-e "end tell"

І це все як відформатований AppleScript:

tell application "Safari"
    activate
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Він працює, попередньо відкривши вікно Safari, якщо воно наразі не відкрите. Потім він імітує натискання клавіші Control ⌃- Command ⌘-, Fяке повідомляє вікні Safari стати повноцінним екраном.

Якщо ви хочете зробити вікно максимальним розміром, воно може бути, не перетворюючись на повний екран (тобто займаючи все місце під панеллю меню вгорі):

tell application "Finder"
    set desktopSize to bounds of window of desktop
end tell

tell application "Safari"
    activate
    set bounds of window 1 to desktopSize
end tell

Що б це стало в Терміналі:

/ usr / bin / osascript -e "скажіть програму \" Finder \ "" -e "встановіть desktopSize до меж вікна робочого столу" -e "кінця скажіть" -e "скажіть програму \" Safari \ "" -e "активуйте "-e" встановити межі вікна 1 на desktopSize "-e" end Tell "

Для Chrome зробіть це:

tell application "Google Chrome"
    activate
    make new window
    tell application "System Events"
        keystroke "f" using {control down, command down}
    end tell
end tell

Тож би це було в Терміналі:

/ usr / bin / osascript -e "скажіть програму \" Google Chrome \ "" -e "активуйте" -e "зробіть нове вікно" -e "скажіть програму \" Системні події \ "" -e "натискання клавіш \" f \ "за допомогою {керування вниз, команда вниз}" -е "закінчення сказати" -е "кінця сказати"

Сподіваюся, це допомагає!


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

@ABLX Вам потрібно змінити натискання клавіші на будь-який додаток, яке ви хочете отримати на повноекранному екрані - з якими програмами ви працюєте?
Cajunluke

@qegal Я вірю на весь екран - він згадував повний екран Lion у коментарях до запитання.
Cajunluke

вінота та хром. це має бути
повний

aww моя провина. evernotes хочуть ^ + команда + f.
ABLX

2

Це не працюватиме з програмами, які не використовують вітчизняні повноекранні вікна, але повинні працювати з деякими, які не використовують стандартний ярлик для введення на весь екран. Кілька додатків мають різні назви процесів та назви програм.

set a to "Notes"
set bid to id of application a
tell application a
    reopen -- open a new default window if there are no windows
    activate -- make frontmost
end tell
tell application "System Events" to tell (process 1 where bundle identifier is bid)
    click (button 1 of window 1 where subrole is "AXFullScreenButton")
end tell

Це рішення було ефективним, щоб змусити Polycom RealPresence Desktop на весь екран при вході в систему OS X 10.10.5, дякую!
PEM8000

1

Ось інструкції для Google Chrome. (Це відкриє вікно анонімного перегляду на весь екран.)

Перейти до /Applications/Google Chrome.app/Content/MacOS/. Перейменуйте бінарний файл Google Chrome на щось інше (наприклад chrome-bin) та створіть на його місці виконуваний скрипт bash (назвіть сценарій так Google Chromeсамо, як оригінальний виконуваний файл).

#!/bin/bash
open chrome-bin --new --args -incognito

osascript -e "tell application \"Google Chrome\"" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

Тепер, кожного разу, коли ви запускаєте Google Chrome, він запускає повноекранний режим в режимі анонімного перегляду. Я використовую режим інкогніто, але якщо ви цього не хочете, просто видаліть -incognitoпрапор.


1
В ОП нічого не згадується про Google Chrome.
Cajunluke

1
Крім того, режим інкогніто не допоможе жодному випадку, коли справа доходить до шкідливого коду - він просто не зберігає та не дозволяє отримати доступ до файлів cookie та інших локальних схем збереження (під керуванням браузера). Насправді плагіни (як Flash) можуть зберігати та отримувати доступ до власних файлів cookie навіть у режимі інкогніто.
Cajunluke

+1 за хороший хакер, навіть якщо Chrome не запитували про це
myhd

1

ви можете використовувати перегляд для відкриття довільних додатків у повноекранному режимі. Він встановлює шість команд зручності, чотири з яких відкривають найпоширеніші браузери в повноекранному режимі :

Запустіть Chrome Canary в режимі презентації:

$ ca

Запустіть Chrome у режимі презентації:

$ ch

Запустіть Firefox у повноекранному режимі:

$ ff

Запустіть Safari в повноекранному режимі:

$ sf

Щоб запустити що-небудь у повноекранному режимі , запустіть команду ccf(яблучний скрипт, що надсилає клавішу CMD + CTRL + f) після звичайного, openщоб переключити його в режим повноекранного режиму:

$ open -a Calendar; ccf

Якщо у додатку є додатковий режим у повноекранному режимі, ярлик якого CMD + Shift + f (як це робить Chrome), скористайтеся:

$ open -a "Google Chrome"; csf

Порада . Якщо програма завантажується повільно, дайте їй можливість повністю завантажити, вставивши паузу перед запуском ярлика клавіатури:

$ open -a "Google Chrome"; sleep 3; csf

1

Ось додаток до відмінної відповіді @ pasawaya. Якщо ви хочете виконати свій яблучний скрипт з командного рядка, вам не потрібно вводити кожен рядок окремо за допомогою -eпараметра.

osascript -e 'multi-line-applescript here'також працюватиме. Приклад:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.