IT-Lexikon › Programmierung › _NET_WM_ICON

_NET_WM_ICON

Programmierung Svenska → Aktualisiert: 2026-10-09

Die Property, in der eine Anwendung ihr Icon als ein oder mehrere ARGB-Bilder beliebiger Größe ablegt – statt der monochromen Bitmaps, die WM_HINTS hergab.

Die Icon-Felder in ICCCMs WM_HINTS waren Kinder der 1980er: icon_pixmap zeigte auf eine Pixmap im Speicher des Servers, meist ein Schwarzweiß-XBM, und icon_mask auf eine zweite, die die Form ausschnitt. Die Pixmap war an eine bestimmte Screen- und Farbtiefe gebunden, hatte keinen Alphakanal und genau eine Größe. Als um 2000 Taskleisten, Alt+Tab-Listen und Titelleisten das Icon jeweils in eigener Größe wollten, genügte das nicht mehr. EWMH legte deshalb das ganze Bild in die Property _NET_WM_ICON: ein CARDINAL-Array, in dem jedes Bild mit Breite und Höhe beginnt, gefolgt von Breite mal Höhe Pixeln als 32-Bit-ARGB; mehrere Bilder können hintereinander folgen, sodass der Leser das passendste wählt.

Die Daten im Property-Speicher des Servers zu halten, kostet pro Fenster Speicher, und ein Programm, das ein 512-Pixel-Icon in fünf Größen hinterlegt, schickt bei jedem Start ein Megabyte. Das Format brachte auch einen berüchtigten 64-Bit-Fehler hervor: Xlib behandelt Format 32 als Array von long, also belegt jeder Pixel auf einer 64-Bit-Maschine clientseitig acht Bytes, und wer sie als uint32_t packte, bekam oben ein zerhacktes Icon und darunter Datenmüll. Moderne Desktops bevorzugen heute das Icon aus der Desktop-Datei der Anwendung, gefunden über WM_CLASS, und behalten _NET_WM_ICON als Rückfall. xprop stellt es nach wie vor als ASCII-Art dar, was jedes Mal gleich unerwartet ist.

← Zurück zum Lexikon