From: Tonguç Yumruk (trooper@ttnet.net.tr)
Date: Tue 14 Jan 2003 - 22:08:09 EET
Tue, Jan 14, 2003 at 11:03:55AM -0800 Tarihinde Bilgehan Baki Bilen Demişki :
>
> herkese selam,
>
> son zamanlarda linuxla ilgili desktop environment(Turkcesi nedir?) pencere yoneticileri ve linux uzerinde grafik gibi konularda arastirma yapiyorum ancak kafam biraz karisti...
Masaüstü ortamı diyebiliriz mesela...
> Bir kac sorum olacak: oncelikle farkli desktop environmentlarin gelistirim araclari da farkli(Kdevelop) gnome icin farkli araclar var.. Bunun nedeni ne acaba? Ayrica X11 ntam olarak nedir? Isletim sistemi uzerinde calisan ve isletim sistemine grafik yetenegi kazandiran bir yazilim mi? Bir API mi? yani X11'in cagirabilecegimiz Win32 benzeri fonksiyonlari var mi? X11'de pencere acabiliyor muyuz? Pencere acabilmek icin illa Motif benzeri bir pencere yoneticisi kullanmak zorunda miyiz? Yani pencere yoneticisi X11'e pencerelerin renkli gorunumu disinda ne kazandiriyor? Mesela X11'de ekran uzerinde istedigimiz kadar pencere acabilir miyiz? X11'de de grafiksel cizim windowstaki gibi ancak bir pencere icine mi yapiliyor? Ayrica ornek olarak linuz uzerinde bir oyun gelistirdigimizi dusunelim sadece bir tek adet fullscreen pencereye ihtiyacimiz var ve bu pencerenin title bar, close button gibi ozellikleri yo yine de pencere yoneticisine ihtiyacimiz var mi? X11 pencere uzerindeki event'lari handle edebiliyor mu? GTK+
ve Qt nedir?(biraz absurd oldu) yani KDE ve GNOME bunlari ne icin kullaniyor? Bunlar library'mi?
X11 Linux'un grafik ortam için kullandığı sistemdir. Xlib adlı bir
kütüphane ile API çağrıları yapılabilir. X11 sistemi windows'un grafik
sistemine oranla daha gelişmiş birçok özelliğe sahiptir. Eğer komut
satırından xinit yazarak grafik ortamı açarsanız bir pencere yöneticisi
olmadan X'in nasıl birşey olduğunu görebilirsiniz. Bir pencere
yöneticisi kullanmanız mecbur değildir, istediğiniz kadar pencere
açabilirsiniz. Ama bir pencre yöneticisi kullanmanız hayatınızı oldukça
kolaylaştıracaktır. Pencere yöneticisinin görevi adından anlaşılacağı
üzere pencereleri yönetmektir. Yani pencere yöneticisi açtığınız
pencerelerin boyutunu ayarlar, ikon haline küçültür, tam ekran yapar
vs... Yani sadece güzel görünmesini sağlamaktan biraz öteye gider. Eğer
sadece tek bir pencere açık olacaksa bir pencere yöneticisine
ihtiyacınız olmaz.
X sistemi pencerelerin içerisindeki nesnelere mesajları iletmez. Sadece
"pencerenin şu noktasına mouse tıkladı" gibi mesajlar iletir. o
tıklamayı yorumlamak programın işidir. QT, Gtk gibi kütüphaneler burada
devreye girer... Şüphesiz X'in mesajlarını ve API'lerini kullnarak
arayüz geliştirmek pek kolay değildir. QT, Gtk vs... bu noktada
programcıya daha bildik nesneler (butonlar, formlar vs...) sunarak
programlamayı oldukça kolaylaştırırlar. X'in ilettiği mesajları
yorumlayarak "X,Y noktasına tıklandı" mesajını "şu butona tıklandı"
olayına çevirmek bu toolkitlerin işidir.
> merak ettigim diger birsey windows uzerinde opengl ile gelistirilen oyunlar seslendirme icin yanilmiyorsam directaudio kullaniyor peki linux oyunlari seslendirme icin ne kullaniyor malum linuxta directx yok
Oyunlar için kesin konuşamayacağım ama genelde Linux'ta makinadan ses
çıkartmak için /dev/sound dosyasına yazmak yeterli olur.
> su adresteki ikinci resme bakarsaniz Xserver uzerindeki iki daldan sagdakinde yukaridan asagiya XClient- Toolkit-XLib goruyoruz Toolkit katmanina Motif gibi pencere yoneticiler mi giriyor?
Adresi göremedim? Ama anladığım kadarıyla cevaplamaya çalışayım. X
sistemi az önce de anlattığım gibi katmanlı bir yapıya sahiptir. XClient
kullanıcıdır. Toolkit Gtk, QT, Tk, Motif vs... gibi düğmeler vs... sunan
arayüzlerdir. Xlib ise X sisteminin API'sidir... Xlib API'si genellikle
ekrandaki düğmeleri vs... oluşturmak için kullanılır.
> Son olarak KDE veGNOME'in API'leri var mi?
>
Gerek KDE gerekse GNOME geliştiricilerin masaüstü fonksiyonlarına
erişimleri için birçok API sunarlar.
Tüm bu anlatılanlar hakkındaki çok detaylı dökümantasyonu internetten
bulmanız mümkündür.
> Bilgehan Baki Bilen Hacettepe Universitesi BMB
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now
>
> -----------------------------------------------------------------------
> Liste ?yeli?iniz ile ilgili her t?rl? i?lem i?in
> http://liste.linux.org.tr adresindeki web aray?z?n? kullanabilirsiniz.
>
> Listeden ??kmak i?in: 'linux-request@linux.org.tr' adresine,
> "Konu" k?sm?nda "unsubscribe" yazan bir e-posta g?nderiniz.
> -----------------------------------------------------------------------
-- Sevgi Saygı Linux ################################################################################ If this is timesharing, give me my share right now. ################################################################################ Tonguç Yumruk-- Attached file included as plaintext by Ecartis --
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux)
iD8DBQE+JG4p1xWu4MLSyoYRAmlZAJwPJaSGquWDOuxc16nd0kapOXWXAwCfQhAL l7iWNXZBwF4SuCabM5XBGjk= =H0px -----END PGP SIGNATURE-----
----------------------------------------------------------------------- Liste üyeliğiniz ile ilgili her türlü işlem için http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.
Listeden çıkmak için: 'linux-request@linux.org.tr' adresine, "Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz. -----------------------------------------------------------------------