IT-Lexikon › Programmierung › _NET_ACTIVE_WINDOW

_NET_ACTIVE_WINDOW

Programmierung Svenska → Aktualisiert: 2026-10-09

Die Root-Window-Property, die das aktive Fenster benennt, und zugleich die Nachricht, mit der Taskleiste oder Anwendung einen Wechsel erbitten können — samt einem Feld, das verrät, wer gefragt hat.

Vor EWMH kannte X keinen Begriff vom „aktiven Fenster“, nur den Tastaturfokus, und den konnte jeder Client per XSetInputFocus verschieben. Das reichte nicht: Das Fenster konnte auf einer anderen virtuellen Arbeitsfläche liegen, minimiert oder unter drei anderen vergraben sein, und Fokus in einem unsichtbaren Fenster meint niemand, wenn er „aktiv“ sagt. Also setzte EWMH _NET_ACTIVE_WINDOW auf das Root-Fenster: gesetzt vom Fenstermanager, mit der ID des Fensters, das er für aktiv hält, oder None. Taskleisten heben ihren Button daran hervor, und xdotool getactivewindow liest es schlicht aus.

In der Gegenrichtung geht eine ClientMessage desselben Typs an das Root-Fenster: dieses Fenster aktivieren. Der Fenstermanager wechselt dann die Arbeitsfläche, stellt es wieder her, hebt es nach vorn und fokussiert es — oder lehnt ab. Seit Version 1.3 trägt die Nachricht eine Quellenangabe: 1 heißt, die Anwendung selbst fragt, 2, dass ein Pager oder eine Taskleiste im Auftrag des Nutzers handelt, und 0, dass der Absender alt ist und es nicht besser weiß. Zusammen mit dem Zeitstempel im nächsten Feld ist das der Rohstoff für den Schutz vor Fokusdiebstahl: Ein Klick im Panel geht durch, eine Anwendung, die mitten im Satz dazwischenfunken will, darf blinken. wmctrl -a und xdotool windowactivate senden genau diese Nachricht — im Gegensatz zu windowfocus, das nur den Fokus setzt und den Rest dem Zufall überlässt.

← Zurück zum Lexikon