Twin Text-Based Window Manager ได้รับการสนับสนุน Truecolor หลังจากการพัฒนามากว่า 30 ปี

ทีมบรรณาธิการ BigGo
Twin Text-Based Window Manager ได้รับการสนับสนุน Truecolor หลังจากการพัฒนามากว่า 30 ปี

Twin ซึ่งเป็นสภาพแวดล้อมหน้าต่างแบบข้อความที่มีเอกลักษณ์เฉพาะตัวและได้รับการพัฒนาอย่างเงียบๆ มาตั้งแต่ต้นทศวรรษ 1990 กำลังสร้างความฮือฮาในชุมชนนักพัฒนาเมื่อผู้สร้างประกาศความคืบหน้าที่สำคัญในการสนับสนุน truecolor Window manager แบบ terminal นี้นำเสนอทางเลือกที่น่าสนใจแทนอินเทอร์เฟซกราฟิกแบบดั้งเดิม โดยให้การสนับสนุนเมาส์ การจัดการหน้าต่าง และความโปร่งใสของเครือข่ายทั้งหมดภายในสภาพแวดล้อมข้อความ

โปรเจกต์นี้มีประวัติศาสตร์ที่ไม่ธรรมดาซึ่งสะท้อนใจนักพัฒนาที่มีประสบการณ์มายาวนาน เริ่มต้นเป็นแอปพลิเคชัน DOS ในปี 1993 และย้ายไปยัง Linux ในปี 1999 Twin ได้รักษารูปลักษณ์ที่มีเอกลักษณ์ซึ่งได้รับแรงบันดาลใจจาก Borland Turbo Vision ตลอดการเดินทางสามทศวรรษของมัน สิ่งที่น่าสังเกตเป็นพิเศษคือแม้จะได้รับการดูแลรักษาและใช้งานอย่างต่อเนื่อง โปรเจกต์นี้ยังคงอยู่ที่เวอร์ชัน 0.9.0 ซึ่งเป็นการเตือนใจว่าหมายเลขเวอร์ชันไม่ได้สะท้อนถึงความสมบูรณ์หรือความเสถียรของซอฟต์แวร์เสมอไป

ประเภทการแสดงผลที่รองรับ: เทอร์มินัลข้อความธรรมดา, X11 (xterm หลายหน้าต่าง), การแสดงผล Twin แบบซ้อน, ไคลเอนต์ twdisplay แบบโปร่งใสผ่านเครือข่าย

การเปรียบเทียบแบบคิดถึงอดีตกระตุ้นความสนใจ

การอภิปรายในชุมชนได้ดึงความคล้ายคลึงที่น่าสนใจระหว่าง Twin และระบบหน้าต่างในตำนานจากอดีตของคอมพิวเตอร์ ผู้ใช้กำลังรำลึกถึง DESQview, IBM TopView และสภาพแวดล้อม multi-tasking บุกเบิกอื่นๆ ที่ผลักดันขอบเขตของสิ่งที่เป็นไปได้บนฮาร์ดแวร์ที่มีข้อจำกัด การเปรียบเทียบเหล่านี้ไม่ได้เป็นเพียงการคิดถึงอดีต แต่ยังเน้นย้ำว่าแนวทางของ Twin อาจมีความเกี่ยวข้องเป็นพิเศษสำหรับความท้าทายในการคำนวณสมัยใหม่

การสนทนาได้ขยายไปรวมถึงระบบประวัติศาสตร์อื่นๆ เช่น AlphaWindows และอินเทอร์เฟซแบบ terminal ต่างๆ ซึ่งบ่งบอกว่ามีความสนใจอย่างแท้จริงในการทบทวนแนวคิดหน้าต่างแบบ text-mode ด้วยฮาร์ดแวร์ที่ทรงพลังในปัจจุบัน ระบบสมัยใหม่ที่มีจอภาพ 4K เครือข่ายความเร็วสูง และ core หลายสิบตัวอาจปลดล็อกความเป็นไปได้ใหม่ๆ สำหรับการออกแบบอินเทอร์เฟซประเภทนี้

