Python ile Budgie masaüstü için uygulama geliştirmek

Python ile Budgie masaüstü için uygulama geliştirmek

Giriş

Bu derste Allah'ın izni ile Python programlama dili ile Budgie masaüstü için nasıl uygulama geliştirebileceğimizi öğreneceğiz.

Pencereli bir uygulama

Öncelikle Gtk kütüphanesi kullanarak basit pencereli bir uygulama geliştirmeye çalışalım.

Aşağıdaki kütüğü selam.py ismi ile kaydediniz.

import gi

gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

class Selamla (Gtk.Window):

    def __init__(bir):
        super().__init__()

        bir.selam = Gtk.Label(label="Selâmun Aleyküm")
        bir.add(bir.selam)
        bir.show_all()


selamla = Selamla()
selamla.connect("destroy", Gtk.main_quit)
Gtk.main()

Uygulamayı çalıştırmak için python selam.py yazmanız yeterlidir.

Uygulamanın açıklaması

Kaynak kodu incelediğimizde import ile from satırları arası Gtk 3.0 kütüphanesini kullanmak istediğimizi belirtiyoruz.

Oluşturduğumuz Selamla isimli sınıf Gtk pencere sınıfından miras alıyor. Yani bir penceredir.

Python'da kurucu işlev def __init__(bir) şeklinde tanımlanıyor.

Burada bir kelimesi bazı kaynaklarda self olarak geçiyor.

bir yerine dilediğimiz ismi verebiliriz.

Önemli olan ilk sırada sınıfa gönderilmiş olmasıdır.

Bu ilk parametre sınıfın kendisini gösteriyor.

Örneğin bir.selam dersek sadece sınıfın içinde geçerli bir değişken tanımlamak istediğimizi belirtiyoruz.

Basit bir etiket oluşturuyoruz. Bu etiketi pencereye ekliyoruz.

selamla = Selamla()

satırında ise gerçekten oluşturduğumuz pencere sınıfına ait bir örnek oluşturuyoruz.

selamla.connect("destroy", Gtk.main_quit)

Bu satır çarpı işaretine basıncı uygulamadan çıkılmasını sağlıyor.

Uygulamayı yazalım

Kaynak kodda aşağıdaki değişikleri yapıp selam.py ismi ile kaydediniz.

import gi.repository

gi.require_version('Budgie', '1.0')
from gi.repository import GObject, Budgie, Gtk

class Selam (GObject.GObject, Budgie.Plugin):
    __gtype_name__ = "Selam"

    def __init__(bir):
        GObject.GObject.__init__(bir)

    def do_get_panel_widget(bir, no):
        return Selamla(no)

class Selamla (Budgie.Applet):

    def __init__(bir, no):
        Budgie.Applet.__init__(bir)

        bir.selam = Gtk.Label(label="Selâmun Aleyküm")
        bir.add(bir.selam)
        bir.show_all()

Uygulamanın kaynak kodunun açıklaması

Uygulamanın kaynak koduna baktığımızda import ile from satırları arası GObject, Budgie ve Gtk kütüphanelerini ekledik.

Selam isimli bir sınıf ekledik.

Bu sınıf Budgie.Plugin sınıfından türetiliyor.

Kısacası Selam sınıfının türü bir eklentidir.

Selamla sınıfına gelince daha önce bir Gtk penceresinden miras alıyordu. Bu sefer bir Budgie uygulamasından türüyor.

Selamla sınıfının türü ise uygulamadır.

Yani artık bir Budgie uygulaması geliştiriyoruz.

Selamla sınıfının kurucu işlevinde üst sınıfın kurucu işlevini çağırıyoruz.

Budgie.Applet.__init__(bir)

Uygulamayı oluşturalım

Öncelikle bir dizin oluşturalım.

mkdir ~/.local/share/budgie-desktop/plugins/selam

Oluşturduğumuz dizine selam.py kütüğünü kopyalayalım.

cp selam.py ~/.local/share/budgie-desktop/plugins/selam/selam.py

Oluşturduğumuz dizinin içine girelim.

cd ~/.local/share/budgie-desktop/plugins/selam/

Bu dizinde Selam.plugin isimli bir kütük oluşturup içine aşağıdaki bilgileri girelim.

[Plugin]
Loader=python3
Module=selam
Name=Selam
Description=Selam ver
Authors=Erdem
Copyright=Her hakkı sebildir
Website=https://elektronik.vercel.app
Icon=firefox

Kütüğü kaydettikten sonra bir üst dizine geçelim.

cd ..

Eklentiyi tanıtmak için aşağıdaki komutu verelim.

budgie-panel --replace &

Eğer bir hata vermezse eklentimiz yüklenecektir.

Hata iletileri ekrana yazılıyor.

Eklentiyi yükleyelim

Eklentiyi yüklemek için masaüstünde sağ tıklıyoruz.

Budgie Masaüstü Ayarları'nı seçiyoruz.

Kendi geliştirdiğimiz eklentilerin diğer eklentilerle karışmaması için yeni bir rıhtım oluşturabiliriz.

Buradan yeni panel oluştur diyoruz.

Budgie masaüstü ayarları

Rıhtımın ayarları yukarıdaki gibidir.

Uygulamalar bölümünden Uygulama ekle kısmından + işaretine basarak eklentiyi ekleyebiliriz.

Budgie eklenti seçimi

Rıhtıma eklendikten sonra uygulamanın çalıştığını görebilirsiniz.

Budgie selam eklentisi

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.