BT Sözlüğü › Programlama › FocusIn ve FocusOut

FocusIn ve FocusOut

Programlama Svenska → Güncellendi: 2026-10-11

Klavye odağı bir pencereden diğerine geçtiğinde X sunucusunun gönderdiği olay çifti — teknik olarak kusursuz, tam da bu yüzden doğru yorumlaması neredeyse imkânsız.

Odak, genellikle pencere yöneticisi tarafından XSetInputFocus ile ayarlanır; FocusChangeMask seçmiş ve geçişten etkilenen her pencere bir FocusOut ya da FocusIn alır. Alanlara bakana kadar yeterince basit. mode, olağan değişiklikleri bir klavye yakalamasının (grab) başlamasının ya da bitmesinin yol açtıklarından ayırır (NotifyGrab, NotifyUngrab, NotifyWhileGrabbed). detail’in sekiz değeri vardır — NotifyAncestor, NotifyVirtual, NotifyInferior, NotifyNonlinear, NotifyNonlinearVirtual, NotifyPointer, NotifyPointerRoot ve NotifyDetailNone — ve odağın pencere ağacında nereden gelip nereye gittiğini anlatır.

Spesifikasyon, hangi pencerelerin hangi kombinasyonu aldığına sayfalar harcar. Çoğu program olay türünü okur, NotifyPointer durumlarını yok sayar ve en iyisini umar. Sonuç, X’in klasik hatasıdır: imleç aynı anda iki pencerede yanıp söner ya da hiçbirinde yanmaz.

← Sözlüğe dön