แพลตฟอร์มที่รองรับ: Linux (i386, x86_64, ARM, ARM64, PowerPC, Alpha, Sparc), macOS (x86_64), FreeBSD (i386, x86_64)

วิวัฒนาการทางเทคนิคและข้อจำกัดปัจจุบัน

เรื่องราวการพัฒนาของ Twin เผยให้เห็นความท้าทายในการดูแลรักษาโปรเจกต์ที่ซับซ้อนตลอดหลายทศวรรษ ผู้สร้างได้อภิปรายอย่างโปร่งใสเกี่ยวกับ technical debt ที่สะสมมากว่า 30 ปี รวมถึงความจำเป็นในการเปลี่ยนจาก C เป็น C++ และการกำจัด preprocessor macro จำนวนมากที่สะสมมาตลอดเวลา การสนับสนุน Unicode ได้รับการเพิ่มเข้ามาประมาณปี 2015-2016 แม้ว่าคุณสมบัติการแสดงผลข้อความขั้นสูงบางอย่าง เช่น grapheme cluster และการสนับสนุนข้อความจากขวาไปซ้ายยังคงขาดหายไป

การใช้งาน truecolor ที่กำลังพัฒนาอยู่ในปัจจุบันเผชิญกับความท้าทายทั่วไปของการแยกส่วนมาตรฐานสีของ terminal มีกลไกสีที่แตกต่างกันเจ็ดแบบที่ terminal ต่างๆ สนับสนุน ตั้งแต่มาตรฐาน ECMA-48 สี 8 สีพื้นฐานไปจนถึงสีแบบ 24-bit เต็มรูปแบบที่มีการปฏิบัติตาม ITU T.416 อย่างเหมาะสม ความซับซ้อนนี้หมายความว่า Twin ต้องนำทางปัญหาความเข้ากันได้กับการใช้งาน terminal ที่แตกต่างกันซึ่งอาจปฏิบัติตามมาตรฐานอย่างถูกต้องหรือไม่ก็ได้

การรองรับสีของเทอร์มินัล: 7 กลไกที่แตกต่างกัน ตั้งแต่ ECMA-48 แบบ 8 สีพื้นฐานไปจนถึงการรองรับ ITU T.416 แบบ 24-บิตเต็มรูปแบบ

การใช้งานในโลกแห่งความจริงและข้อเสนอแนะจากชุมชน

สิ่งที่ทำให้ Twin แตกต่างจากโปรเจกต์ retro-computing หลายๆ โปรเจกต์คือมีผู้ใช้ที่ใช้งานจริงซึ่งพึ่งพามันในชีวิตประจำวัน ผู้สร้างได้ใช้ Twin เป็น terminal emulator และ multiplexer หลักของตนเองตั้งแต่ประมาณปี 2000 โดยค่อยๆ เพิ่มคุณสมบัติตามความต้องการในโลกแห่งความจริง แนวทางที่ใช้งานได้จริงนี้ช่วยให้โปรเจกต์รักษาความเกี่ยวข้องแม้จะมีกระบวนทัศน์อินเทอร์เฟซที่ไม่ธรรมดา

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

โปรเจกต์ยังคงพัฒนาต่อไปโดยคำนึงถึงความต้องการสมัยใหม่ โดยสนับสนุนสถาปัตยกรรมหลายแบบรวมถึง ARM64 และทำงานบนระบบปฏิบัติการต่างๆ ตั้งแต่ Linux ไปจนถึง macOS และ FreeBSD สำหรับนักพัฒนาที่สนใจในกระบวนทัศน์อินเทอร์เฟซทางเลือกหรือผู้ที่ทำงานในสภาพแวดล้อมที่มีทรัพยากรจำกัด Twin เป็นตัวอย่างที่น่าสนใจของวิธีที่อินเทอร์เฟซแบบข้อความสามารถให้ฟังก์ชันการทำงานที่ซับซ้อนโดยไม่ต้องการสภาพแวดล้อมเดสก์ท็อปกราฟิกเต็มรูปแบบ

อ้างอิง: Twin - a Textmode WINdow environment