DOKK / manpages / debian 12 / libxt-dev / XtCreatePopupShell.3.en
XtCreatePopupShell(3) XT FUNCTIONS XtCreatePopupShell(3)

XtCreatePopupShell, XtVaCreatePopupShell - create a popup shell

#include <X11/Intrinsic.h>

Widget XtCreatePopupShell(const char *name, WidgetClass widget_class, Widget parent, ArgList args, Cardinal num_args);

Widget XtVaCreatePopupShell(const char *name, WidgetClass widget_class, Widget parent, ...);

Specifies the argument list to override the resource defaults.
Specifies the text name for the created shell widget.
Specifies the number of arguments in the argument list.
Specifies the parent widget.
Specifies the widget class pointer for the created shell widget.
...
Specifies the variable argument list to override the resource defaults.

The XtCreatePopupShell function ensures that the specified class is a subclass of Shell and, rather than using insert_child to attach the widget to the parent's children list, attaches the shell to the parent's pop-ups list directly.

A spring-loaded pop-up invoked from a translation table already must exist at the time that the translation is invoked, so the translation manager can find the shell by name. Pop-ups invoked in other ways can be created “on-the-fly” when the pop-up actually is needed. This delayed creation of the shell is particularly useful when you pop up an unspecified number of pop-ups. You can look to see if an appropriate unused shell (that is, not currently popped up) exists and create a new shell if needed.

XtCreateWidget(3), XtPopdown(3), XtPopup(3)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface

libXt 1.2.1 X Version 11