WM_COMMAND
La propriété ICCCM qui contient la ligne de commande avec laquelle un programme a été lancé, destinée à le relancer après la déconnexion, et qui reste une fenêtre grande ouverte sur argv.
La propriété est antérieure à l'ICCCM : X11R1 offrait dès 1987 XSetCommand, qui pose argv sur la fenêtre de premier niveau sous forme de chaînes séparées par des NUL, et la fenêtre d'application de Xt la renseigne d'elle-même, si bien que xterm, xclock et tous les programmes Athena et Motif la portent. xprop affiche WM_COMMAND(STRING) = { "xterm", "-geometry", "80x24" }. Le but était la gestion de session. Dans la première version de l'ICCCM, le gestionnaire de fenêtres envoyait WM_SAVE_YOURSELF via WM_PROTOCOLS, le programme mettait WM_COMMAND à jour avec une commande capable de recréer son état courant, ou la vidait s'il en était incapable, et le gestionnaire la lisait pour la sauvegarder. Avec WM_CLIENT_MACHINE, présente à l'origine pour que rsh sache sur quelle machine exécuter la commande, c'était toute la gestion de session.
L'ICCCM 2.0 a déprécié la procédure en 1994 au profit de XSMP, mais a laissé la propriété pour les programmes qui n'avaient jamais appris la nouvelle méthode : le smproxy de xsm, dtsession de CDE et la sauvegarde de session de Window Maker lisent tous WM_COMMAND pour noter quoi lancer la fois suivante, et l'ancien module FvwmSaveDesk de FVWM l'écrivait tel quel dans un script shell. GTK et Qt ne la définissent pas du tout. Reste l'effet secondaire : argv est lisible par tous les clients de l'affichage, si bien qu'un mot de passe passé sur la ligne de commande apparaît non seulement dans ps sur votre machine, mais aussi dans xprop sur toute machine devant laquelle l'affichage est ouvert.