หลังจากแปดเดือนของการพัฒนา ประกาศเปิดตัว GTK 4.8.0 เวอร์ชันใหม่แล้วซึ่งยังคงพัฒนาสาขา GTK 4.x ต่อไปภายใต้กระบวนการพัฒนาใหม่ที่พยายามให้นักพัฒนาแอปพลิเคชันได้รับ API ที่เสถียรและใช้งานได้หลายปีซึ่งสามารถใช้งานได้โดยไม่ต้องกลัวว่าแอปพลิเคชันจะต้องทำงานใหม่ทุก ๆ หกเดือนเนื่องจาก การเปลี่ยนแปลง API
สำหรับผู้ที่ยังใหม่กับ GTK คุณควรรู้ว่า นี่คือไลบรารีส่วนประกอบกราฟิกข้ามแพลตฟอร์ม เพื่อพัฒนาส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) ได้รับอนุญาตภายใต้เงื่อนไขของ GNU LGPL ดังนั้นจึงอนุญาตให้สร้างทั้งซอฟต์แวร์ฟรีและซอฟต์แวร์ที่เป็นกรรมสิทธิ์
คุณสมบัติใหม่หลักของ GTK 4.8
ในเวอร์ชันใหม่ที่นำเสนอนี้ ห้องสมุด จีดีเค ซึ่งมีเลเยอร์ระหว่าง GTK และระบบย่อยกราฟิก ได้เพิ่มประสิทธิภาพการแปลงรูปแบบพิกเซล บนระบบที่มีไดรเวอร์ NVIDIA ส่วนขยาย EGL EGL_KHR_swap_buffers_with_damage จะถูกเปิดใช้งาน
ห้องสมุด ปสก. ซึ่งให้ความสามารถในการแสดงฉากกราฟิกผ่าน OpenGL และ Vulkan รองรับการประมวลผลของพื้นที่ที่มองเห็นได้ขนาดใหญ่ (วิวพอร์ต) นอกเหนือจากไลบรารีสำหรับการวาดร่ายมนตร์โดยใช้พื้นผิว
สำหรับ Linux ใน Wayland รองรับโปรโตคอล "xdg-activation" แล้วซึ่งช่วยให้ถ่ายโอนโฟกัสระหว่างพื้นผิวระดับแรกต่างๆ (เช่น การใช้ xdg-activation แอปพลิเคชันหนึ่งสามารถเปลี่ยนโฟกัสไปยังอีกแอปพลิเคชันหนึ่งได้)
ใน GTK 4.8 วิดเจ็ต GtkTextView ได้ลดจำนวนสถานการณ์ที่นำไปสู่การวาดซ้ำ และใช้ฟังก์ชัน GetCharacterExtents เพื่อกำหนดพื้นที่ด้วยสัญลักษณ์ที่กำหนดตัวละครในข้อความ (คุณลักษณะที่ร้องขอโดยเครื่องมือสำหรับผู้ทุพพลภาพ)
ระดับ Gtkวิวพอร์ต, ซึ่งใช้ในการจัดเรียงการเลื่อนในวิดเจ็ต เปิดใช้งานโหมด "เลื่อนเพื่อโฟกัส" โดยค่าเริ่มต้น ซึ่งเนื้อหาจะเลื่อนโดยอัตโนมัติเพื่อให้มุมมองขององค์ประกอบที่มีโฟกัสอินพุต
วิดเจ็ต GtkSearchEntry ซึ่งแสดงพื้นที่สำหรับการป้อนคำค้นหา ให้ความสามารถในการกำหนดค่าการหน่วงเวลาระหว่างการกดแป้นครั้งล่าสุดและการส่งสัญญาณการเปลี่ยนแปลงเนื้อหา (GtkSearchEntry::search-changed)
นอกจากนั้น ยังอยู่ใน GTK 4.8 เน้นถึงความสามารถที่เพิ่มขึ้นของดีบักเกอร์ pues se การสร้างภาพข้อมูลแอปพลิเคชันที่นำมาใช้ และอนุญาตให้แสดงคุณสมบัติ PangoAttrList ระหว่างการตรวจสอบ
นอกจากนี้ยังมีการเน้นย้ำว่า เอ็นจิ้น CSS ได้ปรับการจัดกลุ่มใหม่ขององค์ประกอบที่เกี่ยวข้อง ด้วยพาเรนต์เดียวกันและอนุญาตให้ใช้ค่าที่ไม่ใช่จำนวนเต็มเมื่อกำหนดขนาดของช่องว่างระหว่างตัวอักษร
ไปยัง macOS เพิ่มการรองรับโหมดเต็มหน้าจอและการเล่นวิดีโอโดยใช้ OpenGL เช่นเดียวกับการตรวจจับจอภาพที่ได้รับการปรับปรุง ทำงานในการตั้งค่าหลายจอภาพ การวางหน้าต่าง และการเลือกขนาดสำหรับกล่องโต้ตอบไฟล์ด้วย แอพได้รับอนุญาตให้ทำงานในพื้นหลัง.
บน Windows การวางตำแหน่งหน้าต่างที่ดีขึ้นบนหน้าจอ HiDPIเพิ่มอินเทอร์เฟซการตรวจจับสี ใช้งานการสนับสนุนสำหรับเหตุการณ์วงล้อเมาส์ที่มีความละเอียดสูง และการสนับสนุนทัชแพดที่ได้รับการปรับปรุง
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:
- อัปเดตข้อมูลอีโมจิเป็นชุด CLDR 40 (Unicode 14)
- เพิ่มการสนับสนุนสำหรับสถานที่ใหม่
- เพิ่มคำสั่งสกรีนช็อตในยูทิลิตี้ gtk4-builder-tool เพื่อสร้างภาพหน้าจอ ซึ่งใช้ในการสร้างภาพหน้าจอสำหรับเอกสารประกอบ
- อินเทอร์เฟซตัวเลือกแบบอักษร (GtkFontChooser) ได้ปรับปรุงการรองรับคุณสมบัติการจัดรูปแบบ OpenType
- ตอนนี้วิดเจ็ต GtkCheckButton มีความสามารถในการกำหนดวิดเจ็ตย่อยของตัวเองด้วยปุ่ม
- เพิ่มคุณสมบัติ "พอดีเนื้อหา" ในวิดเจ็ต GtkPicture เพื่อให้พอดีกับเนื้อหาตามขนาดพื้นที่ที่กำหนด
- ประสิทธิภาพการเลื่อนได้รับการปรับให้เหมาะสมในวิดเจ็ต GtkColumnView
- ติดตั้งยูทิลิตี้ gtk4-node-editor แล้ว
- เพิ่มการรองรับเสียงในแบ็กเอนด์ ffmpeg แล้ว
- ขีดจำกัดหน่วยความจำในตัวอัปโหลดภาพ JPEG เพิ่มขึ้นเป็น 300 MB
- เปลี่ยนรูปแบบของอินเทอร์เฟซตัวเลือกสี (GtkColorChooser)
สุดท้ายนี้ หากสนใจอยากทราบข้อมูลเพิ่มเติม สามารถเข้าไปดูรายละเอียดใน ลิงค์ต่อไปนี้
อย่างไรก็ตาม มีโปรเจ็กต์ใหม่ชื่อ CTK ซึ่งเป็นทางแยกของ gtk3 ที่ทำงานร่วมกับ cafe-desktop ซึ่งเป็นส้อมของ mate-desktop ที่ใช้ ctk ซึ่งยังไม่เสร็จ แต่ส่วนประกอบบางส่วนใช้งานได้แล้ว ความตั้งใจของมันคือการทำให้เดสก์ท็อปแบบคลาสสิกคงอยู่ตลอดไป ซึ่งเป็นสิ่งที่เข้ากันไม่ได้กับ gtk4
https://github.com/cafe-desktop/ctk
https://github.com/cafe-desktop
ทักทาย!