16 Ocak 2017 Pazartesi

LibreOffice - Kendi Notebookbar'ınızı Oluşturun

Yakın zamanda MUFFIN konsepti içinde tanıtılan Notebookbar, LibreOffice fonksiyonlarının serbestçe yerleştirilebileceği ve düzenlenebileceği boş bir tuval gibidir. Fazla kodlama bilgisi gerektirmeden dilediğiniz şekilde özelleştirmeye açıktır. Nasıl özelleştirebileceğimize dair LibreOffice Dizayn ekibinden bir geliştirici gayet güzel bir blog yazısı yazmış. Türkçe konuşan kullanıcılar için aktarmak istedim.

Çalışma Ortamının Hazırlanması

Notebookbar arayüz (ui) dosyaları sadece XML formatlı metin dosyalarıdır. Dosyaları herhangi bir metin düzenleyicisinde değiştirmek mümkündür, ancak oldukça sıkıcıdır. ui dosyalarını değiştirmenin varsayılan yolu şimdilik Glade kullanmaktır.

$ sudo apt-get install glade

Glade'yi kurduktan sonra, belirli kontrolleri kullanmak için LibreOffice kataloğunu eklemek gerekmektedir. Glade'i çalıştırın. Düzenle->Tercihler-> Katalog ekle (+)  kısmından <libreoffice kurulumu>/share/glade dizinini ekleyin.

Glade'i yeniden başlattığınızda sol tarafta LibreOffice'e ait kataloğun eklendiğini göreceksiniz.

Mevcut Notebookbar'ı Düzenleme

Artık mevcut araç çubuklarını değiştirebilirsiniz. Mevcut notebookbar'ların ui dosyaları aşağıdaki konumlardadır.

Kelime işlemci için <libreoffice kurulumu> /share/config/soffice.cfg/modules /swriter/ui/
Hesap tablosu için <libreoffice kurulumu> /share/config/soffice.cfg/modules/scalc/ui/
Sunum için <libreoffice kurulumu> /share/config/soffice.cfg/modules/simpress/ui/
altındaki notebookbar_groups.ui veya notebookbar_simple.ui'dir.

Sadece bu ui dosyasını Glade'e yükleyin, istediğiniz gibi değiştirin, kaydedin ve değiştirin. Yaptığınız değişikliği LibreOffice'de görebilmek için yeniden başlatmanıza gerek yoktur.

Yeni Notebookbar Oluşturma

Mevcut dosyalarla uğraşmaktan korkuyorsanız sıfırdan başlamak da mümkündür. İlk önce yeni oluşturacağımız bu ui dosyasının referansını <libreoffice kurulumu>/share/registry/main.xcd içine eklemek gerekmektedir. Ne yazık ki, bu XML dosyası oluşturma işlemi sırasında düzenleme yapılmasını engelleyen satır sonları olmadan oluşturulmuştur. Neyse ki, XML dosyalarını biçimlendirmede yardımcı olan tidy adlı küçük bir araç var. Main.xcd dosyasını önce main.bak olarak yeniden adlandırın ve şunu çalıştırın:

$ cat main.bak | tidy -utf8 -xml -w 255 -i -c -q -asxml > main.xcd

Artık dosyayı tercih ettiğiniz metin düzenleyicisinde açabilirsiniz. Ekleme yapacağınız satırı dosya içinde "notebookbar_groups" kelimesi ile arayın ve çoğaltmak için komple bölümü kopyalayıp yapıştırın:


  <prop oor:name="Label">
    <value xml:lang="en-US">Contextual groups</value>
  </prop>
  <prop oor:name="File">
    <value>notebookbar_groups.ui</value>
  </prop>
  <prop oor:name="HasMenubar">
    <value>true</value>
  </prop>
</node>
Notebookbar_groups.ui'nin her uygulama için bir tane olması gerekir. Aşağıdaki bölümü değiştirdiğinizden emin olun:

 <oor:component-data xmlns:install="http://openoffice.org/2004/installation" oor:name="Notebookbar" oor:package="org.openoffice.Office.UI">
//...
  <node oor:name="Applications">
    <node oor:name="Writer" oor:op="replace">

Artık düğüm adını "Groups" dan "MyMuffin" e, etiketi "Contextual Groups" dan "My Muffin" e, ve dosya referansını notebookbar_groups.ui'den notebookbar_mymuffin.ui'ye değiştirmeniz gerekmektedir.

