การสะสางโค้ดและการปรับปรุงแบ็กเอนด์

4.1 ปรับรุ่นเป็น GTK+ 2.10

GNOME 2.16 จะใช้ GTK+ 2.10 เป็นฐาน ซึ่งจะได้การปรับปรุงมากมายที่ได้มาจาก โครงการ Ridley ซึ่งเป็นความพยายามที่จะรวมไลบรารีของ GNOME จำนวนหนึ่งเข้าใน GTK+

ประโยชน์อย่างแรกที่ผู้ใช้ GNOME จะได้รับก็คือ ความสามารถเกี่ยวกับการพิมพ์ของ GTK+ 2.10 ซึ่งมี API ระดับบนที่ไม่ขึ้นกับแพลตฟอร์ม เรียกว่า GtkPrintOperation ซึ่งมีกล่องโต้ตอบสั่งพิมพ์แบบใหม่ นอกจากนี้ ยังมี API ระดับล่างที่เจาะจงสำหรับยูนิกซ์ให้ด้วย ซึ่งขณะนี้สนับสนุนการพิมพ์ด้วย CUPS และ lpr

รูปที่ 11กล่องโต้ตอบสั่งพิมพ์ปรับปรุงใหม่

โปรแกรมของ GNOME หลายตัวได้ย้ายมาใช้ส่วนสนับสนุนการพิมพ์ตัวใหม่นี้แล้ว เช่น โปรแกรมอ่านเอกสาร Evince, เว็บเบราว์เซอร์ Epiphany, และโปรแกรมอ่านคู่มือวิธีใช้ Yelp

การย้ายครั้งนี้ เป็นจุดเริ่มต้นของการปลดระวางไลบรารีเดิมที่เคยใช้ คือ libgnomeprint และ libgnomeprintui เราขอสนับสนุนให้โครงการภายนอก GNOME ใช้ฟังก์ชันใหม่ของ GTK+ 2.10 นี้แทน

การปรับปรุงที่สำคัญอีกอย่างหนึ่งที่มาพร้อมกับ GTK+ 2.10 คือ API ใหม่ GtkRecent ซึ่งจัดการรายการของแฟ้มและเอกสารที่เปิดล่าสุด โปรแกรม GNOME ที่ใช้ฟังก์ชันใหม่นี้ รวมถึงโปรแกรมจัดการแฟ้ม (Nautilus), โปรแกรมอ่านเอกสาร (Evince) และเครื่องมือแก้ไขข้อความ (Gedit)

กล่องโต้ตอบเลือกแฟ้มก็ได้รับการปรับปรุงด้วย โดยช่องป้อนตำแหน่งแฟ้ม (ซึ่งก่อนหน้านี้จะเปิดได้ด้วย Ctrl+L) ได้ถูกรวมเข้าในกล่องโต้ตอบแล้ว และกล่องโต้ตอบทั้งหมดก็ยังมีการตอบสนองต่อคำสั่ง แม้ขณะทำงานเกี่ยวกับแฟ้มที่กินเวลานาน

รูปที่ 12ช่องป้อนตำแหน่งแฟ้มในกล่องโต้ตอบเลือกแฟ้ม

GTK+ 2.10 มีโหมด gtk-touchscreen-mode ซึ่งมีผลต่อการเปลี่ยนแปลงต่างๆ เพื่อให้ GTK+ ทำงานได้ดียิ่งขึ้นกับ touchscreen ซึ่งใช้กันทั่วไปในอุปกรณ์พกพาและฝังตัว

ยังมีการปรับปรุงอื่นๆ ที่มีใน GTK+ 2.10 ที่มีการใช้งานไปทั่วทั้งเดสก์ท็อป เช่น วิดเจ็ตใหม่สำหรับแสดงไฮเพอร์ลิงก์ที่คลิกได้ วิดเจ็ตสำหรับสร้างเครื่องมือวิเศษสำหรับทำงานเป็นขั้นๆ และการสนับสนุนการลากวางที่ดีขึ้นในสมุดบันทึก ซึ่งช่วยให้สามารถเปลี่ยนลำดับของแท็บ ย้ายแท็บข้ามสมุดบันทึก หรือแยกออกมาเป็นหน้าต่างโดยลากไปวางที่พื้นโต๊ะได้

4.2 GTK และ GNOME เติมชาร์ป

GNOME 2.16 มาพร้อมกับไบน์ดิงของ GTK+ และไลบรารีของ GNOME สำหรับแฟนๆ ของภาษา C# (ซีชาร์ป) ด้วย ซึ่งหมายความว่า กรอบงาน Mono ได้กลายเป็นส่วนหนึ่งของไบน์ดิงของ GNOME ด้วย

นอกจากนี้ ซอฟต์แวร์ที่เขียนด้วย C# ก็ยังสามารถได้รับการเสนอให้เป็นมอดูลใหม่สำหรับ GNOME รุ่นต่อๆ ไปด้วย อย่างไรก็ตาม มอดูลต่างๆ ที่มีอยู่ของ GNOME ยังต้องผ่านกระบวนการเสนออีกที ถ้ามอดูลดังกล่าวใช้ GTK# และ/หรือ Mono เป็นฐาน

4.3 แบ็กเอนด์ใหม่ของ Bug-buddy

Bug-buddy เครื่องมือรายงานบั๊กของ GNOME รุ่นนี้ เริ่มใช้โพรโทคอล XML-RPC และไม่ต้องการโปรแกรม sendmail ในระบบอีกต่อไป ผลก็คือ โครงการต่างๆ ที่ใช้ Bug-buddy จะต้องมีข้อมูลที่ถูกต้องในแฟ้ม .desktop ของโปรแกรมด้วย

วิธีเดิมในการรายงานบั๊ก (ที่ใช้ sendmail) จะยังคงได้รับการสนับสนุนต่อไปเป็นเวลาหนึ่งปี หลังจากนั้น ผู้ใช้ที่ใช้ Bug-buddy รุ่นเก่าจะไม่สามารถรายงานบั๊กได้อีกต่อไป

4.4 การสนับสนุนยูนิโค้ด 5.0

GNOME 2.16 จะเป็นเดสก์ท็อปรุ่นแรกของโลกที่สนับสนุนฐานข้อมูลอักขระยูนิโค้ด (Unicode Character Database หรือ UCD) รุ่น 5.0 ซึ่งได้กำหนดรหัสอักขระกว่า 99,000 ตัวสำหรับภาษาต่างๆ ในโลกนี้ การปรับปรุงดังกล่าวได้ฝังอยู่ในไลบรารี GLib และ Pango ของ GNOME จึงสามารถเรียกใช้ได้โดยโครงการซอฟต์แวร์เสรีและโอเพนซอร์สต่างๆ ที่ใช้ไลบรารีเหล่านี้

4.5 รายการตัดออกและบันทึกอื่นๆ

  • เนื่องจากขาดการดูแล ชุดตกแต่ง กาละแม, ฝันถึงทะเล, ง่ายๆ, ฟ้าหม่น, และ ดั้งเดิม ได้ถูกตัดออกไป และในทำนองเดียวกัน กลไกชุดตกแต่ง Lighthouseblue และ Metal ก็ถูกตัดออกไปด้วย
  • โปรแกรมอ่านหน้าจอ Gnopernicus ได้ถูกแทนที่โดย Orca แล้ว