TinyWM
Daha fazla bilgi
- Geliştirici
- Nick Welch
- Yıl
- Tür
- Pencere yöneticisi
- Lisans
- Kamu malı
- Kaynak kod
- github.com/mackstann/tinywm
Yaklaşık elli satırlık C kodundan oluşan bir pencere yöneticisi; pencereleri taşımak, boyutlandırmak ve öne almak için gereken her şeyin X’te tek ekrana sığdığını göstermek üzere 2005’te yazıldı.
Nick Welch TinyWM’i bir öğretim örneği olarak yazdı ve kodu kamu malı ilan etti. Program ekranı açar, kök pencerede Alt+F1 ile Alt + sol/sağ fare düğmeleri için pasif grab’ler alır ve XNextEvent etrafında bir döngüye girer. Alt+F1 imlecin altındaki pencereyi XRaiseWindow ile öne çıkarır; sol düğmeyle Alt-sürükleme taşır, sağ düğmeyle boyutlandırır; ikisi de her MotionNotify olayında XMoveResizeWindow çağırır. Hepsi bu. Reparenting yok, çerçeve yok, ICCCM yok, odak yönetimi yok: uygulamalar odağı, istedilerse, X imlecin altındaki pencereye verdiği için alır.
Değer, eksik olanda yatıyor. Kodu okuyan, bir pencere yöneticisinin özünde sunucudan belirli olayları kendisine yönlendirmesini isteyen sıradan bir istemci olduğunu ve dwm’yi ya da Openbox’ı kullanışlı kılan her şeyin bu üç grab’in üstüne inşa edildiğini görür. Aynı uzunlukta bir Python sürümü de yanında gelir; TinyWM o zamandan beri uzun bir hobi pencere yöneticisi soyunun başlangıç noktası ve Xlib eğitimlerinin kalıcı ilk alıştırması oldu.