หยุด Mavericks ไม่ให้เปิดแอปบนหน้าจอที่สองใช่ไหม


15

ฉันมี MacBook Pro และเชื่อมต่อจอแสดงผลภายนอกกับมันยอดเยี่ยมมาก อย่างไรก็ตามดูเหมือนว่า Mavericks จะยืนยันในการเปิดแอปพลิเคชั่นใหม่บนจอแสดงผลรองแม้ว่าหน้าต่าง / แอป (คีย์และเมน) ที่ใช้งานอยู่ในปัจจุบันจะอยู่บนหน้าจอหลัก น่าผิดหวังอย่างไม่น่าเชื่อเพราะพวกเขามีขนาดหน้าจอที่แตกต่างกันและมันยุ่งมากกับขนาดหน้าต่างที่บันทึกไว้ของฉัน มีวิธีใดที่จะหยุดการทำงานของ Mavericks ได้หรือไม่? ฉันเพียงต้องการให้แอปเปิดบนจอแสดงผลหลักหรืออย่างน้อยก็จำได้ว่าฉันปิดจอแสดงผลครั้งสุดท้ายเมื่อใด

ในกรณีที่ช่วยได้นี่คือการจัดเรียงจอแสดงผลของฉันจากการตั้งค่าระบบ: ป้อนคำอธิบายรูปภาพที่นี่


บางทีคุณควรให้อีกฝ่ายแสดงผลการแสดงผลหลักของคุณ มีรูปลักษณ์ที่นี่osxdaily.com/2010/04/27/set-the-primary-display-mac
konqui

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

คำตอบ:


16

ฉันเคยเชื่อมต่อกับโปรเจคเตอร์ในห้องประชุมหรือจอใหญ่ที่มีความละเอียดแตกต่างกันดังนั้นเมื่อฉันย้ายจากห้องหนึ่งไปอีกห้องหนึ่งในระหว่างวันหน้าต่างของฉันต้องถูกปรับขนาดอย่างต่อเนื่องเช่นกัน ดังนั้นฉันรู้สึกถึงความเจ็บปวดของคุณ :-)

เพื่อหลีกเลี่ยงความสับสนฉันต้องการนิยามคำศัพท์สองคำสำหรับคำตอบนี้:

  • จอแสดงผลหลักเป็นหนึ่งเดียวกับแถบเมนูในการจัดแท็บในการตั้งค่าระบบ
  • จอแสดงผลหลักเป็นหนึ่งที่คุณต้องการสิ่งที่อยู่บนหรือไม่ก็เป็นจอแสดงผลหลัก
  • แสดงผลรองเป็นหนึ่งโดยไม่ต้องแถบเมนูในการจัดแท็บในการตั้งค่าระบบ

โดยทั่วไปปัญหาคือคุณเห็นความแตกต่างที่สำคัญระหว่างจอแสดงผลหลักและจอแสดงผลหลัก Mac OS X ไม่ได้และจะต่อสู้กับคุณเมื่อคุณพยายามที่จะรักษาความแตกต่างนี้ด้วยการใช้จอแสดงผลรองเป็นจอแสดงผลหลัก

ยกเว้นว่าพวกเขาพยายามทำอย่างอื่นเป็นพิเศษแอพจะเปิดในสิ่งที่เป็นจอแสดงผลหลักเสมอ นั่นเป็น definitionally หนึ่งในลักษณะของจอแสดงผลหลัก (เป็นส่วนระดับต่ำของ Quartz API โดยเฉพาะการโทรCGConfigureDisplayOriginดังนั้นพฤติกรรมนี้ไม่สามารถกำหนดค่าได้หากแอปไม่อนุญาตให้คุณกำหนดค่าเอง)

ฉันอาจแนะนำให้ถามเกี่ยวกับสิ่งต่าง ๆ ที่ทำให้มันน่ารำคาญสำหรับคุณ ("ยุ่งกับสิ่งอื่น ๆ " ในขณะที่คุณใส่ไว้ในความคิดเห็นของคุณ) เพื่อไม่ให้หน้าจอหลักของคุณเป็นจอแสดงผลหลักเมื่อคุณเชื่อมต่อ ; พฤติกรรมนี้ไม่ได้

