---
name: "XmRemoveProtocols"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmRemoveProtocols"
---

# XmRemoveProtocols(3)

A VendorShell function that removes the protocols from the protocol manager and deallocates the internal tables

## NAME

**XmRemoveProtocols** — A VendorShell function that removes the protocols from the protocol manager and deallocates the internal tables

## SYNOPSIS

```
#include <Xm/Xm.h>
#include <Xm/Protocols.h>
void XmRemoveProtocols(
Widget shell,
Atom property,
Atom * protocols,
Cardinal num_protocols);
```

## DESCRIPTION

**XmRemoveProtocols** removes the protocols from the protocol manager and deallocates the internal tables. If any of the protocols are active, it will update the handlers and update the property if *shell* is realized.

**XmRemoveWMProtocols** is a convenience interface. It calls **XmRemoveProtocols** with the property value set to the atom returned by interning **WM\_PROTOCOLS**.

- *shell*

  Specifies the widget with which the protocol property is associated

- *property*

  Specifies the protocol property

- *protocols*

  Specifies the protocol atoms

- *num\_protocols*

  Specifies the number of elements in protocols

For a complete definition of VendorShell and its associated resources, see [**VendorShell**(3)](/VendorShell/3.md).

## RELATED

[**VendorShell**(3)](/VendorShell/3.md), [**XmAddProtocols**(3)](/XmAddProtocols/3.md), [**XmInternAtom**(3)](/XmInternAtom/3.md), and [**XmRemoveWMProtocols**(3)](/XmRemoveWMProtocols/3.md).
