เปิดแอปแบบเต็มหน้าจอผ่าน Terminal


13

ฉันสงสัยว่าเป็นไปได้ไหมที่จะเปิดโปรแกรมในโหมดเต็มหน้าจอของ Lion ผ่านทาง Terminal ฉันต้องการเขียนสคริปต์สั้น ๆ ซึ่งเริ่มโปรแกรมมากมายในโหมดเต็มหน้าจอเพื่อที่ฉันจะต้องคลิกเพียงครั้งเดียวเพื่อเริ่มสภาพแวดล้อมการทำงานของฉัน


นี่เป็นโหมดเต็มหน้าจอ Lion / MTN Lion หรือหน้าต่าง "ซูม" หรือไม่
MrDaniel

แบบเต็มจอสิงโต
ABLX

คำตอบ:


12

นี่มันคือ:

/ usr / bin / osascript -e 'บอกแอปพลิเคชัน "Safari"' -e "เปิดใช้งาน" -e "บอกแอปพลิเคชัน" เหตุการณ์ของระบบ "'-e' การกดแป้นพิมพ์" f "โดยใช้ {control down, command down} '-e" end บอก "-e" end บอก "

ที่นี่มันอยู่ในรูปแบบที่ชัดเจน (แต่คุณไม่สามารถเรียกใช้วิธีนี้ได้):

/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

ซึ่งจะกลายเป็นสิ่งนี้ใน Terminal:

/ usr / bin / osascript -e "บอกแอปพลิเคชัน \" Finder \ "" -e "ตั้งค่าเดสก์ท็อปขนาดของหน้าต่างเดสก์ท็อป" -e "จบบอก" e "บอกแอปพลิเคชัน \" Safari \ "" -e "เปิดใช้งาน "-e" ตั้งค่าขอบเขตของหน้าต่าง 1 เป็นเดสก์ท็อปขนาด "-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 \ "ใช้ {control down, command down}" -e "end tell" -e "end tell"

หวังว่านี่จะช่วยได้!


ลองสิ่งนี้และมันช่วยได้เล็กน้อย มันเปิดแอพพลิเคชั่น แต่เต็มหน้าจอไม่ทำงาน jsut ให้เสียงข้อผิดพลาดแก่ฉัน ต้องเรียกใช้สคริปต์สองครั้งเพื่อไปที่เต็มหน้าจอ
ABLX

@ABLX คุณต้องเปลี่ยนการกดแป้นพิมพ์สำหรับแอพใดก็ตามที่คุณต้องการเป็นแบบเต็มหน้าจอ
Cajunluke

@qegal ฉันเชื่อว่าทั้งหน้าจอ - เขาพูดถึง Lion แบบเต็มหน้าจอในคำถามแสดงความคิดเห็น
Cajunluke

Evernote และโครเมี่ยม มันควรจะเป็นแบบเต็มหน้าจอสิงโต
ABLX

aww ความผิดของฉัน evernotes ต้องการ ^ + คำสั่ง + f
ABLX

2

สิ่งนี้จะไม่ทำงานกับแอปพลิเคชันที่ไม่ได้ใช้ Windows แบบเต็มหน้าจอดั้งเดิม แต่ควรทำงานกับแอพพลิเคชั่นบางตัวที่ไม่ใช้ทางลัดมาตรฐานเพื่อเข้าสู่โหมดเต็มหน้าจอ แอปพลิเคชั่นบางตัวมีชื่อกระบวนการและชื่อแอปพลิเคชันที่แตกต่างกัน

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) และสร้างสคริปต์ทุบตีที่สามารถเรียกใช้งานได้ (แทนที่ชื่อสคริปต์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
OP ไม่ได้พูดถึงอะไรเกี่ยวกับ Google Chrome
Cajunluke

1
นอกจากนี้โหมดไม่ระบุตัวตนจะไม่ช่วยหนึ่งเล็กน้อยเมื่อมันมาถึงรหัสที่เป็นอันตราย - เพียงแค่ไม่เก็บหรืออนุญาตการเข้าถึงคุกกี้และแผนการติดตาอื่น ๆ ในพื้นที่ (ควบคุมเบราว์เซอร์) ในความเป็นจริงปลั๊กอิน (เช่น Flash) สามารถจัดเก็บและเข้าถึงคุกกี้ของตัวเองแม้ในโหมดไม่ระบุตัวตน
Cajunluke

+1 สำหรับแฮ็คที่ดีแม้ว่า Chrome จะไม่ถูกถามในคำถาม
myhd

1

คุณสามารถใช้การเบราส์เพื่อเปิดแอปตามอำเภอใจในโหมดเต็มหน้าจอ .. มันติดตั้งคำสั่งอำนวยความสะดวกหกคำสั่งโดยสี่เบราว์เซอร์ที่เปิดใช้งานบ่อยที่สุดในแบบเต็มหน้าจอ :

เรียกใช้ Chrome Canary ในโหมดการนำเสนอ:

$ ca

เปิด Chrome ในโหมดการนำเสนอ:

$ ch

เปิด Firefox ในโหมดเต็มหน้าจอ:

$ ff

เรียกใช้ Safari ในโหมดเต็มหน้าจอ:

$ sf

หากต้องการเรียกใช้สิ่งใดในแบบเต็มหน้าจอให้เรียกใช้คำสั่งccf(applescript ที่ส่งการกดแป้นพิมพ์ 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 หากคุณต้องการรัน applescript ของคุณจากบรรทัดคำสั่งคุณไม่จำเป็นต้องป้อนทุกบรรทัดแยกกันด้วย-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'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.