XmString
Motif’in “bileşik dizgesi”: her parçasının yazı tipini ve yazı yönünü seçen bir etiket taşıdığı, her etiketin, düğmenin ve liste satırının sade bir C dizgesi yerine zorunlu tuttuğu opak metin türü.
Fikir, Unicode’dan önceki uluslararasılaştırmaydı: bir düğme başlığında her biri kendi etiketini taşıyan Latin ve Japon parçaları karışabilir, İbranice bir etiket kendini sağdan sola olarak bildirebilirdi. Etiket, bir XmFontList’te, Motif 2.0’dan itibaren ise parça başına renk, altı çizili yazı ve sekme durakları da taşıyabilen, Motif 2.3’ten beri Xft yazı tiplerine işaret edebilen bir render table’da aranır. Pratikte hemen herkes varsayılan XmFONTLIST_DEFAULT_TAG etiketini kullandı; programcıların hatırladığı şey ise ritüeldir: her sabit metne XmStringCreateLocalized, sonra XmNlabelString kaynağı ve ardından unutulmaması gereken XmStringFree; yoksa her yeniden çizilen etiket birkaç bayt sızdırır. Geriye bir char* almak için XmStringGetLtoR, sonraları XmStringUnparse gerekirdi.
Kaynak dosyalarında ve UIL’de dizgeler sıradan metin olarak yazılır ve Motif tarafından dönüştürülürdü; rahat yol buydu. Ama C kodunda bu tür her yerdedir ve sonradan gelip düz bir dizgede UTF-8 ile yetinen araç takımlarının yanında Motif’i gevezeleştiren şeylerden biridir.