BT Sözlüğü › Programlama › _NET_ACTIVE_WINDOW

_NET_ACTIVE_WINDOW

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

Etkin pencereyi adlandıran kök pencere özelliği ve bir görev çubuğunun ya da uygulamanın bunu değiştirmesini istemesini sağlayan ileti — isteyenin kim olduğunu ele veren bir alanla.

EWMH’den önce X’in “etkin pencere” diye bir kavramı yoktu, yalnızca klavye odağı vardı ve herhangi bir istemci onu XSetInputFocus ile oynatabilirdi. Bu yetmezdi: pencere başka bir sanal masaüstünde, simge durumunda ya da üç pencerenin altında gömülü olabilirdi ve görünmez bir pencerede odak kimsenin etkin demek istediği şey değildir. Bu yüzden EWMH, pencere yöneticisi tarafından ayarlanan ve etkin saydığı pencerenin kimliğini (yoksa None) tutan _NET_ACTIVE_WINDOW’u kök pencereye koydu. Görev çubukları düğmelerini bundan vurgular, xdotool getactivewindow da yalnızca bunu okur.

Ters yönde, kök pencereye aynı türde bir ClientMessage gider: bu pencereyi etkin yap. Pencere yöneticisi o zaman masaüstünü değiştirir, simge durumundan çıkarır, öne getirir ve odaklar — ya da reddeder. 1.3 sürümünden beri ileti bir kaynak göstergesi taşır: 1 uygulamanın kendisinin istediği, 2 bir pager ya da görev çubuğunun kullanıcı adına davrandığı, 0 ise gönderenin eski olup daha iyisini bilmediği anlamına gelir. Sonraki alandaki zaman damgasıyla birlikte bu, odak çalmayı önlemenin ham maddesidir: paneldeki tıklama geçer, cümlenin ortasına atlamak isteyen uygulama ise yanıp sönmekle yetinir. wmctrl -a ve xdotool windowactivate tam bu iletiyi gönderir; yalnızca odağı ayarlayıp gerisini rastlantıya bırakan windowfocus’tan farkları da budur.

← Sözlüğe dön