21 Ekim 2012 Pazar

Gtk,Qt


Merhaba, bu dönem Gtk ile terminal emülatörü yapmaya çalışıyorum. Geçen yıl Qt üzerinde çalışmış olmam bu dönem yapmaya çalıştıklarıma oldukça yardımcı oluyor aslında. Qt daha çok KDE masaüstü ortamında kullanılmakta(Qt Skype'ta da kullanılıyormuş bugün öğrendim), GTK ise Gnome 'da. Yakuake kullansamda Gnome çok sevdiğim bir masaüstü ortamı olduğunu da söylemeden geçmeyeyim. Gtk ile uygulama yapmak güzel. Kendisi C ile yazılmış ve LGPL ile lisanslanmış. Ben de Gtk'yı Python ile bağlayarak kullanıyorum. Çalıştığım uygulamada henüz terminalimiz çok temel özelliklere sahip. Bugün uygulamaya kaydırma çubuğu ekledim. Bir de uygulamayı çalıştırdığımda o an hangi dizinde çalışıyorsa Bash'te konumu çalıştığı dizin olarak alıyordu. Bunun yerine nereye kurulu olursa olsun o anki kullanıcının ev dizininden başlatılacak şekilde olmasını yaptım. Terminal üzerinde kopyalama yapıştırma gibi işlemlerden de biraz bahsedeyim. Öncelikle "item2.connect("activate",self.copy)" diyerek kopyalama seçeneği aktif olduğunda çalışacak copy adında bir fonksiyon tanımlamış oldum.
def copy(self, widget=None, data=None):
                if self.terminal.get_has_selection():
                        self.terminal.copy_clipboard()
diyerek copy fonksiyonunun içeriğini yazdım. Bu şekide kopyalama işlemimiz tamamlanmış oldu. Sonraki yazılarımda bu iş hakkında daha ayrıntılı bahsetmek üzere görüşürüz :)