- มีการสร้างแอปทดสอบเพื่อยืนยันว่า บั๊กการแก้ไขการปรับขนาดหน้าต่าง ใน macOS 26.3 ได้รับการแก้ไขแล้วหรือไม่
- วิเคราะห์ พื้นที่ตอบสนองต่อการคลิกรอบขอบหน้าต่าง ด้วยการสแกนระดับพิกเซล และแสดงสถานะการตอบสนองด้วยสี
- ใน RC เวอร์ชันที่แก้ไขแล้ว พบว่ามีการเปลี่ยนเป็น พื้นที่โค้งตามรัศมีมุม แสดงให้เห็นถึงการปรับปรุง
- อย่างไรก็ตาม ความหนาของพื้นที่ปรับเฉพาะแนวตั้ง·แนวนอนลดลงจาก 7 พิกเซลเหลือ 6 พิกเซล ทำให้ความแม่นยำในการใช้งานลดลง
- ในรีลีสสุดท้าย การแก้ไขถูก ถอดออกทั้งหมดและกลับไปเป็นพื้นที่สี่เหลี่ยมแบบเดิม และใน release notes ก็เปลี่ยนจาก “Resolved Issue” เป็น “Known Issue”
การเปลี่ยนแปลงใน macOS 26.3 RC เวอร์ชัน
- ใน release notes ของ macOS 26.3 RC มีการระบุชัดเจนว่า ได้แก้ไขปัญหาการปรับขนาดหน้าต่าง ที่ถูกหยิบยกขึ้นมาในบล็อกก่อนหน้าแล้ว
- ด้วยเหตุนี้จึงมีการสร้างแอปทดสอบเพื่อยืนยันการเปลี่ยนแปลงที่เกิดขึ้นจริง
- แอปทดสอบจะ สแกนระดับพิกเซล บริเวณมุมล่างขวาของหน้าต่าง และแสดงการตอบสนองต่อการคลิกเมาส์ด้วยสี
- แดง: มีการตอบสนองต่อการคลิก
- เขียว: สามารถปรับขนาดได้
- เหลือง: ปรับได้เฉพาะแนวตั้งหรือแนวนอน
- น้ำเงิน: ไม่มีเหตุการณ์เมาส์
- ผลลัพธ์คือพื้นที่ปรับขนาดหน้าต่างถูกเปลี่ยนจาก สี่เหลี่ยมเป็นรูปทรงที่ตามเส้นโค้งของมุม ทำให้ความสอดคล้องด้านภาพดีขึ้น
- อย่างไรก็ตาม ความหนาของพื้นที่สีเหลืองลดลงจาก 3 พิกเซลเหลือ 2 พิกเซล ทำให้ความหนารวมลดจาก 7 พิกเซลเหลือ 6 พิกเซล
- นี่คือการลดลงประมาณ 14% ซึ่งทำให้ผู้ใช้มีโอกาสพลาดพื้นที่ปรับมากขึ้น
การถดถอยใน macOS 26.3 รีลีสสุดท้าย
- เมื่อนำการทดสอบเดียวกันมารันอีกครั้งในเวอร์ชันสุดท้าย พบว่า การแก้ไขใน RC เวอร์ชันถูกถอดออกไปทั้งหมด
- พื้นที่ปรับขนาดหน้าต่างจึงกลับไปเป็น รูปสี่เหลี่ยมแบบเดิม อีกครั้ง
- ใน release notes ของ Apple สถานะของปัญหานี้ก็ถูกเปลี่ยนจาก “Resolved Issue” เป็น “Known Issue” เช่นกัน
- กล่าวคือ การแก้ปัญหาถูกถอนกลับ และปัญหานี้ยังคง เป็นบั๊กที่รับรู้กันอยู่
1 ความคิดเห็น
ความเห็นจาก Hacker News
ตั้งแต่ได้รู้จัก window manager (WM) บน Linux ครั้งแรก ก็เชื่อมาตลอดว่าการย้ายหน้าต่างและปรับขนาดด้วยคอมโบ super+lmb/rmb มีประสิทธิภาพที่สุด
ข้อดีที่สุดคือไม่ต้องคอยเล็งหัวหน้าต่างหรือมุมทีละพิกเซลอีกต่อไป
ดูการถกเถียงที่เกี่ยวข้องได้ใน เธรด Reddit ด้วย
สิ่งที่คิดถึงที่สุดคือความสามารถในการ ปรับขนาดหน้าต่างได้อย่างอิสระ ไม่ว่าจะเป็นหน้าต่างไหนก็ตาม
พอใช้จอแนวตั้งแล้วจะยิ่งเสียดายที่หน้าต่างโมดัลขนาดคงที่มักมีแถบเลื่อนติดมาโดยไม่จำเป็น
เท่ากับได้พื้นที่หน้าจอคืนมาเต็ม ๆ
Control+Commandได้ตั้งค่าได้ด้วยคำสั่ง
defaults write -g NSWindowShouldDragOnGesture -bool trueและถ้าใช้ร่วมกับ three-finger drag ก็แทบไม่มีปัญหาเรื่องการ resize ตรงขอบเลยถึงจะใช้ Aerospace กับ Karabiner-Elements เพื่อจำลอง workflow ส่วนใหญ่ได้ แต่ก็ยังคิดถึงการ resize ด้วย super+คลิกขวาอยู่ดี
อย่างน้อย ctrl+cmd+คลิกซ้ายเพื่อย้ายหน้าต่างก็ถือว่าใช้ได้ดีทีเดียว
หน้าจอใหญ่ขึ้นเรื่อย ๆ แต่กลับรู้สึกว่าองค์ประกอบ UI เล็กลงและกดยากขึ้น
สมัย Macintosh 640x480 ปุ่มควบคุมหน้าต่างชัดเจนและกดง่ายกว่านี้มาก
มีการย้อนความหลังเกี่ยวกับเรื่องนี้ใน บทความบล็อกนี้ ด้วย
ทุกวันนี้มีจอที่ ppi เกิน 200 เยอะแล้ว แต่ยังคงใช้หน่วยพิกเซลเดิมอยู่ก็ดูไม่มีประสิทธิภาพ
บางทีอาจดีกว่าถ้ากลับไปใช้ tiling window manager แล้วตัดเรื่องการปรับขนาดด้วยปุ่มเดียวไปเลย
โดยเฉพาะทัชแพดและคีย์บอร์ดยุค blackbook ที่คุณภาพยอดเยี่ยม และรองรับหลายจอก็ดีมาก
ถ้า ปรัชญาการออกแบบของ MacOS รุ่นเก่า มารวมกับฮาร์ดแวร์สมัยใหม่ จะออกมาเป็นแบบไหนก็น่าสนใจ
ถ้าความหนาเป็นพิกเซลลดจาก 7 เหลือ 6 ก็เท่ากับลดลง 14% ก็จริง แต่ไม่ได้แปลว่า โอกาสคลิกพลาด จะเพิ่มขึ้น 14% พอดี
เพราะการคลิกของผู้ใช้ไม่ได้กระจายแบบสม่ำเสมอ แต่มีแนวโน้มไปที่ตรงกลางมากกว่า
ช่วงหลังการอัปเดตของ Apple ให้ความรู้สึกว่าเพิ่ม บั๊กมากขึ้น ทั้งใน macOS, iOS และ iPadOS
เหมือนมีบางกลุ่มภายในที่ให้น้ำหนักกับตรรกะขององค์กร มากกว่าผลประโยชน์ของผู้ใช้
พอปัญหาใหม่ ๆ แบบนี้เกิดขึ้น ก็เหมือนการควบคุมคุณภาพภายในของ Apple กำลังสั่นคลอนอย่างหนัก
ไม่มีแม้แต่ข้อความเตือน แค่ล้มไปเฉย ๆ
การเปลี่ยนแปลงครั้งนี้เคยถูกแก้ในเวอร์ชัน RC แล้ว แต่กลับ ถูกย้อนกลับในรุ่นปล่อยจริง
ดูเหมือนจะมี regression หรือผลข้างเคียงบางอย่าง เลยอยากรู้ว่าปัญหาที่แท้จริงคืออะไร
เช่นเวลามุมของหน้าต่างสองบานซ้อนกัน อาจไม่สามารถใช้แค่ bounding box แบบง่าย ๆ ได้อีก และต้องคำนวณจากกราฟิก mask จริง
หรือไม่ก็อาจเป็น บั๊กหรือแครช ธรรมดา
กลับกัน สิ่งที่น่าสนใจกว่าคือทำไมบั๊กนี้ถึงถูกจัดการได้เร็วขนาดนั้น
เรื่อง hit testing ของ UI เป็นปัญหาที่วงการแก้กันมาหลายสิบปีแล้ว แต่ยังมีข้อถกเถียงอยู่ก็น่าแปลก
แม้แต่มุมโค้งเองก็ไม่ได้ยากในเชิงเทคนิค เลยเดาว่าอาจมี ความขัดแย้งระหว่างดีไซเนอร์กับนักพัฒนา ภายใน
แตะใกล้ ๆ คอนโทรลแล้วมักมี element อื่นตอบสนองแทน
ถ้าใน CSS ควบคุม tap zone ได้ก็คงดี แต่ตอนนี้ต้องเพิ่ม HTML element หรือยัด
onclickhandler เข้าไปแบบฝืน ๆและใน iOS 26 Safari ก็ยังมีปัญหาใหม่ที่ ดักจับ tap event อีกด้วย
มีบั๊กที่อยู่ ๆ ก็ปรับขนาดหน้าต่างไม่ได้มาหลายเดือน และสาเหตุคือ หน้าต่างพาดอยู่สองจอ
ถ้าหน้าต่างล้ำไปอีกหน้าจอแม้แค่ไม่กี่พิกเซล ก็จะ resize ไม่ได้เลย
บางครั้งตำแหน่งหน้าต่างก็ถูกจำไว้ บางครั้งก็ย้ายไปจออื่นแบบมั่ว ๆ หรือถึงขั้นไปโผล่ใน พื้นที่ที่มองไม่เห็น
เริ่มเข้าใจแล้วว่าทำไม Apple ถึงดูเหมือนอยากให้ผู้ใช้ใช้หน้าต่างแบบ tile หรือ full screen เท่านั้น
มันไม่นิ่งกว่า Windows หรือ Linux เสียอีก
ตอนนี้แทบไม่ต้องลากด้วยเมาส์เองแล้ว
แม้จะไม่สมบูรณ์แบบ แต่ BetterTouchTool สามารถใช้สามนิ้วแตะสองครั้งเพื่อสลับโหมด resize ได้
ถ้าใช้ Yabai ก็ไม่ต้องปิด SIP ทั้งหมด และยังใช้ปุ่ม HYPER เพื่อ ย้ายหน้าต่าง ได้ด้วย
ปรับหน้าต่างตามการเคลื่อนของเคอร์เซอร์ และพอปล่อยปุ่มก็หยุดทันที
เคยลองแอป resize หน้าต่างบน Mac มาหลายตัว แต่ก็ยังไม่มีตัวไหนดีเท่า FancyZones ของ Windows PowerToys
ไม่ได้อยากได้คีย์ลัดซับซ้อนหรือ hot corner
สิ่งที่ต้องการมีแค่สองอย่าง
ถ้ามีแอปที่ให้ฟีเจอร์แบบนี้โดยไม่ต้องสมัครสมาชิกก็คงดี
แต่ฉันเลือกติดตั้ง Hammerspoon แล้วเขียนสคริปต์ Lua เอง
เป็นการตั้งค่าแบบคัสตอมสำหรับจอ 1440p สองจอ เลยทำให้โค้ดเรียบง่ายและแก้ไขง่าย
ดูได้ที่ เว็บไซต์ทางการของ Hammerspoon และ ตัวอย่างสคริปต์ของฉัน
Lasso มีเลย์เอาต์แบบกริด และ MacsyZones ก็ให้ฟีเจอร์คล้ายกันในรูปแบบโอเพนซอร์ส
Swish, BentoBox, Lasso, MacsyZones
ถ้าขนาดนี้จน Gnome เริ่มดูดีกว่า ก็ถือว่าสถานการณ์หนักแล้ว
พอกลับมาใช้ Mac แล้วไม่เข้าใจว่าทำไม Spotlight กับ Mission Control ถึงแยกกันอยู่
การดูแอปทั้งหมดด้วยปุ่ม Win, จัดครึ่งจอ, หรือ maximize แบบไม่ full screen ล้วนตรงไปตรงมากว่า macOS มาก