GUI programlamasında bazı şeyler yapmayı öğrenme sürecinde (örneğin, bir uygulama için ekranda yer ayırma), Pencere Yöneticisi hakkında daha fazla şey öğrenmek zorundayım, genellikle Linux'ta X11 (dağıtıcının olup olmadığından emin değilim) X11'den başka bir şey kullanan , henüz henüz uygulanmamış Wayland'ı duyduğum halde .
Programlama konusunda oldukça yeni ve sabırsızım; bu yüzden sadece içine dalıyorum. Şimdi daha fazla bilgi edinmek için ICCCM'yi okuyorum. Ancak bu belge, benden daha çok şey bilen bir halkı hedeflemektedir. Bu yüzden bazı bilgilere rastladım ve bazı açıklamalar almak isterdim.
ICCCM'nin 2. Bölümündeki alıntılar:
Bir mal sahibi ile talep sahibi arasında aktarılan tüm verilerin genellikle X Sürüm 11 ortamında sunucu aracılığıyla yapılması gerektiğini unutmayın. Bir müşteri başka bir müşterinin aynı dosyaları açabileceğini veya hatta doğrudan iletişim kurabileceğini kabul edemez. Diğer istemci, tamamen farklı bir ağ oluşturma mekanizması vasıtasıyla sunucuyla konuşuyor olabilir (örneğin, bir müşteri DECnet ve diğer TCP / IP olabilir). Bu nedenle, dolaylı referansların verilere (örneğin dosya adları, ana bilgisayar adları ve bağlantı noktası numaraları vb.) Aktarılmasına yalnızca her iki müşteri de özellikle aynı fikirde ise izin verilir.
Anladığım kadarıyla, X Pencere Yöneticisi X Sunucunun Tepesi üzerine kuruludur (teşekkürler Wikipedia). Yukarıdaki alıntıda: istemcinin DECnet veya TCP / IP kullanarak sunucu ile iletişim kurabildiğini söylüyor. Şimdiye kadar "sunucunun" bir konuşma şekli olduğunu düşündüm, şimdi şüphe ediyorum: X sunucusu bir "web sunucusu" gibi bir sunucu mu? İşlevini / tanımını nasıl anlamalıyım?
Daha sonra, X11, Xorg, X Server ve / veya X Window Manager'a genellikle referanslar vardır. Kafa karıştırıcı olur: X11, Xorg ve X Window Manager'ı da içeren bir paket midir? Eğer öyleyse, bu X11 paketinde başka bir şey var mı?
X ayrıca fareye, klavyeye veya başka bir giriş türüne de ihtiyaç duyar: X Server'ın işlevlerinin de bir parçası mı? X Window Manager kesinlikle sadece ekrana bakıyor mu?
Son olarak, buradaki alıntı aynı zamanda müşteriyle birbirleriyle iletişim kurup kurmamakta da bahsetmektedir: bu bana biraz öğrenme amaçlı kullandığım D-Bus'ı hatırlattı. D-Bus ile pencere olaylarını da tetikleyebilirsiniz. Bu, programların birbirleriyle nasıl iletişim kurmaları gerektiği konusunda biraz kafamı karıştırıyor: * X Server veya D-Bus kullanarak etkileşime giren programlar arasında ne fark var? *
Bu bilgilerin bir şekilde belirsiz kalması utanç verici, öğrenmeyi zorlaştırıyor, ama umarım buna biraz ışık tutabilirsiniz :) Teşekkürler.