WM_CLASS
La propriété ICCCM qui porte le nom d'instance et le nom de classe d'un programme, et qui permet à la base de ressources et aux gestionnaires de fenêtres de savoir à quelle application appartient une fenêtre.
Toute fenêtre de premier niveau X est censée porter WM_CLASS : deux chaînes, le nom d'instance et le nom de classe, positionnées avec XSetClassHint. La convention de l'ICCCM veut que la classe soit le nom du programme en capitales, XTerm, et l'instance le nom sous lequel il a été lancé, xterm ou ce qu'a donné l'option -name. La paire existait à l'origine pour la base de ressources : la ligne XTerm*background s'applique à toutes les fenêtres xterm, tandis qu'une instance lancée avec -name mail peut avoir ses propres couleurs. xprop affiche la paire sous la forme WM_CLASS(STRING) = "xterm", "XTerm".
Les gestionnaires de fenêtres ont adopté la propriété comme une adresse. Les règles de fvwm, Openbox, i3 et devilspie — tel programme toujours sur le bureau 3, tel autre sans cadre — se fondent sur WM_CLASS, et les tableaux de bord choisissent leurs icônes en supposant que le nom de classe correspond à un fichier .desktop. Cela tient à peu près aussi bien qu'on l'imagine : les programmes Java et les applications Electron donnent parfois la même classe à tout, et Chrome attribue à chaque application web sa propre classe commençant par crx_. Wayland a remplacé la paire par une seule chaîne, app_id dans xdg-shell, qui est censée être exactement le nom du fichier .desktop.