GNOME tarzı arabirimler oluşturmak için Libadwaita 1.5 kitaplığının piyasaya sürülmesi

GNOME Projesi, GNOME HIG'yi (İnsan Arayüzü Yönergeleri) takip eden kullanıcı arayüzü stili için bir dizi bileşen içeren Libadwaita 1.5 sürümünü yayınladı. Kütüphane, arayüzü her boyuttaki ekrana uyarlanabilir şekilde ayarlanabilen, genel GNOME stiline uygun uygulamalar oluşturmak için hazır widget'lar ve nesneler içerir. Kütüphane kodu C dilinde yazılmıştır ve LGPL 2.1+ lisansı altında dağıtılmaktadır.

Libadwaita kütüphanesi, GTK4 ile birlikte kullanılır ve GNOME'da kullanılan, GTK'dan ayrı bir kütüphaneye taşınan Adwaita temasının bileşenlerini içerir. GNOME stil öğelerinin ayrı bir kitaplığa taşınması, GNOME'a özgü değişikliklerin GTK'dan ayrı olarak geliştirilmesine olanak tanıyarak, GTK geliştiricilerinin temel öğelere odaklanmasına ve GNOME geliştiricilerinin, GTK'nın kendisini etkilemeden istedikleri stil değişikliklerini daha hızlı ve esnek bir şekilde ileri itmelerine olanak tanır.

Kitaplık, listeler, paneller, düzenleme blokları, düğmeler, sekmeler, arama formları, iletişim kutuları vb. gibi çeşitli arayüz öğelerini kapsayan standart widget'lar içerir. Önerilen widget'lar, hem büyük PC ve dizüstü bilgisayar ekranlarında hem de akıllı telefonların küçük dokunmatik ekranlarında sorunsuz bir şekilde çalışan evrensel arayüzler oluşturmanıza olanak tanır. Uygulama arayüzü, ekran boyutuna ve mevcut giriş cihazlarına bağlı olarak dinamik olarak değişir. Kitaplık ayrıca, manuel uyarlamaya gerek kalmadan görünümü GNOME yönergeleriyle uyumlu hale getiren bir dizi Adwaita stili içerir.

 GNOME tarzı arabirimler oluşturmak için Libadwaita 1.5 kitaplığının piyasaya sürülmesi

Libadwaita 1.5'teki ana değişiklik, görünür alanın boyutuna göre ayarlanan iletişim kutuları oluşturmak için uyarlanabilir widget'ların yeniden işlenmesiydi. Ayrı pencerelerde barındırılan geleneksel diyalogların aksine, yeni diyaloglar istemci tarafında oluşturulur, mevcut pencerelerin içinde oluşturulur ve ana pencerenin dışına taşamaz. Bu yaklaşım, mobil ve masaüstü sistemlere yönelik arayüzlerle birleştirilebilecek evrensel diyalogların oluşturulmasını basitleştirir ve aynı zamanda diyalogları yönetmek için ek seçenekler sunar (örneğin, pencere sınırından çıkmak için izleme yapılmasına gerek yoktur; kapatma düğmeleri, uygulamaların mobil sürümlerinde tam ekrana otomatik genişleme sağlanır, iletişim kutusu karartılırken sistemin değil geçerli pencerenin stili dikkate alınır).

 GNOME tarzı arabirimler oluşturmak için Libadwaita 1.5 kitaplığının piyasaya sürülmesi  GNOME tarzı arabirimler oluşturmak için Libadwaita 1.5 kitaplığının piyasaya sürülmesi

Gelecekte, bu tür diyalogların pencerelere değil, pencere içindeki sekmelere bağlı, tarayıcı gibi uygulamalarda ihtiyaç duyulabilecek başka bir versiyonunun uygulanması planlanmaktadır, böylece bir sekmeyle ilişkili diyaloglar ana pencereyle örtüşmez. sekmeler arasında geçiş yapma.

Mobil cihazlar için, diyalogların merkeze hizalanmış sayfalar yerine ekranın altına yerleştirilmiş sayfalar (alt sayfalar) biçiminde yerleştirilmesi desteği uygulanmıştır. Alt tarafa eklenen iletişim kutuları, kullanıcıları pencereleri kapatma konusunda kafa karışıklığından kurtarır - bu tür iletişim kutularında, ana pencerenin bir kısmı görünür kalır ve ana pencereyi kapatma düğmeleri ile iletişim kutusunun kendisi açıkça ayrılır, bu nedenle bunları karıştırmak artık zordur.

 GNOME tarzı arabirimler oluşturmak için Libadwaita 1.5 kitaplığının piyasaya sürülmesi

Yeni diyaloglar, çoğu durumda GtkWindow sınıfının kullanımına benzeyen AdwDialog sınıfı kullanılarak yönetilir; aradaki farklar görüntüleme ve kapatma işlemleridir. Örneğin, ":transient-for" özelliği adw_dialog_current() işlevindeki bir parametreyle değiştirildi, yeni bir "::close-attempt" sinyali eklendi ve ":can-close" parametresinin işlenmesi değiştirildi . Yeni diyaloglarla AdwPreferencesWindow, AdwAboutWindow ve AdwMessageDialog sınıfları yerine AdwPreferencesDialog, AdwAboutDialog ve AdwAlertDialog sınıflarının kullanılması önerildi.

Ana penceresi olmayan diyaloglar yine ayrı pencereler olarak değerlendirilecektir. Ana pencereleri iletişim kutularını barındırmak için kullanılamayan iletişim kutuları, örneğin yeniden boyutlandırmaya izin vermiyorsa veya onlar için AdwWindow ve AdwApplicationWindow sınıflarına sahip değilse, pencere olarak da işlev görür.

Libadwaita 1.5'teki diyalog yeniden çalışmasıyla ilgili olmayan değişiklikler:

  • Giriş alanındaki metnin boyutunu sınırlamak için AdwEntryRow sınıfına ":text-length" özelliği eklendi.
  • AdwMessageDialog sınıfına kaldır_response() yöntemi eklendi.
  • AdwBreakpointBin sınıfına kesme noktalarını programlı olarak kaldırma yeteneği eklenmiştir; bu, kullanıcı arayüzünü pencere boyutuna bağlı olarak herhangi bir şekilde değiştirmenize olanak tanır.
  • Üst çubuğun üstünde kaydırmaya izin vermek için AdwSwipeTracker sınıfına ":allow-window-handle" bayrağı eklendi (alt kenara iliştirilen sayfalarda kullanılır).
  • Koyu tasarım tarzında pencereleri gölgelendirirken kullanılan renklerin parlaklığı artırıldı.

Kaynak: opennet.ru

Yorum ekle