XtSetArg(3) XT FUNCTIONS XtSetArg(3)

# [NAME](#NAME)

XtSetArg, XtMergeArgLists - set and merge ArgLists

# [SYNTAX](#SYNTAX)

#include &lt;X11/Intrinsic.h&gt;

int XtSetArg(Arg *arg*, String *name*, XtArgVal *value*);

ArgList XtMergeArgLists(ArgList *args1*, Cardinal *num\_args1*, ArgList *args2*, Cardinal *num\_args2*);

# [ARGUMENTS](#ARGUMENTS)

[*arg*](#arg)

Specifies the name-value pair to set.

[*args1*](#args1)

Specifies the first **ArgList**.

[*args2*](#args2)

Specifies the second **ArgList**.

[*num\_args1*](#num_args1)

Specifies the number of arguments in the first argument list.

[*num\_args2*](#num_args2)

Specifies the number of arguments in the second argument list.

[*name*](#name)

Specifies the name of the resource.

[*value*](#value)

Specifies the value of the resource if it will fit in an **XtArgVal** or the address.

# [DESCRIPTION](#DESCRIPTION)

The **XtSetArg** function is usually used in a highly stylized manner to minimize the probability of making a mistake; for example:

```
Arg args[20];
int n;
n = 0;
XtSetArg(args[n], XtNheight, 100);      n++;
XtSetArg(args[n], XtNwidth, 200);       n++;
XtSetValues(widget, args, n);
```

Alternatively, an application can statically declare the argument list and use **XtNumber**:

```
static Args args[] = {


        {XtNheight, (XtArgVal) 100},


        {XtNwidth, (XtArgVal) 200},
};
XtSetValues(Widget, args, XtNumber(args));
```

Note that you should not use auto-increment or auto-decrement within the first argument to **XtSetArg**. **XtSetArg** can be implemented as a macro that dereferences the first argument twice.

The **XtMergeArgLists** function allocates enough storage to hold the combined **ArgList** structures and copies them into it. Note that it does not check for duplicate entries. When it is no longer needed, free the returned storage by using **XtFree**.

# [SEE ALSO](#SEE_ALSO)

[XtOffset(3)](/man/os/libxt/XtOffset.3)  
*X Toolkit Intrinsics - C Language Interface*  
*Xlib - C Language X Interface*

libXt 1.3.1 X Version 11

---

Document: XtSetArg(3) from libxt 1.3.1-r8 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxt.git
