XMTRANSFERSETPARAMETERS(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

πŸ’… XmTransferSetParameters β€” the toolkit function that sets up ur params for the next XmTransferValue glow-up

okay bestie, welcome to the XmTransferSetParameters page from the library call section, and no this is not a drill, it's giving "set it up before you send it" energy πŸŽ€


✨ NAME ✨

XmTransferSetParameters β€” a toolkit function that establishes parameters to be passed by the next call to XmTransferValue

like literally, it's the pre-game. the hype squad. the little note you slip to your widget before the big transfer happens 🫢


✨ SYNOPSIS ✨

#include <Xm/Transfer.h>

void XmTransferSetParameters(
        XtPointer transfer_id,
        XtPointer parm,
        int parm_fmt,
        unsigned long parm_length,
        Atom parm_type);

yes she takes five arguments. yes that's a lot. no we're not scared, we're obsessed actually πŸ’–


✨ DESCRIPTION ✨

XmTransferSetParameters establishes a parameter definition. Your application calls XmTransferSetParameters just before calling XmTransferValue, and only if XmTransferValue needs to transfer a value containing a parameter.

so like. the timing matters, bestie. this is not a "whenever" situation. it's a "right before, and only when needed" situation. main character precision only πŸ‘‘

Here's the breakdown of every single arg, because we do not skip, we do not summarise, we read the whole menu 🌸

  • transfer_id β€” Specifies a unique indentifier for the data transfer operation. The value must be the same as the value of the transfer_id member of the XmDestinationCallbackStruct passed to the XmNdestinationCallback procedure.
fr fr, it has to match. same value, same transfer_id member, same XmDestinationCallbackStruct situation. no substitutes πŸ’€
  • parm β€” Specifies parameters to be passed to the conversion routine (and the XmNconvertCallback procedures, if any) of the widget that owns the selection. The type and length of parameters are target-specific. If the target takes no parameters, the value is NULL.
so the widget that owns the selection is the one getting these params, and honestly the type and length are giving "it depends on the target". if the target is a no-params girly, you pass NULL. periodt.
  • parm_fmt β€” Specifies whether the data in parm should be viewed as a list of 8-bit, 16-bit, or 32-bit quantities. Possible values are 0 (when parm is NULL), 8, 16, and 32.
vibe check on the bit width: 0, 8, 16, 32. and the 0 only shows up when parm is NULL, okurrr?
  • parm_length β€” Specifies the number of elements of data in parm, where each element has the number of bits specified by parm_fmt. When parm is NULL, the value is 0.
count the elements, not the bits. each element is parm_fmt bits wide. and if parm is NULL? the value is 0. that's the rule and we respect it πŸ¦‹
  • parm_type β€” Specifies the type of parm.
just the type. the whole vibe of the param, condensed into an Atom. slay.

the besties in the same group chat πŸ«‚


and that's the whole page, no cap 🌈 this was XmTransferSetParameters(library call), straight from the library call manual section, and we're sending you off with all the love, all the bits, and all the parameters you could ever need πŸ’œ

go call XmTransferSetParameters right before XmTransferValue and only if you actually need a parameter. iykyk πŸ’…βœ¨