Mở một ứng dụng ở chế độ toàn màn hình thông qua Terminal


13

Tôi tự hỏi liệu có thể mở một chương trình ở chế độ toàn màn hình Lion thông qua Terminal không. Tôi muốn viết một đoạn script ngắn khởi động một loạt các chương trình ở chế độ toàn màn hình, để tôi chỉ phải nhấp một lần để bắt đầu môi trường làm việc của mình.


Đây có phải là Chế độ toàn màn hình Lion / MTN Lion hay cửa sổ "phóng to" không?
MrDaniel

toàn màn hình sư tử
ABLX

Câu trả lời:


12

Đây là:

/ usr / bin / osascript -e 'nói với ứng dụng "Safari"' -e "kích hoạt" -e 'nói với ứng dụng "Sự kiện hệ thống"' -e 'gõ phím "f" bằng cách sử dụng {control down, ra lệnh}' -e " nói "-e" kết thúc "

Đây là một hình thức rõ ràng hơn (nhưng bạn không thể chạy nó theo cách này):

/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"

Và đây là định dạng AppleScript:

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

Nó hoạt động bằng cách mở cửa sổ Safari đầu tiên nếu cửa sổ này hiện không mở. Sau đó, nó mô phỏng Control ⌃- Command ⌘- Ftổ hợp phím mà nói với cửa sổ Safari để trở thành toàn màn hình.

Nếu bạn muốn làm cho cửa sổ có kích thước tối đa, nó có thể không trở thành toàn màn hình (tức là chiếm hết không gian bên dưới thanh menu ở trên cùng):

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

Cái nào sẽ trở thành cái này trong Terminal:

/ usr / bin / osascript -e "nói với ứng dụng \" Finder \ "" -e "đặt desktopSize thành giới hạn của cửa sổ của máy tính để bàn" -e "end Tell" -e "nói với ứng dụng \" Safari \ "" -e "kích hoạt "-e" đặt giới hạn của cửa sổ 1 thành desktopSize "-e" end Tell "

Đối với Chrome, hãy làm điều này:

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

Vì vậy, nó sẽ là cái này trong Terminal:

/ usr / bin / osascript -e "nói với ứng dụng \" Google Chrome \ "" -e "kích hoạt" -e "tạo cửa sổ mới" -e "nói với ứng dụng \" Sự kiện hệ thống \ "" -e "gõ phím \" f \ "bằng cách sử dụng {control down, ra lệnh}" -e "end Tell" -e "end Tell"

Hi vọng điêu nay co ich!


đã thử điều này, và nó đã giúp một chút. nó mở ứng dụng, nhưng toàn màn hình sẽ không hoạt động - jsut cho tôi một âm thanh lỗi. phải chạy tập lệnh hai lần để đi đến toàn màn hình
ABLX

@ABLX Bạn cần thay đổi tổ hợp phím cho bất kỳ ứng dụng nào bạn muốn toàn màn hình - bạn đang làm việc với ứng dụng nào?
Cajunluke

@qegal Tôi tin toàn bộ màn hình - anh ấy đã đề cập đến toàn màn hình Lion trong phần bình luận câu hỏi.
Cajunluke

evernote và chrome. nó phải là toàn màn hình sư tử
ABLX

aww lỗi của tôi evernotes muốn ^ + lệnh + f.
ABLX

2

Điều này sẽ không hoạt động với các ứng dụng không sử dụng cửa sổ toàn màn hình gốc, nhưng sẽ hoạt động với một số ứng dụng không sử dụng phím tắt tiêu chuẩn để vào toàn màn hình. Một vài ứng dụng có tên quy trình và tên ứng dụng khác nhau.

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

Giải pháp này rất hiệu quả để buộc Polycom RealPresence Desktop trên toàn màn hình khi đăng nhập trên hệ thống OS X 10.10.5, cảm ơn!
PEM8000

1

Dưới đây là hướng dẫn dành cho Google Chrome. (Điều này sẽ mở một cửa sổ Ẩn danh lên toàn màn hình.)

Đi đến /Applications/Google Chrome.app/Content/MacOS/ . Đổi tên nhị phân Google Chrome thành tên khác (như chrome-bin) và tạo tập lệnh bash có thể thực thi được (đặt tên tập lệnh Google Chromegiống như tệp thực thi ban đầu).

#!/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"

Giờ đây, mỗi khi bạn khởi chạy Google Chrome, nó sẽ khởi chạy toàn màn hình ở chế độ Ẩn danh. Tôi sử dụng chế độ Ẩn danh, nhưng nếu bạn không muốn điều đó, chỉ cần xóa -incognitocờ.


1
OP không đề cập bất cứ điều gì về Google Chrome.
Cajunluke

1
Ngoài ra, chế độ Ẩn danh sẽ không giúp ích gì khi nói đến mã độc - nó chỉ không lưu trữ hoặc cho phép truy cập vào cookie và các chương trình bảo trì cục bộ (do trình duyệt kiểm soát) khác. Trên thực tế, các plugin (như Flash) có thể lưu trữ và truy cập cookie của riêng chúng ngay cả trong chế độ Ẩn danh.
Cajunluke

+1 cho bản hack tuyệt vời ngay cả khi Chrome không được yêu cầu trong câu hỏi
myhd

1

bạn có thể sử dụng trình duyệt để mở các ứng dụng tùy ý ở chế độ toàn màn hình .. Nó cài đặt sáu lệnh tiện lợi, bốn trong số đó mở các trình duyệt phổ biến nhất trong toàn màn hình :

Khởi chạy Chrome Canary ở Chế độ trình bày:

$ ca

Khởi chạy Chrome ở Chế độ trình bày:

$ ch

Khởi chạy Firefox ở Chế độ toàn màn hình:

$ ff

Khởi chạy Safari ở Chế độ toàn màn hình:

$ sf

Để khởi chạy bất cứ thứ gì trong toàn màn hình , hãy chạy lệnh ccf(một applescript gửi tổ hợp phím CMD + CTRL + f) sau khi thường xuyên openchuyển nó sang chế độ toàn màn hình:

$ open -a Calendar; ccf

Nếu một ứng dụng có chế độ toàn màn hình bổ sung được viết tắt bởi CMD + Shift + f (như Chrome thực hiện), hãy sử dụng:

$ open -a "Google Chrome"; csf

Mẹo . Nếu một ứng dụng tải chậm, hãy cho nó cơ hội tải đầy đủ bằng cách chèn tạm dừng trước khi chạy phím tắt:

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

1

Đây là một bổ sung cho câu trả lời tuyệt vời của @ pasawaya. Nếu bạn muốn thực thi applescript của mình từ dòng lệnh, bạn không cần phải nhập từng dòng riêng biệt với -etùy chọn.

osascript -e 'multi-line-applescript here'cũng sẽ làm việc Thí dụ:

osascript -e 'tell application "Safari"
activate
  tell application "System Events"
    keystroke "f" using {control down, command down}
  end tell
end tell'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.