ฉันมีเทคนิคสองสามอย่างสำหรับคุณที่อาจช่วยได้:

การมิเรอร์และการยกเลิกการมิเรอร์จะทำให้หน้าต่างทั้งหมดมีขนาดใหญ่เกินไปที่จะพอดีกับหน้าจอขนาดเล็กที่จะปรับขนาดให้พอดีและทำให้หน้าต่างทั้งหมดเข้าสู่จอแสดงผลหลัก ฉันรู้ว่าไม่ใช่โซลูชันที่สมบูรณ์แบบเนื่องจากคุณต้องการสิ่งต่าง ๆ บนจอแสดงผลรอง แต่อาจเป็นวิธีแก้ปัญหาที่มีประโยชน์เมื่อรวมกับเคล็ดลับถัดไปโดยเฉพาะอย่างยิ่งถ้าคุณรู้ว่าแป้นพิมพ์ลัด: ⌘-F1 กดมันปล่อยให้สวิตช์ของระบบเป็นมิเรอร์และกดอีกครั้ง หน้าต่างทั้งหมดของคุณจะถูกปรับขนาดเป็นจอแสดงผลที่เล็กที่สุดและจะอยู่บนจอแสดงผลหลัก

เครื่องมือที่มีประโยชน์มากสำหรับการแก้ไขปัญหานี้คือBetterTouchToolซึ่งช่วยให้คุณตั้งค่าท่าทาง "Center Window บนหน้าจอถัดไป" และ "ขยายขนาดหน้าต่างเป็นหน้าจอถัดไป" ฉันกำหนดสิ่งเหล่านี้ให้กับการคลิกสี่และห้านิ้วตามลำดับจากนั้นฉันสามารถป๊อปอัพหน้าต่างจากจอภาพหนึ่งไปยังอีกจอหนึ่งได้อย่างรวดเร็วเพียงแค่ทำการแมปบนแทร็คแพด (ถ้าคุณไม่ใช้แทร็คแพดเมื่อคุณเชื่อมต่อกับจอแสดงผลขนาดใหญ่ BTT สามารถทำท่าทางกับอุปกรณ์ตัวชี้อื่น ๆ ได้เช่นกัน)

เทคนิคทั้งสองนี้ร่วมกันทำให้การทำงานกับความละเอียดที่เปลี่ยนแปลงตลอดเวลาไม่สมบูรณ์แบบ แต่อย่างน้อยก็ทนได้ ถ้าฉันต้องการให้หน้าต่างทั้งหมดของฉันปรากฏขึ้นบนจอแสดงผลรอง (ฉันกำลังฝึกซ้อมให้พูดและต้องการให้แถบเมนูปรากฏให้นักเรียนเห็น แต่ฉันต้องการให้หน้าต่างทั้งหมดของฉันไม่เกี่ยวข้องกับการฝึกอบรมบนจอแสดงผลอื่น) ฉันทำเคล็ดลับ mirror / unmirror จากนั้นใช้สี่นิ้วตีแทร็คแพดหลายครั้งจนกระทั่งหน้าต่างโผล่ขึ้นมาทั้งหมด

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

set position of window x to {0, 22}

เนื่องจากแถบเมนูมีพิกัดการแสดงผล 22 ตำแหน่ง (ที่เคยเป็น "พิกเซล" ก่อนหน้าจอ Retina) สูงและหน้าจอและหน้าต่างมีจุดกำเนิดที่มุมบนซ้ายบรรทัดนี้จะย้ายหน้าต่าง xด้านล่างและล้างซ้ายด้วยแถบเมนู เพื่อที่จะปรับสคริปต์นี้ดังนั้นมันจะย้ายวินโดวส์ทั้งหมดไปทางซ้ายบนของจอแสดงผลรองคุณจะต้องหาพิกัดของมันและใช้มันเป็นค่า x ในการจัดเรียงที่คุณแสดงในภาพหน้าจอของคุณ "0" จะถูกแทนที่ด้วยตัวเลขติดลบเนื่องจากคุณอยู่ทางด้านซ้ายของแถบเมนู มันจะใช้เวลาเล่นซอเพื่อให้ถูกต้องโดยเฉพาะถ้าคุณต้องการให้สคริปต์ทำงานโดยไม่คำนึงถึงข้อตกลง

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


