LibreOffice İçin Eklenti Oluşturma

Selamlar,

LibreOffice çeşitli özelliklere sahip bir ofis yazılımıdır ancak ek özelliklere ihtiyacınız olabilir. Bunun için eklentileri kullanabilirsiniz.

Eklentiler, eklenebilen/kaldırılabilen ana programdan bağımsız araçlardır. Standart LibreOffice bileşenlerine yeni işlevler ekleyebilir ya da mevcut işlevselliği kolaylaştırabilir.

Eklenti Marketinden indirip deneyebilirsiniz.

**LibreOffice eklenti yapısının nasıl olduğundan yazmış olduğum küçük bir örnek yardımıyla bahsedeceğim.

.oxt formatındaki sıkıştırılmış dosyayı açtığımızda tam yapı şu şekildedir:

Klasörde bulunan tüm dizin ve dosyaların eklenti içerisinde bir görevi var.

Dosyalar:

Addons.xcu -> Eklentiyi çalıştırdığınızda arayüzde görüntülenecek değişiklikleri barındırır.

build -> Eklentide bir değişiklik yaptığınızda bu betiği çalıştırarak yeni bir “eklentiadi.oxt” dosyası oluşturabilirsiniz.

description.xml -> Eklenti yöneticide görüntülenen eklentinin simgesi,adı, açıklaması gibi özelliklerinin (description dizini içerisinde bulunan dosyaların) dosya yolları bulunur.

extensionname.txt -> İçerisinde eklenti adı bulunur “eklentiadi.oxt” şeklinde.

Hello.py -> Eklentinin yapacağı iş bu dosyada tanımlanır.

Dizinler:

description -> İçerisindeki license.txt dosyası lisans metnini oluşturur, description.txt dosyasının içeriği ise eklenti yöneticiye uzantıyı ekledikten sonra eklentinin açıklaması olarak görünmektedir.

images -> Eklentinin simgesi bu dosya içerisinde bulunur.

META-INF -> manifest.xml dosyası bulundurur bu dosya içinde paketin içindeki tüm dosyaların bir listesi, paketteki her dosyanın media tipi bilgileri bulunur.

Eklenti yöneticiden eklentiyi kurmak için;

- Add
- .oxt uzantılı dosyayı seç
- Lisans sözleşmesini kabul et
- LibreOffice'i yeniden başlat.

Bu eklenti araç çubuğuna bir buton ekliyor ve butona tıkladığınız “Hello World!” çıktısı veriyor.

Eklentiyi github’a koydum. Eklentinin nasıl yazıldığını anlamak için temel bir örnek.

Not: Bozuk bir eklentiyi çalıştırınca, kaldırmak istediğimizde sorunla karşılaşıyoruz.

Bu bozuk eklentileri eklenti yöneticiden kaldırmak için:

/home/user/.config/libreoffice/4/user/uno_packages/cache/uno_packages/ içerisinde hangi eklentiyi kaldırmak istiyorsak onun .tmp_ uzantılı dizinini siliyoruz.

Geliştirici sürümünde aynı sorunla karşılaştığınızda ise:

libreoffice/instdir/user/uno_packages/cache/uno_packages/ içinde bulunan ilgili .tmp_ uzantılı dizini siliyoruz.