Presse-papiers Motif (XmClipboard)
Le presse-papiers propre à Motif : une API avec verrous, formats et annulation, qui stockait les données dans des propriétés de la fenêtre racine plutôt que chez le propriétaire, de sorte que ce qu'on avait copié survivait au programme d'origine.
Les sélections X ont une faiblesse congénitale : celui qui colle va chercher le texte auprès du programme qui l'a copié, et si ce programme a disparu, il n'y a plus rien à coller. Motif 1.0 y a répondu en 1989 avec un presse-papiers maison, conservé dans le serveur. Une copie est une séquence : XmClipboardStartCopy, un ou plusieurs XmClipboardCopy ayant chacun un format, puis XmClipboardEndCopy ; la lecture fait de même avec XmClipboardRetrieve. Les données et un catalogue des éléments résidaient dans des propriétés de la fenêtre racine, _MOTIF_CLIP_HEADER et ses voisines, avec un verrou pour empêcher deux programmes d'écrire en même temps. XmClipboardCopyByName n'enregistrait qu'un format et laissait le propriétaire fournir le contenu au moment de la demande, pour les grandes images, et XmClipboardUndoCopy rétablissait l'élément précédent.
Le prix à payer : le serveur X devenait une petite base de données, lisible uniquement par des programmes Motif. Pour ne pas rester une île, la bibliothèque prenait aussi possession de la sélection CLIPBOARD et répondait aux demandes à partir des propriétés, si bien que les programmes respectant l'ICCCM pouvaient coller depuis Motif, mais pas l'inverse. Quand les gestionnaires de presse-papiers ont réglé le problème de survie côté ICCCM dans les années 2000, cette conception est devenue une curiosité ; qui lance xlsatoms sur un système moderne avec un seul programme Motif ouvert voit encore les atomes apparaître.