ขออภัยสำหรับความสับสน แต่ฉันหมายความว่าฉันต้องการให้จอแสดงผลหลักของฉันเป็นจอแสดงผลหลัก (สนุกสนานเพียงพอจอแสดงผลหลักคือจอแสดงผลหลัก CoreGraphics ส่งกลับค่าเดียวกันCGDisplayIDสำหรับพวกเขา)
JustSid

@JustSid - น่าสนใจคุณกำลังบอกว่าแอปเปิดอยู่บนหน้าจอซ้ายสุดด้านบนใช่ไหม นั่นเป็นเพียงเรื่องแปลกประหลาดและฉันไม่สามารถทำซ้ำได้ - ดังที่ฉันได้กล่าวถึงหนึ่งในพฤติกรรมที่เฉพาะเจาะจงของหน้าต่างหลักคือมันเป็นสิ่งที่แอปเปิดหน้าต่างใหม่ตามค่าเริ่มต้น ทั้งหมดที่ฉันคิดคือลองกดจอแสดงผลลงเพื่อไม่ให้ติดอยู่ด้านบน ฉันไม่มีคำอธิบายว่าทำไมสิ่งนี้ถึงเกิดขึ้น แต่บางทีการมีจอแสดงผลหลักของคุณจะสูงกว่าบนแกน y จะช่วยได้ ฉันบอกว่าฉันไม่สามารถทำซ้ำได้ แต่ฉันไม่มีจอแสดงผลภายนอกขนาดเล็กกว่าที่จะลองใช้ดู - แปลก - เป็นสิ่งที่ทำให้เกิด
แต้ม

ใช่ว่าเป็นปัญหา ทุกอย่างเปิดขึ้นบนหน้าจอรองที่เล็กกว่าแม้ว่าฉันต้องการให้เปิดบนจอแสดงผลหลักขนาดใหญ่! แต่การจัดเรียงจอแสดงผลรองลงอีกเล็กน้อยก็ช่วยแก้ปัญหาได้! ฉันไม่รู้ว่าคุณมีความคิดนั้นอยู่ที่ไหน แต่มันยอดเยี่ยมมากขอบคุณมาก! จะอัปเดตเรดาร์ของฉันและหวังว่าจะได้รับการแก้ไขใน 10.9.1 (มันไม่ได้มีตลอด 10.7-10.8)
JustSid

@JustSid "คุณกำลังบอกว่าแอปกำลังเปิดอยู่บนหน้าจอซ้ายด้านบนใช่ไหม" ฉันมีปัญหาเดียวกัน: เปิดแอปและเอกสารบนจอแสดงผลรองของฉัน
bames53

5

ในฐานะของ Mavericks มีความแตกต่างระหว่างการใช้งานและไม่ได้ใช้งานจอภาพ คุณสามารถดูว่าจอภาพใดทำงานอยู่โดยดูที่แถบเมนูของคุณ (ฉันคิดว่าคุณใช้ลักษณะการทำงานของช่องว่าง Mavericks ใหม่) หากคุณเปรียบเทียบทั้งสองหน้าจอหนึ่งจะจางหายไปและหนึ่งจะจางหายไปส่วนใหญ่ หน้าต่างที่เปิดใช้งานทึบมากที่สุดหน้าต่างแอปพลิเคชั่นใหม่จะเปิดขึ้นบนหน้าจอพร้อมกับหน้าจอเมนูแถบทึบแสงเว้นแต่จะมีหน้าต่างอื่นของแอพเดียวกันบนหน้าจออื่น

