เหตุผลที่การใช้หลายจอภาพบน Mac ยังไม่สะดวก
(wadetregaskis.com)- แม้จะต่อจอภายนอก LG 5k เข้ากับจอ 5k ในตัวของ iMac Pro ประสบการณ์ หลายจอภาพ บน Mac ก็ยังไม่หลุดพ้นจากความไม่สะดวกที่เกิดซ้ำมาตลอด 30 ปีได้มากนัก
- หลังจากเปิดแอปใหม่หรือบูตเครื่อง macOS มัก จำตำแหน่งหน้าต่าง ได้ไม่แน่นอน อาจเกิดสถานการณ์ที่หน้าต่างทั้งหมดไปรวมอยู่บนจอในตัว และต้องจัดวางใหม่ทุกครั้ง
- แอป·เกมแบบเต็มหน้าจอ, Lightroom Classic, Dock, แถบเมนู, Spaces และ Split View มักมี ตำแหน่งและพฤติกรรมที่ผิดไปจากที่คาด เมื่อใช้หลายจอ
- การจัดวางแนวนอนเพิ่ม ภาระด้านสรีรศาสตร์ จากช่องว่างระหว่างจอ การหันคอ และปัญหาการจัดแนวอุปกรณ์ป้อนข้อมูลกับจอภาพ ส่วนจอรองก็มักกลายเป็นพื้นที่สำหรับหน้าต่างที่สำคัญน้อยกว่า
- จอรองมีประโยชน์เมื่อต้องดูข้อมูลอ้างอิงตลอดเวลา เช่น เอกสาร Xcode แต่ด้วยบั๊กด้านการจัดการหน้าต่างและตัวเลือกจอภาพที่มีจำกัด ความต้องการจอเดี่ยวขนาดใหญ่ความหนาแน่นสูงจึงยังคงอยู่
เบื้องหลังการลองใช้จอคู่ 5k อีกครั้ง
- เพื่อนร่วมงานหลายคนชอบการตั้งค่าที่วางจอภาพขนาดเท่ากันสองจอไว้ข้างกัน แต่ข้อดีของมันไม่ได้รู้สึกชัดเจนเสมอไป
- ตลอด 30 ปีที่ผ่านมา ได้ลองใช้ชีวิตกับ หลายจอภาพ อยู่หลายครั้ง
- ช่วงแรกลองเพียงเพราะมันทำได้ ในยุคที่จอ 17 นิ้วหนึ่งจอก็ถือว่าระดับไฮเอนด์แล้ว
- หลังจากนั้นก็ลองกลับมาใช้อีกเป็นระยะเพื่อเพิ่มพื้นที่หน้าจอจริง
- หลัง จอ 5k เปิดตัวในปี 2014 แรงกดดันเรื่องพื้นที่หน้าจอก็ลดลงไปพักหนึ่ง
- อิทธิพลของ iMac 5k รุ่นแรกมีมาก
- ในช่วงประมาณ 1 ปีที่ผ่านมา เมื่อใช้ Xcode มากขึ้น จอ 5k หนึ่งจอก็เริ่มรู้สึกคับแคบ
- Xcode บน 5k อยู่ในระดับ “พอใช้ได้ แต่ยังไม่ยอดเยี่ยม”
- ยิ่งอึดอัดขึ้นเมื่อทำงานออกแบบ GUI ด้วย AppKit หรือ SwiftUI พร้อมกับใช้ iPad Pro simulator
- iMac Pro ที่ใช้อยู่ในปัจจุบันไม่สามารถปิดจอในตัวได้
- Apple ไม่อนุญาตให้ ปิดใช้งานจอในตัว ของ iMac
- เคยพิจารณาเปลี่ยน iMac Pro เช่นกัน แต่จังหวะการเปิดตัวผลิตภัณฑ์ของ Apple ทำให้ต้องเลื่อนการตัดสินใจออกไป
- ตัวเลือกจอเดี่ยวที่ใหญ่กว่าก็ยังไม่น่าพอใจ
- จอ 6k มีตัวเลือกอยู่บ้าง แต่ยังเรียกได้ยากว่า “ยอดเยี่ยม”
- จอ 8k แทบไม่มีตัวเลือกในทางปฏิบัติ
- ทีวี 8k ต้องใช้พื้นที่ทางกายภาพมากเกินไป ส่วนจอคอมพิวเตอร์ Dell 8k ที่รู้จักนั้นมีขนาดทางกายภาพเล็กเกินไปเมื่อเทียบกับความละเอียด
- จึงนำจอ LG 5k สำรองที่เคยซื้อเองสมัยทำงานที่ LinkedIn มาวางข้าง iMac Pro
- ดูเหมือนเป็นชุดที่เหมาะมาก เพราะแทบจะเป็นพาเนลเดียวกับจอในตัวของ iMac Pro
- แต่ในความเป็นจริง อุณหภูมิสีต่างกันพอสมควร โดยจอ LG ดูโทนอุ่นกว่า
ปัญหาที่ macOS ลืมตำแหน่งหน้าต่าง
- ช่วงประมาณเดือนแรกโดยรวมยังใช้ได้ดี มีเพียงบางแอปที่เกิดปัญหาเป็นครั้งคราว
- Xcode โดยเฉพาะมักลืมตำแหน่งหน้าต่างเอกสารทุกครั้ง
- หน้าต่างเอกสารจะเก็บไว้แค่แท็บแรกที่เปิด และไม่เก็บแท็บที่เหลือ
- หากเผลอปิดหน้าต่างเอกสารระหว่างพัฒนา อาจเสียแท็บเอกสารหลายแท็บที่ผูกกับบริบทงานไป
- ต่อมามีช่วงหนึ่งที่ ตำแหน่งหน้าต่างทั้งหมดเมื่อบูตเครื่อง ถูกรีเซ็ตกลับไปอยู่บนจอในตัวทุกครั้ง
- ต้องไปหาหน้าต่างในจอหลักที่แน่นขนัด แล้วลากกลับไปยังจอรองใหม่
- อาการนี้ดูไม่ใช่ความซวยเฉพาะครั้ง แต่จากประสบการณ์ยาวนาน มันใกล้เคียงกับปัญหาปกติที่สักวันจะเกิดซ้ำ
- ในบางจังหวะ ระบบอาจกลับมาจำตำแหน่งหน้าต่างส่วนใหญ่ได้อีกครั้ง
- แล้วหลังจากนั้นวงจรเดิมก็อาจเกิดซ้ำได้
การจัดการหลายจอของแอปและเกมแบบเต็มหน้าจอ
- แอปแบบเต็มหน้าจอ โดยเฉพาะเกม มักจัดการจอเพิ่มเติมได้ไม่ดี
- เกมบางเกมไม่สามารถหรี่หรือปิดจอที่ไม่ได้ใช้งานได้
- ระหว่างเล่นเกม หากจอสว่างข้าง ๆ ยังเปิดอยู่ตลอดจะทำให้เสียสมาธิ
- ทุกครั้งที่เปิดหรือปิดเกม ต้องไปเลือกจอรองใน Display settings ของ System Settings แล้วปรับความสว่างด้วยตนเอง
- LG 5k ที่ใช้อยู่ไม่มีปุ่มเปิด/ปิด
- หากถอดสาย Thunderbolt ออก macOS จะสับสน การจัดวางหน้าต่างจะเสีย และบางแอปอาจแครช
- ในทางกลับกัน แอปบางตัวก็ตรวจจับจอเพิ่มเติมผิดแล้วส่งหน้าต่างไปยังจอที่ไม่ควรไป
- Adobe Lightroom Classic บางครั้งย้ายทั้งหน้าต่างไปยังอีกจอหนึ่ง
- วิธีนำกลับมามีเพียงปิด Lightroom แล้วเปิดใหม่
- รายการ “Move to <other display>…” ในเมนู Window ใช้งานไม่ได้
ความฝืดที่ Dock และแถบเมนูสร้างขึ้น
- หากวาง Dock ไว้ด้านข้างจอ มันจะแสดงเฉพาะบนจอที่อยู่ริมสุดของทิศทางนั้น
- ต้องขยับเมาส์ข้ามหลายจอเพื่อเข้าถึง Dock ทำให้ช้าและเก้กัง
- ตั้งค่า Dock ให้ซ่อนอัตโนมัติไว้
- ต้องคอยระวังไม่ให้ Dock โผล่ออกมาเมื่อขยับเมาส์ใกล้ขอบจอ
- บนจอเดี่ยว Dock ด้านซ้ายรบกวนน้อยที่สุด
- ขอบซ้ายมี UI ที่ต้องโต้ตอบค่อนข้างน้อย
- ด้านขวามี scrollbar จึงเป็นตัวเลือกสำรอง
- เมื่อขยับเมาส์ลงด้านล่าง ยังรู้สึกถึงแรงตึงของสาย USB เพิ่มขึ้นด้วย
- ในการตั้งค่าหลายจอแนวนอน แทบจะต้องใช้ Dock ด้านล่าง
- ด้านล่างมีพื้นที่ปรับขนาดหน้าต่าง แถบเครื่องมือ ปุ่ม scrollbar แนวนอน ฯลฯ อยู่มาก
- มักเกิดสถานการณ์ที่ต้องควบคุมพิกเซลไม่กี่พิกเซลบริเวณด้านล่างของจอ โดยไม่เผลอเรียก Dock ขึ้นมา
- บางครั้งต้องย้ายหน้าต่างทั้งบานเพื่อคลิกองค์ประกอบด้านล่างของหน้าต่าง และก่อนจะทำแบบนั้นอาจต้องลดขนาดจากด้านบนก่อน
- แถบเมนูก็ตั้งให้ซ่อนอัตโนมัติเช่นกัน
- เหตุผลคือเพื่อความเรียบร้อยทางสายตา ได้พื้นที่หน้าจอเพิ่มเล็กน้อย และเคยเจออาการแถบเมนูเบิร์นอินบน iMac รุ่นเก่า
- แถบเมนูยังมี iStat Menus และยูทิลิตีมอนิเตอร์หลายตัว จึงใช้บ่อย
- การสะบัดเมาส์ขึ้นด้านบนของจอเพื่อให้แถบเมนูปรากฏนั้นทำได้ง่าย
- เมื่อใช้หลายจอ แถบเมนูจะแสดงเฉพาะบน จอที่ใช้งานอยู่
- หลายครั้งแยกด้วยสายตาทันทีไม่ได้ว่าจอใด active หรือ inactive
- ยังซ้ำด้วยปัญหาการออกแบบของ macOS ที่แถบเมนูจะไม่ปรากฏหาก run loop ของ main thread ของแอปด้านหน้าไม่ได้อยู่ในสถานะว่าง หรือขณะกำลังเปิดแอป
- จึงบอกได้ยากในทันทีว่าไม่เห็นเพราะเคอร์เซอร์อยู่ผิดจอ หรือเพราะสาเหตุอื่น
- ความหน่วงสั้น ๆ ในการกระทำที่เกิดขึ้นวันละหลายร้อยครั้งจึงสะสมขึ้น
กรณีที่หน้าต่างไปโผล่ผิดจอ
- บางครั้งหน้าต่างไปปรากฏบนจอที่ผิด
- เหตุผลไม่ชัดเจน
- การจัดการหน้าต่างของ macOS มีบั๊กคล้ายกันที่อธิบายได้ยาก
- บางครั้งกล่องโต้ตอบแบบ modal ก็ไปปรากฏอยู่หลังหน้าต่างเดิม
ปัญหาสรีรศาสตร์ของการจัดวางแนวนอน
- ในการจัดวางแนวนอนทั่วไป หากวางสองจออย่างเท่าเทียมกัน ตำแหน่งกึ่งกลางตรงหน้าที่ควรมองตามธรรมชาติจะกลายเป็น ช่องว่าง แทนที่จะเป็นหน้าจอ
- ไม่มีจอใดจัดแนวตรงกับคีย์บอร์ดหรือเมาส์
- รู้สึกว่าความแม่นยำในการพิมพ์และใช้เมาส์ลดลง
- ในสภาพแวดล้อมที่เคลื่อนไหวตลอดเวลา เช่น treadmill desk จะยิ่งรู้สึกชัด
- การต้องมองซ้ายขวาแทนที่จะมองตรงกลางตลอดเวลาอาจทำให้ปวดคอได้
- หากวางจอหลักไว้ตรงกลางด้านหน้าและวางจอรองไว้ด้านหนึ่ง จอรองจะมีประโยชน์น้อยลงมาก
- เพราะการหันไปมองจริง ๆ ไม่สะดวกกว่า
เหตุผลที่แบ่งงานลงหลายจอได้ยาก
- การวางหน้าต่างสองบานเคียงกันภายในจอเดียว กับการวางหน้าต่างสองบานไว้คนละจอ ให้ความรู้สึกต่างกันมาก
- ความต่างจะยิ่งมากขึ้นหากสองจอไม่เหมือนกัน หรือแกนแนวนอน·แนวตั้งไม่ตรงกัน
- อาจเป็นความแตกต่างระหว่างการขยับแค่ตากับต้องขยับศีรษะด้วย
- งานที่ต้องสลับไปมาระหว่างจอบ่อย ๆ ทำให้คุ้นเคยได้ยาก
- มักไม่ค่อยวางงานสำคัญไว้บนจอรอง
- ยิ่งเป็นเช่นนั้นหากตำแหน่งของจอรองเสียเปรียบด้านสรีรศาสตร์เมื่อเทียบกับจอหลัก
- จอรองมักกลายเป็นพื้นที่สำหรับหน้าต่างที่ไม่ได้ใช้บ่อย เช่น ปฏิทิน ตัวดูคลิปบอร์ด เครื่องคิดเลข
- แอปเหล่านี้แทบไม่ต่างจากการเรียกขึ้นมาด้านหน้าบนจอหลักเมื่อจำเป็น แล้วซ่อนกลับไป
- แอนิเมชันที่ไม่เกี่ยวข้องบนจอรองอาจยิ่งทำให้เสียสมาธิ
- กรณีใช้งานพร้อมกันที่มีความหมายจนถึงตอนนี้คือการวาง ข้อมูลอ้างอิง ไว้บนจอรอง
- หน้าต่างเอกสารของ Xcode เป็นตัวอย่างหลัก
- การยัดโปรเจกต์ Xcode ที่ซับซ้อนให้พอดีกับครึ่งหนึ่งของจอ 5k แทบทำได้ยาก
- การมีโค้ดและเอกสารให้เห็นพร้อมกันสะดวกกว่าการสลับไปมาตลอดเวลา
ปฏิกิริยาจาก Hacker News และประเด็นเพิ่มเติม
- มี การสนทนายาว บน Hacker News
- ปฏิกิริยาส่วนใหญ่เป็นความเห็นอกเห็นใจและความพยายามช่วยเหลือ มากกว่าการตำหนิ
- ใช้ Mac มาประมาณ 35 ปีและโฟกัสกับ Mac เป็นหลัก ดังนั้นการตีความว่า “ใช้งานผิดเหมือนผู้ใช้ Windows/Linux” จึงไม่ถูกต้อง
- หลายคนมองว่าความเสถียรของการเชื่อมต่อจอภายนอกก็เป็นปัญหาเช่นกัน
- LG 5k ที่ใช้อยู่มีปัญหามาก จนกระทั่งเปลี่ยนสาย Thunderbolt ที่แถมมาซึ่งมีข้อบกพร่อง
- หลังเปลี่ยนแล้วก็ยังทำงานไม่เสถียรกับ MacBook Pro สำหรับงาน แต่ทำงานได้ดีกับ iMac Pro
- ในบทความไม่ได้แยกเป็นประเด็นเพราะตอนนี้ไม่มีปัญหานั้นแล้ว แต่ก็เป็นปัญหาใหญ่ของ Mac เช่นกัน
- เห็นด้วยกับความคิดเห็นที่แนะนำให้ใช้จอเดี่ยวที่ใหญ่กว่า
- ปัญหานี้เชื่อมโยงกับตัวเลือกที่มีจำกัดซึ่งกล่าวไปก่อนหน้า
- เปิดรับจอ ultrawide แต่ต้องมี ความหนาแน่นพิกเซล เพียงพอ
- สำหรับความกว้าง 23.5 นิ้ว ซึ่งเป็นความกว้างแนวนอนของจอ 27 นิ้วทั่วไป 5k ถือว่ามีพิกเซลพอเหมาะ
- สำหรับจอที่กว้างประมาณ 50 นิ้ว 5k น้อยเกินไป
- ที่ระยะใช้งานสมเหตุสมผล อย่างน้อย 100 PPD คือเกณฑ์ของจอที่ดี
- จอ Retina ของ Apple ผ่านเกณฑ์นี้ แต่จอ ultrawide ที่รู้จักไม่ผ่าน
- การตั้งค่าล่าสุดคือวาง iMac Pro ไว้ตรงกลางด้านหน้า และวาง LG 5k ไว้ทางซ้ายประมาณ 45 องศา
- ก่อนหน้านี้เคยลองการจัดวางแนวนอนแบบสมมาตร การซ้อนแนวตั้ง และการวางเฉียงชั่วคราวที่รวม iPad Pro หรือแล็ปท็อปด้วย
- ถือว่าไม่มีการจัดวางที่สมเหตุสมผลแบบใดที่ยังไม่ได้ลอง
- ไม่ได้ใช้ Spaces
- เคยลองใช้ในยุคต้นของ Mac OS X และบน Linux แต่ไม่เข้ากับวิธีทำงาน
- มีบั๊กด้านการจัดการหน้าต่างแยกอีก เช่น หน้าต่างใหม่ โดยเฉพาะกล่องโต้ตอบแบบ modal ไปเปิดเงียบ ๆ ใน Space ที่ผิด
- ไม่ใช้แอปเต็มหน้าจอ ยกเว้นกรณีจำเป็นจริง ๆ อย่างบางเกม
- ในอดีตจำเป็นต้องใช้บน MacBook Pro สำหรับงานเพราะหน้าจอเล็ก
- โหมดเต็มหน้าจอของ macOS มีบั๊กจำนวนมาก
- บนจอที่ใหญ่พอ แอปส่วนใหญ่จะเสียพื้นที่ว่างไปมาก
- ยังใช้ Dock ต่อไป
- ใช้สำหรับสลับแอปพลิเคชัน
- ใช้ ⌘⇥ ด้วย แต่เมื่อใช้หลายจอ คาดเดาได้ยากว่า app palette จะไปโผล่ที่จอไหน ทำให้ใช้ร่วมกับเมาส์อย่างมีประสิทธิภาพได้ยาก
- ใช้ Spotlight สำหรับเปิด·สลับแอปด้วย แต่มีความไม่เสถียร เช่น หน่วงก่อนแสดงช่องป้อนข้อมูล ไม่รับอินพุต สถานะการทำ indexing และความหมายของคำย่อที่ใช้บ่อยเปลี่ยนไป
- ยังใช้ Dock เพื่อเข้าถึงหน้าต่างที่ minimized, เมนูบริบทของไอคอนแอปบน Dock และมอนิเตอร์อย่างจำนวนข้อความที่ยังไม่ได้อ่าน
- มีหลายความเห็นวิจารณ์ว่า macOS ขาด window tiling และ gesture
- macOS มีฟีเจอร์ที่ Apple เรียกว่า Split View อยู่
- Split View โดยพื้นฐานเป็นรูปแบบพิเศษของโหมดเต็มหน้าจอ จึงมีปัญหาการออกแบบและบั๊กเหมือนกันหลายอย่าง
- มีการแนะนำยูทิลิตีจัดการจอภาพ·หน้าต่างมากกว่าที่คิด
- เช่น Stay, Display Maid, Phoenix, Rectangle Pro
- บางตัวอาจลองใช้ได้
- อย่างไรก็ตาม ปัญหาพื้นฐานอย่างการเข้าถึง Dock และแถบเมนู รวมถึงสรีรศาสตร์ ไม่ได้แก้ได้ด้วยยูทิลิตีเหล่านี้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ปัญหาที่ macOS จำ ตำแหน่งหน้าต่าง ไม่ได้เวลาเปิดแอปใหม่ น่าหงุดหงิดมาก
พอทำงานระหว่างเดินทางแล้วกลับมาเชื่อมต่อกับโฮมออฟฟิศอีกครั้ง มันก็จำตำแหน่งหน้าต่างที่เข้ากับการตั้งค่านั้นไม่ได้ ทำให้ต้องมาจัดหน้าต่างหลายสิบอันที่ไปกองอยู่บนจอโน้ตบุ๊กใหม่ทั้งหมด
เคยแก้ได้ด้วย DisplayMaid จากที่เห็นในกระทู้ HN เก่า https://funk-isoft.com/display-maid.html แต่ก็ยังเข้าใจได้ยากว่า MacBook เป็นสินค้าหลักของ Apple และ ecosystem เรื่อง docking กับจอแสดงผลก็ใหญ่มากแท้ ๆ แต่กลับจัดการการตั้งค่าเดสก์ท็อปแบบไดนามิกได้ไม่ดี
การที่ต้องไปซื้อแอปราคาไม่กี่ดอลลาร์มาเพิ่มเพื่อแก้ฟังก์ชันหลักของ OS มันไม่สมเหตุสมผลเลย
แต่ Thunderbolt Display รุ่นเก่านั้นเคยมีชิ้นส่วนเสียจนต้องเปลี่ยนภายในทั้งสองเครื่อง และเครื่องหนึ่งก็มีปัญหาสาย Thunderbolt ในตัวจนต้องใช้สายแยกต่างหาก
แม้อยู่ในสภาพแวดล้อมที่แทบไม่เปลี่ยนเลย คือเสียบจอเดิมกับพอร์ตเดิมตลอด แต่ macOS ก็ยังลืมตำแหน่งหน้าต่างอยู่ดี ซึ่งน่ารำคาญมาก
การจัดการ event ตอนเชื่อมต่อจอก็แปลก ๆ ด้วย ถ้าจอสองตัวเปิดอยู่แล้วค่อยเสียบตัวที่สาม จอรองจะดับแล้วติดขึ้นมา จากนั้นทั้งจอรองและจอหลักจะดับแล้วติดอีกครั้งก่อนที่จอใหม่จะขึ้นมา ทำให้รำคาญมาก
เหมือนมีใครเดินมาที่โต๊ะแล้วจงใจย้ายของทุกอย่างให้หมด
บน Hacker News อาจต่างออกไป แต่ฐานผู้ใช้ทั่วไปมักไม่ใช้จอภายนอก
การรองรับ หลายจอของ Mac กลับเหมือนถดถอยลง และดูเหมือนสะท้อนสภาพของแพลตฟอร์มโดยรวม จนทำให้รู้สึกหมดกำลังใจพอสมควร
เคยได้ยินมาว่าเมื่อ 20 ปีก่อน Apple ลงแรงมากเพื่อให้หน้าต่างสามารถพาดข้ามจอที่มี PPI หรือความลึกสีต่างกันได้อย่างเป็นธรรมชาติ แต่พอถึงจุดหนึ่งฟีเจอร์นั้นก็หายไป ตอนนี้เลยแสดงหน้าต่างได้ทีละจอเท่านั้น
แม้แต่ความสามารถในตัวอย่าง Preview เมื่อก่อนก็ให้ความรู้สึกเหมือนมีคนคิดถึง use case 99% อย่างจริงจัง แต่ตอนนี้ดูเหมือนแค่รองรับได้ 80% ก็ถือว่าดีแล้ว และไม่แน่ใจด้วยซ้ำว่ามีการเช็ก regression กันจริงหรือไม่
https://en.wikipedia.org/wiki/Hugh_Daniel
เขาเคยถอดหลอดภาพออกจากจอเก่า แล้วถ่ายภาพด้านในด้วยความละเอียดสูงมาใช้เป็นภาพพื้นหลัง ทำให้หน้าต่างต่าง ๆ ดูเหมือนลอยอยู่หน้าวงจรแรงดันสูงภายในจอ เป็น วอลเปเปอร์แนว skeuomorphic ที่เท่ที่สุดเท่าที่เคยเห็น
ไม่รู้จริง ๆ ว่าทำไม Apple ไม่เอาอันนี้ไปใช้เป็นวอลเปเปอร์เริ่มต้นของ iMac รุ่นโปร่งใส
“They're IN the COMPUTER???” https://www.youtube.com/watch?v=L_o_O7v1ews
“There must be an ON button somewhere... Did you press the Apple thing?” https://www.youtube.com/watch?v=ToIyDSRSN5g
ไปที่ System Preferences > Desktop & Dock > Mission Control > Displays have separate Spaces > Off แล้วปิดได้เลย
เหตุผลที่ตอนเปิดการตั้งค่านี้อยู่ หน้าต่างถึงพาดข้ามสองจอไม่ได้ ก็เพราะแต่ละจอสามารถสลับ Space แยกกันได้ หรือย้ายแต่ละ Space ไปอีกจอได้
ถ้าหน้าต่างคร่อมกันอยู่ ผลลัพธ์ตอนสลับ Space หรือจัดใหม่ย่อมออกมาประหลาดมากอย่างหลีกเลี่ยงไม่ได้
จนถึงตอนนี้ก็ยังต้องมีแอปอย่าง Magnet ถึงจะควบคุมหน้าต่างได้แบบสมเหตุสมผล และเรื่องหลายจอก็ยังเละเทะ
ในทางกลับกัน บน LG Gram ที่ใช้ KDE Plasma กลับใช้งานสี่จอที่มีความละเอียดและขนาดต่างกันด้วยสเกลคนละค่าได้ดีมาก และ Wayland + Plasma ก็ทำงานได้ดีจนน่าประหลาดใจ
เทียบกับเมื่อก่อนแล้วมันแย่ลงจริง ๆ
เป็นเรื่องยากที่จะโทษปัญหาหลายจอทั้งหมดว่าเป็นความผิดของ OS อย่างเดียว และจากประสบการณ์ส่วนตัวที่เคยใช้หลายแพลตฟอร์ม สุดท้ายมันมีแนวโน้มจะเละเทะได้ทุกที่
การที่หน้าจอเปิดและดับเป็นเหตุการณ์แบบ asynchronous ดังนั้น OS ต้องจัดการแบบ event-based และเพราะหน้าจออาจหายไปเมื่อไรก็ได้ สถานะกราฟิกทั้งหมดจึงต้องคงความถูกต้องอยู่เสมอ
ไม่ว่าการจัดวางหน้าจอสุดท้ายจะเป็นแบบใด ระบบควรจะค่อย ๆ กลับไปสู่สถานะที่ผู้ใช้คาดหวัง แต่โดยมากนักพัฒนาแอปมักโยนปัญหานี้ให้ OS หรือไม่ก็เมินบริการกู้คืนที่คาดเดาได้ที่ OS มีให้ ทำให้สมมติฐานของ OS พังไปด้วย
ไม่ว่าจะเป็นคนย้ายหน้าต่างเองหรือ OS ย้ายให้ระหว่างหลายเลย์เอาต์ การกู้คืนตำแหน่งหน้าต่าง ก็ไม่มีตรรกะที่กำหนดได้ตายตัวแบบสมบูรณ์
ถ้าปิดฝาแล้วรีบูต หน้าจอจะกะพริบ ไฟ LED ของโน้ตบุ๊กก็กะพริบ แล้วสุดท้ายก็ตายไปเลย ซึ่งน่าจะเป็น kernel panic
มารู้ทีหลังว่าเหมือน systemd จะส่งเครื่องเข้าสลีปเพราะคิดว่าไม่ได้ต่อจอภายนอก แล้วก็ปลุกกลับเพราะคิดว่าต่ออยู่ กระบวนการเลยตีกันมั่ว
การ initialize จอใช้เวลาอยู่ และถ้าไม่มี input มันก็จะดับ ทำให้อีเวนต์ซ้อนกันพอดี บางครั้งก็ใช้งานได้ เลยเคยคิดว่าเป็นบั๊กของ kernel หรือ Mesa ถึงขั้นย้าย distro ไปมา
สุดท้ายก็ปิดโหมดสลีปของ systemd ไป แม้จะไม่ใช่วิธีที่ชอบ แต่至少บน Linux ก็ยังปิดมันได้
โดยพื้นฐานแล้ว ถ้าใช้งานที่โต๊ะด้วยจอภายนอกสองจอในคอนฟิกหนึ่ง แล้วถอดไปประชุมก่อนจะกลับมาอีก 30 นาทีให้หลัง ก็ย่อมคาดหวังว่าระบบจะกู้คืนเลย์เอาต์เดิมกลับมาเหมือนเดิม
ถ้าทำให้คอนฟิกระหว่างเดินทางแปลงเป็น workspace ที่ใช้งานได้ดีด้วยก็จะยิ่งดี
หลังติดตั้ง Nvidia แล้ว ก็จำไม่ได้เลยว่าเคยมีปัญหาหลายจอบน Windows หรือ Linux ส่วนบน Windows กลับเป็นเรื่องเสียงที่มีปัญหาตลอดมากกว่า
แม้แค่พักสั้น ๆ หรือปล่อยให้จอเข้าสแตนด์บาย หน้าต่างก็ยังชอบถูกดันย้ายตำแหน่ง เลยลองมาหลายวิธี แต่แม้แต่เครื่องมือที่รับปากว่าจะจำตำแหน่งแบบตรึงไว้ก็ยังไม่น่าพอใจ
ตอนนี้เลยชอบวิธีกำหนด ชุดตำแหน่งหน้าต่าง ด้วย AppleScript ตามสถานการณ์การทำงาน แล้วเรียกผ่านคีย์ลัด
มันทำงานได้โดยไม่ต้องใช้เครื่องมือ third-party และใช้ได้กับหลายหน้าต่างของแอปเดียวกันด้วย
ตัวอย่างเช่น ค่าตั้ง “Dev1” จะจัด Firefox ไว้จอแรก, IntelliJ IDEA ไว้จอที่สอง และ iTerm2 ไว้บนจอ MacBook ในชุดที่มีจอภายนอก 27 นิ้ว 4K สองจอกับ MacBook 14 นิ้ว ซึ่งทำงานได้เสถียร
เคยลองทั้งหลายแอปที่ช่วยคืนค่าคอนฟิกหลายจอและจัดหน้าต่างกลับที่เดิมแล้ว แต่ไม่เสถียร และหน้าต่างก็ยังสลับมั่วอยู่ดี
เวลาของผมมีราคาแพงกว่าค่าไฟที่ Mac ใช้ตอนสลีป เลยใช้งานแบบนี้
จอภาพยังเข้าสลีปได้ และถึงตอนนั้นบางครั้งหน้าต่างก็ยังถูกจัดใหม่ แต่ 99% ของเวลาก็โอเค
แน่นอนว่านี่เป็นการเสียดสีคนที่ชอบยกความล้มเหลวด้าน UX แบบสุ่ม ๆ มาบอกว่า Linux ใช้เป็น daily driver ไม่ได้
ไม่เข้าใจว่าทำไมบางครั้งจอถึงสลับกันเอง
พอล็อกอินแล้วจอเสริมสลับที่กัน ต้องย้ายทุกอย่างกลับ ซึ่งไม่น่าเป็นไปได้เลย
เครื่องก็รู้ทั้ง serial number ของจอและรู้ว่าต่ออยู่พอร์ตไหน แล้วทำไมถึงจำตำแหน่งเดิมจากข้อมูลพวกนั้นไม่ได้ก็ไม่เข้าใจ
อีกอย่างคือผมตั้งพื้นหลังทุกจอเป็นสีดำไว้ แต่พอผ่านไปสองสามวันกลับล็อกอินมาเจอว่าเปลี่ยนเป็นรูปภาพ ก็ชวนหงุดหงิด
แถมยังไม่ยอมให้ใช้ความละเอียด native ได้ง่าย ๆ จนต้องติดตั้ง BetterDisplay และถึงอย่างนั้นก็ยังไม่สมบูรณ์
https://news.ycombinator.com/item?id=40038759
เคยเห็นในโพสต์ HN เมื่อไม่กี่สัปดาห์ก่อนว่า ผู้ผลิตจอมักไม่ได้ใส่ machine ID ที่ไม่ซ้ำกันมาให้อย่างเหมาะสม นอกจากระดับล็อตการผลิต ดังนั้นจอสองตัวที่ซื้อจากล็อตเดียวกันจึงแยกกันไม่ได้ในระดับฮาร์ดแวร์
ตอนแรกก็นึกว่าจะมีเครื่องมือช่วยแก้ แต่จอของผมไม่ได้ต่อเข้ากับ Mac โดยตรง แต่อยู่หลัง docking station เลยทำอะไรไม่ได้
ที่แย่กว่าคือเวลาใช้ F3 ดู “เดสก์ท็อป” เล็ก ๆ ด้านบน มันดูเหมือนน่าจะลากของจอซ้ายไปขวาและของจอขวาไปซ้ายเพื่อสลับกันได้ แต่จะมี virtual desktop อันหนึ่งที่ลากแบบนั้นไม่ได้เสมอ และดันเป็นเดสก์ท็อปที่มีแอปอยู่พอดี
เมื่อก่อนผมใช้ https://github.com/lapo-luchini/WindowsLayoutSnapshot เพื่อจำเลย์เอาต์ และพอรู้ว่าปัญหาเกิดจาก DisplayPort ก็พยายามให้การ์ดจอมีพอร์ต HDMI/DVI เพียงพอเพื่อหลีกเลี่ยง DisplayPort
ตอนนี้ก็ยังเปิดทิ้งไว้อยู่ เพราะมันสะดวกเวลาบังเอิญสั่งย่อทุกหน้าต่างแล้วอยากเรียกกลับมา
บน Mac อาจมีเครื่องมือคล้าย ๆ กันก็ได้
อย่างน้อยก็ต้องมี Rectangle: https://rectangleapp.com/
มันไม่ได้แก้ทุกปัญหา แต่ช่วยให้ ย้ายหน้าต่างด้วยคีย์บอร์ด ได้เร็ว แทนการลากเมาส์ช้า ๆ
ใช้ macOS กับหลายจอมานานกว่าสิบปีแล้ว และทั้ง Spectacle กับ Rectangle ในปัจจุบันถือว่าจำเป็นมาก แม้ตอนใช้แค่หน้าจอโน้ตบุ๊กก็ยังใช้
แค่คีย์ลัดประมาณนี้ก็พอสำหรับการทำงานสองจอได้อย่างมีประสิทธิภาพ
ฉันไม่ค่อยเจอปัญหาเหล่านี้ เพราะมีเครื่องมือฟรีโอเพนซอร์สสองตัวคือ displayplacer https://github.com/jakehilborn/displayplacer และ Phoenix https://github.com/kasper/phoenix
displayplacer เป็นเครื่องมือบรรทัดคำสั่งที่ให้คุณจัดจอมอนิเตอร์ตามต้องการ แล้วสร้างคำสั่งไว้สำหรับกลับมาใช้ชุดการตั้งค่าเดิมในภายหลัง โดยฉันบันทึกคำสั่งสำหรับที่ทำงานสองแห่งไว้แล้วเรียกผ่าน Alfred
ส่วน Phoenix ให้คุณเขียนคีย์ลัดสำหรับจัดการหน้าต่างเองได้ และฉันก็ทำคีย์ลัดไว้ให้มันตรวจจับสถานที่ปัจจุบันจาก UUID ของมอนิเตอร์ แล้วจัดวางหน้าต่างไปยังตำแหน่งที่ต้องการ
งานคล้ายกันนี้ทำได้ด้วย Moom https://manytricks.com/moom/, Rectangle https://github.com/rxhanson/Rectangle, และ Magnet https://magnet.crowdcafe.com เช่นกัน
ฉันตั้ง Dock ให้ซ่อนอัตโนมัติไว้ด้านขวา และให้แถบเมนูแสดงตลอดเฉพาะบนจอตรงกลาง ซึ่งก็ไม่ได้ลำบากอะไรเลย
เคยใช้มาพักหนึ่งแล้วก็พบว่าไม่ได้ต้องการทุกฟีเจอร์ของมัน แต่ตอนนี้ก็ยังพูดถึงมันอย่างเด่นชัดในหน้า https://taoofmac.com/space/apps/window_managers ของฉัน
บน MacBook Pro รุ่นใหม่ที่เปิด ProMotion หรือก็คือ รีเฟรชเรตสูง แอนิเมชันสลับเดสก์ท็อปช้าเกินไป
ความเร็วแอนิเมชันถูกผูกกับรีเฟรชเรตของจอ ดังนั้นถ้าปิด ProMotion แล้วตั้งเป็น 60Hz ปัญหาก็หาย
ระหว่างแอนิเมชันคุณจะโต้ตอบกับหน้าต่างไม่ได้ ทำให้ถ้าจะคลิกอะไรบนเดสก์ท็อปใหม่ก็ต้องรอจนแอนิเมชันชะลอจนจบก่อน และ Apple ก็รู้ปัญหานี้มานานกว่าหนึ่งปีแล้ว
ถ้ามองจากมุมคนใช้ Windows หรือ Plasma ตัวจัดการหน้าต่างมันดูล้าสมัย ทั้งเรื่องเต็มหน้าจอแบบผูกขาด, ไม่มีการ snap, และถึงขั้นต้องแก้ app manifest เพื่อยัด simulator เข้าไปในเลย์เอาต์แบบเรียงช่อง
นอกจากเชลล์ที่มียูทิลิตีเก่า ๆ ติดมาด้วยแล้ว ฉันไม่เคยประทับใจเหตุผลที่คนชอบ macOS สำหรับงานพัฒนาเลย
แม้แต่การตั้งค่าการช่วยการเข้าถึงอย่างลดการเคลื่อนไหว macOS ก็ยังให้ความสำคัญน้อยกว่า Windows จึงยังลำบากถ้าจะหลีกเลี่ยงแอนิเมชันยาว ๆ
ปัญหาที่บทความต้นฉบับบ่นถึง ฉันแทบไม่เจอเลย
หน้าต่างอาจเปิดบนจอที่ไม่คาดคิดบ้าง แต่โดยปกติฉันเปิดหน้าต่างเดิมค้างไว้เป็นเดือน ๆ
เรื่องปิดแอปก็เหมือนกัน บน OS สมัยใหม่ ต่อให้เปิดแอปทิ้งไว้ ถ้าไม่มีโฟกัสมันก็แทบไม่ใช้ทรัพยากรเลย เว้นแต่จะมีงานเบื้องหลังหนัก ๆ
บางครั้งหน้าต่างก็สลับปนกันบ้างแต่ไม่บ่อย และฉันใช้ Studio Display กับ Thunderbolt Display ที่ค่อนข้างเก่าแล้ว
ปัญหา Dock ก็แก้ได้ด้วยการเพิ่มความไวเมาส์และอาศัย กฎของฟิตส์ โดยถ้าเหวี่ยงเคอร์เซอร์ไปทางซ้ายด้วยความเร็วคงที่ ก็จะไปถึง Dock ทางซ้ายของจอรองได้อย่างสม่ำเสมอ
จอที่สองส่วนใหญ่ใช้สำหรับแอป “รอง” ที่แยกตามเดสก์ท็อป จึงแทบไม่ต้องจัดการหน้าต่างด้วยมือเลย แค่สลับไปเดสก์ท็อปที่มีหน้าต่างที่ต้องการก็พอ
ฉันคงปรับตัวกับจอใหญ่เดี่ยวหรือจออัลตร้าไวด์ได้เหมือนกัน แต่การผสม virtual desktop เข้ากับหลายจอมันดีกว่าการมาคอยเล่นกับการเรียงหรือแบ่งหน้าต่างมาก
ฉันสลับไปมาระหว่างชุดหลายจอที่บ้าน ชุดหลายจอที่ออฟฟิศ และการใช้แค่โน้ตบุ๊ก แต่ถึงจะไม่เคยไปศึกษาว่า macOS จำตำแหน่งหน้าต่างอย่างไร ก็ไม่เคยหงุดหงิดกับวิธีที่มันจัดการเลย
เป็นสไตล์ Apple แบบคลาสสิก คือมันก็แค่ใช้งานได้
ถ้าดูแค่หัวข้อ เปลี่ยนเป็น Windows หรือ Linux ก็ยังใช้ได้แทบทั้งหมด
ปล่อยพนักงานสายเทคนิคออกครั้งใหญ่ แล้วบอกว่าสามารถแทนที่ด้วยปัญญาประดิษฐ์ล้ำยุคกับ large language model ขั้นสูงได้ แต่แค่เสียบ จอสองตัว คอมพิวเตอร์ก็พังแล้ว
วิธีแก้คือเอาอะไรไปปิดขา hot-plug detect ของสายจอ เพื่อให้ปิดมอนิเตอร์ได้โดยไม่กระทบ หรือไม่ก็ใช้ PersistentWindows แต่การกู้คืนช้าและยังเด้งข้ามระหว่าง virtual desktop
แถมการค้นหาด้วยคำว่า “windows” กับ “virtual desktops” ก็หายนะสุด ๆ อีก