นักพัฒนา GNOME เปิดตัว ไลบรารี libadwaite เวอร์ชันเสถียรรุ่นแรก ซึ่งรวมถึงชุดของส่วนประกอบสำหรับการออกแบบส่วนต่อประสานผู้ใช้ที่เป็นไปตามแนวทางของ GNOME HIG (Human Interface Guidelines)
ไลบรารีนี้ประกอบด้วยวิดเจ็ตและอ็อบเจ็กต์ที่พร้อมใช้งานสำหรับการสร้างแอปพลิเคชันที่สอดคล้องกับสไตล์ GNOME ทั่วไป ซึ่งอินเทอร์เฟซนี้สามารถปรับให้เข้ากับหน้าจอขนาดใดก็ได้
ห้องสมุด Libadwaite คือ ใช้ร่วมกับ GTK4 และรวมส่วนประกอบธีม GNOME Adwaita ถูกย้ายจาก GTK ไปยังห้องสมุดแยกต่างหาก
รหัส libadwaita ขึ้นอยู่กับไลบรารี libhandy และอยู่ในตำแหน่งที่จะแทนที่ไลบรารีนี้ซึ่งเดิมสร้างขึ้นเพื่อสร้างอินเทอร์เฟซที่ตอบสนองบนแพลตฟอร์มมือถือที่ใช้เทคโนโลยี GNOME และได้รับการปรับปรุงในสภาพแวดล้อม Phosh GNOME สำหรับสมาร์ทโฟน Librem 5
ห้องสมุด iรวมวิดเจ็ตมาตรฐานที่ครอบคลุมองค์ประกอบอินเทอร์เฟซต่างๆ เช่น รายการ แผง แก้ไขบล็อก ปุ่ม แท็บ แบบฟอร์มการค้นหา กล่องโต้ตอบ ฯลฯ วิดเจ็ตที่เสนอนี้ช่วยให้สามารถสร้างอินเทอร์เฟซสากลที่ทำงานได้ทั้งบนหน้าจอพีซีและแล็ปท็อปขนาดใหญ่ และบนหน้าจอสัมผัสขนาดเล็กของสมาร์ทโฟน
อินเทอร์เฟซของแอปพลิเคชัน เปลี่ยนแปลงแบบไดนามิกตามขนาดหน้าจอและอุปกรณ์ อินพุตที่มีอยู่ ไลบรารียังมีชุดค่าที่ตั้งล่วงหน้าของ Adwaita ที่ปรับรูปลักษณ์ให้สอดคล้องกับแนวทางของ GNOME โดยไม่ต้องปรับแต่งเอง
การย้ายรูปภาพ GNOME ไปยังไลบรารีแยกต่างหากช่วยให้การเปลี่ยนแปลงที่จำเป็นสำหรับ GNOME ได้รับการพัฒนาแยกจาก GTK ทำให้นักพัฒนา GTK สามารถมุ่งเน้นไปที่พื้นฐาน และนักพัฒนา GNOME ผลักดันการเปลี่ยนแปลงรูปแบบที่พวกเขาต้องการมากขึ้น รวดเร็วและยืดหยุ่นโดยไม่กระทบต่อ GTK เอง
อย่างไรก็ตาม แนวทางนี้สร้างความท้าทายให้กับนักพัฒนา ของสภาพแวดล้อมผู้ใช้ตาม GTK ของบุคคลที่สามที่ ต้องใช้ libadwaita และปรับให้เข้ากับข้อกำหนดของ GNOME และสร้างใหม่หรือพัฒนาเวอร์ชันของคุณเองของไลบรารีสไตล์ GTK ยอมจำนนต่อแอปพลิเคชัน GNOME ที่จะมีลักษณะต่างกันในสภาพแวดล้อมตามไลบรารีสไตล์ของบุคคลที่สาม
ความผิดหวังหลักของนักพัฒนาสภาพแวดล้อมภายนอกเกี่ยวข้องกับปัญหาการแทนที่สีขององค์ประกอบอินเทอร์เฟซ แต่นักพัฒนา libadwaita กำลังทำงานเพื่อจัดหา API สำหรับการจัดการสีที่ยืดหยุ่น ซึ่งจะเป็นส่วนหนึ่งของเวอร์ชันในอนาคต
ในบรรดาปัญหาที่ยังไม่ได้แก้ไขนั้นเรียกการทำงานที่ถูกต้องของวิดเจ็ตควบคุมท่าทางสัมผัสบนหน้าจอสัมผัสเท่านั้น สำหรับแผงสัมผัส การทำงานที่ถูกต้องของวิดเจ็ตเหล่านี้จะมีให้ในภายหลัง เนื่องจากต้องมีการเปลี่ยนแปลง GTK
การเปลี่ยนแปลงที่สำคัญใน libadwaita เมื่อเทียบกับ libhandy:
- ชุดสไตล์ที่ออกแบบใหม่ทั้งหมด
- กลไกสำหรับการผูกสีกับองค์ประกอบและการเปลี่ยนสีระหว่างการใช้งานแอปพลิเคชันมีการเปลี่ยนแปลง (ปัญหาเกี่ยวข้องกับข้อเท็จจริงที่ว่า libadwaita เปลี่ยนไปใช้ SCSS ซึ่งต้องมีการประกอบใหม่เพื่อเปลี่ยนสี)
- ปรับปรุงคุณภาพการแสดงผลเมื่อใช้ธีมสีเข้มเนื่องจากการเลือกรายการที่ตัดกันมากขึ้น
- ลิภันดี กลายเป็น ลิพัทธะ
- เพิ่มคลาสสไตล์ใหม่ส่วนใหญ่เพื่อใช้ในแอปพลิเคชัน
- ไฟล์ SCSS แบบเสาหินขนาดใหญ่แบ่งออกเป็นชุดไฟล์สไตล์ขนาดเล็ก
เพิ่ม API เพื่อตั้งค่าสไตล์มืดและโหมดคอนทราสต์สูง - เอกสารประกอบได้รับการแก้ไขใหม่ และขณะนี้ถูกสร้างขึ้นโดยใช้ชุดเครื่องมือ gi-docgen
- เพิ่ม API แอนิเมชั่นที่สามารถใช้เพื่อสร้างเอฟเฟกต์การเปลี่ยนภาพเมื่อแทนที่สถานะหนึ่งด้วยสถานะอื่น เช่นเดียวกับการสร้างแอนิเมชั่นสปริง
- สำหรับแท็บที่ใช้ AdwViewSwitcher ความสามารถในการแสดงป้ายกำกับที่มีจำนวนการแจ้งเตือนที่มองไม่เห็นถูกเพิ่มเข้ามา
- เพิ่มคลาส AdwApplication (คลาสย่อยของ GtkApplication) สำหรับการเริ่มต้น Libadwaita และรูปแบบการโหลดอัตโนมัติ
เพิ่มวิดเจ็ตที่เลือกเพื่อลดความซับซ้อนของการดำเนินการทั่วไป: - AdwWindowTitle สำหรับตั้งชื่อหน้าต่าง, AdwBin สำหรับลดความซับซ้อนของคลาสย่อยย่อย, AdwSplitButton สำหรับปุ่มคอมโบ, AdwButtonContent สำหรับปุ่มที่มีไอคอนและป้ายกำกับ
- ล้าง API เสร็จแล้ว
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.