ฉันจะส่งหน้าต่างที่ใช้งานอยู่ไปยังด้านหลังได้อย่างไร?


15

มีทางลัดหรือไม่ในการส่งหน้าต่างที่ใช้งานอยู่ไปยังด้านหลังของหน้าจอในขณะที่ยังคงเปิดอยู่


2
Hจะส่งแอปปัจจุบัน (รวมหน้าต่างทั้งหมด) ไปทางด้านหลังและซ่อนไว้จนกว่าคุณจะนำแอปกลับมาที่ด้านหน้า (จากท่าเรือหรือโดย-TAB เพื่อเลือกแอปใหม่) ในแอปพลิเคชันส่วนใหญ่ Shift-- ~ จะวนไปตามหน้าต่างของแอพปัจจุบันซึ่งอาจใกล้เคียงกับสิ่งที่คุณกำลังมองหาที่สุด
Mic Channel

ฉันรู้เกี่ยวกับมันไม่ใช่สิ่งที่ฉันต้องการ

1
หากคุณต้องการส่งไปทางด้านหลังหน้าต่างใดควรจะเน้นของคุณ? หน้าต่างที่เลือกก่อนหน้า?
sayzlim

คำตอบ:


10

คำตอบสั้น ๆ : ไม่ Apple ไม่มี API ที่ให้คุณเปลี่ยนดัชนีหน้าต่างแอปพลิเคชันยกเว้นโดยนำหน้าต่างไปไว้ด้านหน้า (ดัชนี 1) ไม่มีการแก้ปัญหาที่มีความสง่างาม แต่:

คำตอบยาว: ใช่ , คุณสามารถใช้ AppleScript ไปอย่างมีประสิทธิภาพย้ายหน้าต่างไปทางด้านหลังของสแต็คของหน้าต่าง AppleScript สามารถโดยการเก็บรวบรวมรายการของหน้าต่างแล้วอย่างรวดเร็วย้ายแต่ละคน ( ยกเว้นมาก่อน) เพื่อต้อนรับออกจากหน้าต่างที่เลือก ที่ด้านหลัง.

นี่คือตัวอย่างของ AppleScript ซึ่งส่ง Finder 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

การ reshuffling นั้นรวดเร็วอย่างไม่น่าเชื่อ แต่ใน Script Editor คุณสามารถตรวจสอบวิธีการทำงานโดยปล่อยให้ "506" ที่ด้านล่างและ popping "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 นี้กับบริการหรือแป้นพิมพ์ลัดโดยก) นำสคริปต์ไปสู่การดำเนินการ Run AppleScript ภายในบริการ Automator หรือ b) โดยใช้ตัวเรียกใช้งาน (Alfred, Keyboard Maestro เป็นต้น) สำหรับรายละเอียดเกี่ยวกับการกำหนดแป้นพิมพ์ของ Applescript ดู: ฉันจะกำหนดแป้นพิมพ์ลัดให้กับ AppleScript ที่ฉันเขียนได้อย่างไร

สิ่งนี้อาจตอบสนองความต้องการ OPs - มันไม่ชัดเจนจากโพสต์ต้นฉบับ โซลูชันนี้สามารถขยายไปยังแอปพลิเคชันที่สามารถใช้ AppleScript ได้หลายตัว ฉันไม่ทราบวิธีแก้ปัญหาเพื่อให้ทำงานได้อย่างมีประสิทธิภาพด้วยการผสมผสานระหว่างหน้าต่างที่เขียนได้และไม่ใช้สคริปต์เนื่องจากความจริงที่ว่าใน AppleScript System Eventsหน้าต่างที่สามารถระบุตำแหน่งได้สำหรับแอปพลิเคชันที่ไม่ใช่สคริปต์ไม่มีset indexกริยา / คุณสมบัติ มีการกระทำ "AXRaise" สำหรับบางหน้าต่างเมื่อเปิดใช้งานอุปกรณ์อำนวยความสะดวก / การช่วยสำหรับการเข้าถึง แต่ยังไม่สามารถใช้ได้กับหน้าต่างทั้งหมด มีแฮ็กที่ซับซ้อนที่เกี่ยวข้องกับการเดินผ่านแต่ละแอปพลิเคชั่นที่ใช้งานอยู่และแสดง / ซ่อนหรือลด / กู้คืนหน้าต่าง แต่เป็นระเบียบ