Gerçek dosya olan notebookbar_mymuffin.ui dosyasını <libreoffice kurulumu> /share/config/soffice.cfg/modules/swriter/ui/ adresinde oluşturun ve temel öğelerini girin:
<?xml version="1.0" encoding="UTF-8"?>
  <interface>
    <requires lib="gtk+" version="3.12"/>
    <requires lib="LibreOffice" version="1.0"/>
  </interface>

Ayrıca, yeni bir dosya oluşturmak veya diğer Notebookbar dosyalarından birini çoğaltmak ve içeriği silmek için Glade'yi kullanabilirsiniz. Yaratıcılığınızı bekleyen güzel bir boş kanvas görmek için Kelime işlemciyi başlatın.

Notebookbar'ı Düzenlemek

Çok basit bir uygulama ile başlamak için klasik bir araç çubuğu oluşturuyoruz. Glade'i çalıştırın ve oluşturduğunuz ui dosyasını açın. Kutu sembolünü (Konteynerler bölümündeki ilk öğe) boş kanvasın üzerine sürükleyin. Açılır pencerede öğe sayısını 1 olarak değiştirin (tüm özellikleri daha sonra değiştirebilirsiniz). Şimdi bir Notebookbar araç kutusu ekleyin (LibreOffice bölümündeki son öğelerden birinde, Kaplar altındaki ortak araç çubuğu çalışmıyor) ve GtkBox'a bırakın. Tüm denetimleri istediğiniz gibi yeniden boyutlandırabilirsiniz, ancak son hizalama LibreOffice tarafından yapılır.

sfxlo-NotebookbarToolbox'a sağ tıklayıp düzenleyi seçin. İletişim kutusunda, Hiyerarşi sekmesine gidin ve Ekle'yi tıklayın. Sağda Özelliklerin bulunduğu alanda Action Name kısmına ".uno:Open" yazın.



Araç çubuğu öğeleri varsayılan olarak düğmeler olarak tanımlanır ve normal "Aç" fonksiyonunun aksine ek özelliklere sahip bir menüye sahip olmazsınız. Bu özelliği Hiyerarşi altından kolaylıkla değiştirebilirsiniz: Tool Item->Type kısmında Düğmeden Menüye çevirebilirsiniz.

Daha fazla işlev eklemek isteyebilirsiniz, bu nedenle tüm işlevlerin nasıl çağrıldığını ve nereden yardım alacağınız sorusu ortaya çıkmaktadır.

.uno:Nedir?

.uno: komutları, bir işleve ait isim ve araç ipuçları, seçili temaya bağlı simge, etkin / devre dışı durum, gerçek işlev vs. gibi tüm bilgileri jenerik bir modele dönüştürür. Örneğin, .uno:Bold, düğmenin metin görünümünü kalın / kalın değil olarak değiştirdiği anlamına gelir. İşlevleri adıyla biliyorsanız, ana menü spesifikasyonunda (menubar.xml) sağdaki .uno: komutunu <libreoffice kurulumu> /share/config/soffice.cfg/modules/swriter/menubar/ adresinde bulabilirsiniz (diğer modüller için sırasıyla) scalc / menubar, simpress / menubar vb.).

Ve elbette diğer Notebookbar'lara bakmak mantıklı. Bağlam bağlı bölümleri nasıl ele alacağınızı, sekmeleri nasıl kullanacağınızı ve çok basit araç çubuğu yerine büyük düğmeleri nasıl kullanacağınızı gösterir.

Özetle

Mevcut Notebookbar'ları Glade'yi kullanarak <libreoffice kurulumu> /share/config/soffice.cfg/modules/ <module> / ui adresinde değiştirebilir veya <libreoffice> /share/registry/main.xcd dosyasını düzenledikten sonra kendinizinkini ekleyebilirsiniz. Notebookbar, kontrollerin eklenebileceği boş bir tuval.

Bu değişiklikler hacktir ve bir sonraki güncelleme ile geçersiz kılınacaktır. Bu prosedürün kullanıcı dostu olmadığının farkındayız. Mevcut uygulama deneysel ve çok erken bir aşamadadır. Fakat mümkün olanı bir fikir verir.

Daha da önemlisi, LibreOffice ile birlikte gönderilen mevcut Notebookbar türevlerini düzeltebilir veya geliştirebilirsiniz. Bu yüzden, daha iyi yapılabilecek bir şey gördüğünüzde iyileştirmeleri yamalar olarak kabul ediyoruz!