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

πŸ’– XmImSetValues πŸ’–

okay so bestie, welcome to the XmImSetValues page β€” it's a library call from the Xm world, and it's literally the glow-up button for your input context ✨


🌸 NAME 🌸

XmImSetValues β€” an input manager function that updates attributes of an input context. no cap, that's the whole job 🫢


✨ SYNOPSIS ✨

#include <Xm/XmIm.h>
void XmImSetValues(
Widget widget,
ArgList arglist,
Cardinal argcount,
);

πŸŽ€ DESCRIPTION πŸŽ€

So like, XmImSetValues updates the attributes of the input context that's associated with the widget you specify. The arglist argument is a list of attribute/value pairs for the input context. This function passes those attributes and values straight on over to XICSetValues. πŸ‘‘

The initial call to this routine should pass in all of the input context attributes. After that? The application programmer calls XmImSetValues, for an XIC, only if a value has actually changed. like, don't do the most for no reason πŸ’…

If the previous parameters for the widget's XIC don't allow the previously registered XIC to be reused, that XIC gets unregistered, and a new one gets created and registered with the widget. It's giving ✨rebrand✨. But note that sharing of data is preserved β€” the vibes carry over, fr fr.

Also, heads up: the Text and TextField widgets call the XmImSetValues function when they receive focus. So for these widgets, further calls to XmImSetValues are unnecessary. they already handled it, bestie, let them cook πŸ“

widget β€” Specifies the ID of the widget registered with the input manager.

arglist β€” Specifies the list of attribute/value pairs to be passed to XICSetValues; the following attributes are accepted: XmNpreeditStartCallback, XmNpreeditDoneCallback, XmNpreeditDrawCallback and XmNpreeditCaretCallback. These attributes accept an accompanying value of type pointer to structure of type XIMCallback.

These callbacks are used only when the XmNpreeditType resource of the relevant VendorShell has the "onthespot" value, and the XIM supports XIMPreeditCallbacks input style. If that condition isn't met, these values are ignored. periodt. 🚫

For each of these callbacks, if the callback value is not set by this function, no action will be taken when the Input Method tries to call this callback. So like, no callback value = no callback action, iykyk. Refer to the "Xlib - C Language X Interface, X Version 11, Release 6," Chapter 13 for the detail of these callbacks πŸ“–

argcount β€” Specifies the number of attribute/values pairs in the argument list (arglist).


🌈 Resources you can set for the input context 🌈

  • XmNbackground β€” Specifies the pixel value for the background color. 🎨
  • XmNbackgroundPixmap β€” Specifies a pixmap for tiling the background. ✨
  • XmNfontList β€” Specifies the font list used by the widget. The input method uses the first occurrence of a font set tagged with XmFONTLIST_DEFAULT_TAG. If no such instance is found, the first font set in the font list is used. And if the font list does not contain a font set at all, a value is not passed to XICSetValues. πŸ¦‹
  • XmNforeground β€” Specifies the pixel value for the foreground color. πŸ’œ
  • XmNlineSpace β€” Specifies the line spacing used in the pre-edit window. πŸ“
  • XmNrenderTable β€” Specifies the render table used by the widget. 🌸
  • XmNspotLocation β€” Specifies the x and y coordinates of the position where text will be inserted in the widget handling input, whose input method style is "OverTheSpot". The y coordinate is the position of the baseline used by the current text line. πŸ‘‘

The caller may also pass any other vendor-defined resources to this function. For additional information on the internationalization interface, see the Xlib documentation. 🧚



and that's the whole page, bestie!! πŸ’– this was the XmImSetValues library call manual page β€” sourced straight from the Xm library call docs, undated and iconic, just the way it came. go update those input context attributes and slay πŸ’…βœ¨πŸ«Ά