XmMenuShell
Le shell Motif invisible dans lequel vit chaque menu déroulant ou contextuel, et qui permet au menu de se placer par-dessus tout sans que le gestionnaire de fenêtres s'en mêle.
Un menu est une fenêtre de premier niveau, et une fenêtre de premier niveau dans Xt a besoin d'un shell. XmMenuShell hérite d'OverrideShell et active donc override-redirect : ni cadre, ni barre de titre, ni politique de placement imposée par le gestionnaire de fenêtres. Les programmeurs n'en créent presque jamais à la main. XmCreatePulldownMenu et XmCreatePopupMenu construisent un XmRowColumn et le placent dans un shell de menu, et plusieurs menus déroulants sous le même parent partagent un seul shell pour économiser des fenêtres.
Tant qu'un menu est affiché, Motif capture le pointeur et le clavier afin qu'un clic ailleurs ferme le menu au lieu d'atterrir dans une autre application. Les menus contextuels de Motif 1.x exigeaient un gestionnaire d'événements écrit à la main pour le bouton droit, qui appelait XmMenuPosition puis XtManageChild ; Motif 2.0 savait le faire automatiquement.