XMREMOVEPROTOCOLS(3)

πŸ“¦
version 2.5.2 Β· 2 versions
, in alpine 3.24, arch rolling, centos-stream 9, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ’– XmRemoveProtocols πŸ’–

okay bestie, gather round, because this is one of those <Xm/Protocols.h> girlies and she's so important. this page is from the library call manual (that's the (library call) part, iykyk) and it's all about taking protocols back OUT. bye bye protocol πŸ‘‹


✨ NAME ✨

XmRemoveProtocols β€” a VendorShell function that removes the protocols from the protocol manager and deallocates the internal tables

like. the whole vibe is: protocols? gone. tables? freed. it's giving spring cleaning fr fr πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

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

yes she takes a Widget, an Atom, a pointer to Atoms, and a Cardinal. classic lineup. no cap.


🌸 DESCRIPTION 🌸

okay so here's the tea 🍡

XmRemoveProtocols removes the protocols from the protocol manager and deallocates the internal tables. and bestie, listen β€” if any of the protocols are active, it will update the handlers and update the property if shell is realized. the way that it just handles that for you?? iconic behavior, honestly. πŸ‘‘

XmRemoveWMProtocols is a convenience interface. It calls XmRemoveProtocols with the property value set to the atom returned by interning WM_PROTOCOLS. so if you're too busy being the main character to intern your own atom, she's got you 🫢

now the parameters, one by one, no skips:

  • shell β€” Specifies the widget with which the protocol property is associated. it's the widget the protocol property is attached to, okay?
  • property β€” Specifies the protocol property. literally the protocol property, that's it.
  • protocols β€” Specifies the protocol atoms. a whole array of them ✨
  • num_protocols β€” Specifies the number of elements in protocols. because a pointer alone does not a count make, bestie. you gotta tell her how many.

and for a complete definition of VendorShell and its associated resources, see VendorShell(3). go read it. it's good for you. πŸ“š


like a little squad. the add one, the remove one, the atom one, and the convenience one. the friend group of protocol management, periodt. 🌈


lowkey reminder: this is the removal half of the duo. XmAddProtocols(3) puts them in, this page takes them out. keep them straight and you'll be fine πŸ’œ

and that's the whole page, babe β€” straight from the XmRemoveProtocols(library call) manual, source and all. mwah πŸ’‹βœ¨