https://invisible-island.net/xterm/xtoolkit/
XtPopdown, XtCallbackPopdown - unmap a pop-up
#include <X11/Intrinsic.h> void XtPopdown(Widget popup_shell); void XtCallbackPopdown(Widget w, XtPointer client_data, XtPointer call_data);
void XtMenuPopdown(String shell_name);
call_data Specifies the callback data, which is not used by this proce- dure. client_data Specifies a pointer to the XtPopdownID structure. popup_shell Specifies the widget shell to pop down. shell_name Specifies the name of the widget shell to pop down. w Specifies the widget.
The XtPopdown function performs the following: o Calls XtCheckSubclass to ensure popup_shell is a subclass of Shell. o Checks that popup_shell is currently popped_up; otherwise, it gen- erates an error. o Unmaps popup_shell's window. o If popup_shell's grab_kind is either XtGrabNonexclusive or XtGrabExclusive, it calls XtRemoveGrab. o Sets pop-up shell's popped_up field to False. o Calls the callback procedures on the shell's popdown_callback list. The XtCallbackPopdown function casts the client data parameter to an XtPopdownID pointer: typedef struct { Widget shell_widget; Widget enable_widget; } XtPopdownIDRec, *XtPopdownID; The shell_widget is the pop-up shell to pop down, and the enable_widget is the widget that was used to pop it up. XtCallbackPopdown calls XtPopdown with the specified shell_widget and then calls XtSetSensitive to resensitize the enable_widget. If a shell name is not given, XtMenuPopdown calls XtPopdown with the widget for which the translation is specified. If a shell_name is specified in the translation table, XtMenuPopdown tries to find the shell by looking up the widget tree starting at the parent of the wid- get in which it is invoked. If it finds a shell with the specified name in the pop-up children of that parent, it pops down the shell; otherwise, it moves up the parent chain as needed. If XtMenuPopdown gets to the application top-level shell widget and cannot find a match- ing shell, it generates an error.
XtCreatePopupShell(3), XtPopup(3) X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.2 XtPopdown(3)