ดังนั้นคุณจะเปลี่ยนหน้าจอที่ใช้งานอยู่ได้อย่างไร?

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

โปรดทราบว่าพฤติกรรมนี้ไม่ขึ้นอยู่กับตำแหน่งท่าเทียบเรือของคุณ จากประสบการณ์ของฉันฉันต้องคลิกบนเดสก์ท็อป (ระหว่างไฟล์ S) เพื่อเปิดใช้งานหน้าจออื่น (ซึ่งฉันหมายถึงทำให้อยู่ในสถานะใช้งาน)

ปรับปรุง

เป็นที่ยอมรับว่าไม่ได้ป้องกัน Mavericks จากการเปิดหน้าต่างบนหน้าจออื่น 8 คุณสามารถไปที่ "การควบคุมภารกิจ" ในการตั้งค่าระบบและยกเลิกการทำเครื่องหมายที่ "มอนิเตอร์ใช้ช่องว่างที่แตกต่างกัน" เพื่อกลับไปสู่พฤติกรรม Mavericks ก่อน วิธีนี้จะเปิดบนหน้าจอปิดล่าสุดและ / หรือหน้าจอที่แถบเมนูเปิดอยู่ วิธีที่ฉันอธิบายไว้ข้างต้นการอัปเดตเป็นวิธีแก้ปัญหาของวิธี Mavericks เท่านั้น


"สิ่งที่ทึบแสงที่สุดคือเปิดใช้งานและหน้าต่างแอปพลิเคชันใหม่จะเปิดขึ้นบนหน้าจอที่มีหน้าจอแถบเมนูทึบแสงเว้นแต่จะมีหน้าต่างอื่นของแอพเดียวกันบนหน้าจออื่น" ฉันกำลังเปิดเอกสารและพวกเขากำลังเปิดบนจอแสดงผลรองแม้ว่าจะไม่มีหน้าต่างอื่นในแอปพลิเคชั่นนั้นเปิดอยู่บนหน้าจอนั้นและมีหน้าต่างที่เปิดอยู่จากแอพนั้นบนหน้าจอหลัก (เพราะฉันยังคงเคลื่อนไหวทั้งหมด) ถ้าฉันปิดหน้าต่างเอกสารในหน้าจอหลักแล้วเปิดเอกสารนั้นอีกครั้งมันจะวางหน้าต่างไว้บนหน้าจอรองและฉันต้องย้ายอีกครั้ง
bames53

3

เมื่อเปิดแอปขึ้นมาให้กด F3 เพื่อเปิด Mission Control แล้วลากแอพไปยังหน้าจอที่คุณต้องการเปิดในอนาคต มันถูกกำหนดให้กับ "ช่องว่าง" ในคอมพิวเตอร์ของคุณ - เปลี่ยนพื้นที่ที่ได้รับมอบหมาย


2

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

ดูภาพหน้าจอด้านบนของกล่องโต้ตอบ 'การตั้งค่าการแสดงผล' โปรดทราบว่าหนึ่งใน 'หน้าจอ' จะแสดงแถบเมนู นอกจากนี้ให้สังเกตข้อความ "หากต้องการย้ายแถบเมนูให้ลากไปยังจอแสดงผลอื่น"


4
ใช่แล้วประเด็นของฉันคือแถบเมนูอยู่บนหน้าจอด้านขวาแล้วและหน้าจอนั้นมีจุดโฟกัสแน่นอน แต่โปรแกรมก็เปิดในอีกหน้าจอหนึ่ง
JustSid

1

ฉันมีปัญหาเดียวกัน สิ่งที่ฉันพบคือแอปพลิเคชันเปิดบนหน้าจอที่เปิดอยู่

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


0

