---
name: "XtCreatePopupShell"
section: "3x"
platform: "linux"
package: "libxt-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XtCreatePopupShell/3x"
---

# XtCreatePopupShell(3x)

create a popup shell

## NAME

XtCreatePopupShell, XtVaCreatePopupShell - create a popup shell

## SYNTAX

Widget XtCreatePopupShell(String *name*, WidgetClass *widget\_class*, Widget *parent*, ArgList *args*, Cardinal *num\_args*);

Widget XtVaCreatePopupShell(String *name*, WidgetClass *widget\_class*, Widget *parent*, ...);

## ARGUMENTS

- *args*

  Specifies the argument list to override the resource defaults.

- *name*

  Specifies the text name for the created shell widget.

- *num\_args*

  Specifies the number of arguments in the argument list.

- *parent*

  Specifies the parent widget.

- *widget\_class*

  Specifies the widget class pointer for the created shell widget.

- *...*

  Specifies the variable argument list to override the resource defaults.

## DESCRIPTION

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.

## SEE ALSO

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