การอภิปรายที่เกี่ยวข้อง:


เป็นไปได้ไหมที่จะส่งหน้าต่างของแอพใด ๆ ไปทางด้านหลังแทนที่จะเป็นหน้าต่างของแอพที่เฉพาะเจาะจง?
Di Liu

น่าเศร้าที่โมฮาวีดูเหมือนว่าจะไม่ทำงานอีกต่อไป
Edward Falk

ตั้งแต่ Mojave ความเข้าใจของฉันคือการควบคุม Finder ด้วย AppleScript ตอนนี้ต้องได้รับอนุญาตให้เรียกใช้ (ยังไม่ทดลอง) หากคุณได้รับข้อผิดพลาดเช่น errAEEventNotPermitted แล้วมีวิธีแก้ปัญหาเพื่อเพิ่มสิทธิ์เหล่านี้ - ดูการสนทนาที่เกี่ยวข้อง: forums.developer.apple.com/thread/106949
JeremyDouglass

2

คำถามของคุณยังไม่ชัดเจนมากนัก แต่ถ้าสิ่งที่คุณต้องการคือทางลัดในการวนรอบหน้าต่างทั้งหมดของแอพที่ใช้งานอยู่ในปัจจุบันคุณควรจะทำสิ่งนี้ได้ด้วยCommand~แป้นพิมพ์ลัด

โดย~ปกติกุญแจจะอยู่ที่ด้านซ้ายของ1กุญแจ

เพื่อชี้แจงให้ทราบว่าCommand~แป้นพิมพ์ลัดทำอะไรบ้างคือวนรอบหน้าต่างทั้งหมดของแอปปัจจุบันที่คุณกำลังใช้อยู่ตัวอย่างเช่นหากคุณใช้ MS Word และเปิดเอกสารสามฉบับ

อย่างไรก็ตามCommand~แป้นพิมพ์ลัดจะไม่วนไปตามแท็บ ตัวอย่างเช่นหากคุณเปิด Safari ด้วยสามหน้าต่างและแต่ละหน้าต่างมีห้าแท็บที่เปิดอยู่การใช้ทางลัดนี้จะวนไปตามหน้าต่างทั้งสามไม่ผ่านแต่ละแท็บ

ตัวเลือกอื่นที่อาจบรรลุสิ่งที่คุณต้องการคือCommandMแป้นพิมพ์ลัด อย่างไรก็ตามนี่จะเป็นการลดขนาดหน้าต่างที่ใช้งานอยู่ในปัจจุบันให้เหลือน้อยที่สุดดังนั้นฉันสงสัยว่านั่นไม่ใช่สิ่งที่คุณต้องการ

หากฉันเข้าใจผิดคำถามของคุณโดยสิ้นเชิงโปรดอธิบาย


ฉันคิดว่านี่เป็นกรณีการใช้งานที่ OP ต้องการ: บอกว่าฉันมีแอพข้อความเปิดอยู่ด้านหน้าแอปอีเมลของฉันและฉันต้องการนำแอปอีเมลไปยังเบื้องหน้าอย่างรวดเร็วและส่งข้อความไปที่พื้นหลังฉันสามารถทำแป้นพิมพ์ได้ ทางลัดและแอปข้อความจะอยู่ด้านหลังแอปอีเมลของฉัน ฉันลองใช้แป้นพิมพ์ลัดของคุณและไม่สามารถทำได้
owlswipe

ฉันคิดว่าคุณหมายถึงกุญแจ ` ~ เป็นสิ่งเดียวที่พิมพ์เมื่อ Shift ถูกจัดขึ้นและ `ถูกกด
Crowder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.