หากต้องการให้ OS X เปิดแอปบนจอแสดงผลเฉพาะใน Mavericks หรือใหม่กว่าให้คลิกขวาที่ไอคอน Dock สำหรับแอพและเลือก "ตัวเลือก" - กำหนดให้กับเดสก์ท็อป 1 หรือ 2 (เดสก์ท็อป 2 ควรเป็นจอแสดงผลรอง) ฉันพบว่ามันไม่ได้ผลเสมอไปเมื่อคุณลากแอพไปยังจอแสดงผลอื่น (เช่น Safari ใน El Capitan) เมื่อถึงที่นั่นบางครั้งมันต้องการเปิดอย่างต่อเนื่องและอย่างน้อยก็ใน El Capitan โดยปกติแล้วมันจะเปิดขึ้นบนจอแสดงผลหลักยกเว้นว่าได้บอกวิธีการเปิดบนจอแสดงผลรองโดยเฉพาะ นอกจากนี้คุณยังสามารถใช้ตัวเลือก -> กำหนดบนแท่นเพื่อย้ายโปรแกรมกลับไปที่จอแสดงผลใด ๆ (สามารถประหยัดเวลาโดยไม่ต้องเลื่อนเมาส์ไปที่จอแสดงผลอื่นเพื่อลากมันกลับมาโดยเฉพาะอย่างยิ่งถ้าคุณมีจอภาพมากกว่าสองจอ

ฉันแค่หวังว่าจะมีตัวเลือกให้ Dock บนจอแสดงผลทุกครั้ง ฉันชอบท่าเทียบเรือที่ติดตั้งด้านข้างและคุณไม่สามารถโยกย้ายซึ่งเป็นความเจ็บปวดของราชวงศ์ ฉันส่งความคิดเห็นเกี่ยวกับเรื่องนี้ไปยัง Apple แต่พวกเขาไม่สนใจ มันง่ายมากที่จะมีแท่นวางในแต่ละหน้าจอตลอดเวลาเช่นแถบเมนู (อาจแตกต่างกันเชื่อมต่อสำหรับแต่ละหน้าจอสำหรับการตั้งค่าที่คุณใช้แอพบางตัวบนหน้าจอบางหน้า) และให้แต่ละ Dock ในแต่ละหน้าจอเปิดแอปบนหน้าจอ "ใช้งาน" ฉันจะไม่รังเกียจที่จะมีปุ่มบนหน้าต่างตัวเองมี "ส่งไปแสดง" มันง่ายกว่าการลากหน้าต่างไปมาโดยเฉพาะถ้าคุณจัดให้มันไม่ได้อยู่เคียงข้างกัน (เช่นฉันใช้ทแยงมุมดังนั้นฉันจึงไม่เลื่อนเมาส์ไปที่จอแสดงผลอื่นโดยไม่ตั้งใจ ด้านซ้ายของจอภาพด้านขวาของฉันเมื่อฉันชอบที่ท่าเรือด้านซ้ายและไอคอนทางด้านขวาตลอดเวลาโดยไม่คำนึงถึงตำแหน่งของจอภาพ)


1
แอพเดียวที่ฉันมีปัญหาคือ TextEdit ที่เปิดไฟล์บนหน้าจอทีวีของฉันเสมอ (จอแสดงผลรอง) ไม่มีคำตอบในหัวข้อนี้ที่เปลี่ยนพฤติกรรมนี้ แอพอื่น ๆ ทั้งหมดเปิดในจอแสดงผลหลักของฉัน (Macbook) ไม่ใช่โศกนาฏกรรมที่จะต้องคว้าหน้าต่าง TextEdit ด้วยตนเองจากหน้าจอหนึ่งลากไปยังอีกหน้าต่างหนึ่งและปรับขนาด แต่มันจะตกอยู่ในหมวดหมู่ของ Applesoft ใช่ไหม (แอปเปิ้ลทำการสร้างศัพท์พื้นฐานสำหรับพื้นฐานนั้นไม่ได้ป้องกันไม่ให้ฉันใช้เพื่ออธิบายผลิตภัณฑ์ของ Apple ที่ทำตัวเหมือน Microsoft)
mathematrucker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.