SET_ICONIFIED(4)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

πŸ’– Set_Iconified β€” the manual page, but make it make sense πŸ’–

okay so real talk, bestie: this is the page for Set_Iconified from the special file section of the manual. it's a request type β€” like a little group-chat DM to a tool saying "hey, iconify yourself" β€” and it's lowkey iconic (pun fully intended, i'm not sorry πŸ’…). let's get into it ✨


✨ NAME ✨

Set_Iconified β€” sets a tool's iconic state πŸŽ€

like, you're telling a thing "go be an icon", literally.


πŸ¦‹ SYNOPSIS πŸ¦‹

Set_Iconified(in boolean iconic
        [in messageID commission]);

one required arg, one optional one, both inside Set_Iconified(...) β€” details below, bestie 🫢


🌸 DESCRIPTION 🌸

so the Set_Iconified request does one job: it sets the iconic state of a window. which window? well πŸ‘€ β€” the optionally specified window, or if you didn't specify one, the window that's primarily associated with the handling procid. either way, something's getting iconified.

here's the breakdown of the args:

  • iconic β€” a Boolean value that says whether the specified window is (or is about to be) iconified. yes = iconic, no = not so iconic 🌈
  • commission β€” the ID of the ongoing request, if there is one, that resulted in the creation of the window(s) in question. iykyk β€” it's the paper trail for "which request made this window exist" 🧚

πŸ’œ APPLICATION USAGE πŸ’œ

Xt girlies, this one's for you: the ttdt_session_join(3) and ttdt_message_accept(3) functions can be used by Xt applications to register for the Set_Iconified request β€” and to transparently process it, no extra work needed ✨

now here's the fun part, the vibe check on what "iconic state" even means πŸ‘‘

if the handler doesn't map window-system windows one-to-one to commissions or procids, then it may interpret ``iconic state'' liberally. like, liberally. example time, because the manpage said so and i'm a good hostess:

consider a Display request on an ISO_Latin_1 file, handled by a gnuemacs instance that then devotes an emacs window'' to the file. and here's the thing β€” Windows'' in gnuemacs are not separate X11 windows, and they are not separately iconifiable 😭 so you can't just point at one and go "iconify that." doesn't work like that.

so what can gnuemacs do? it could interpret a Set_Iconified request issued with respect to the ongoing Display request liberally β€” meaning it minimizes the screen real estate devoted to the operation, maybe by ``burying'' the buffer, or by dividing its window's real estate among neighboring windows. very demure, very mindful, very "i'm still here just smaller" πŸ’…

and plot twist πŸŒ€ β€” if the Display request happens to be the only thing emacs is working on at the moment, it could instead take a literal interpretation... and actually iconify itself. main character energy, honestly πŸ‘‘


πŸŽ€ EXAMPLES πŸŽ€

the Set_Iconified request can be sent as in the following example β€” copy it exactly, don't @ me:

Tt_message msg = tttk_message_create(0, TT_REQUEST, TT_SESSION,
                        the_recipient_procid, TTDT_SET_ICONIFIED,
                        my_callback);
tt_message_iarg_add(msg, TT_IN, Tttk_boolean, 1);
tt_message_send(msg);

create it, add the arg, send it. slay. periodt. πŸ”₯


⚠️ WARNINGS ⚠️

okay putting my serious face on for a sec 🫢

Set_Iconified can also be sent as a multicast notice β€” like an edict to all tools in the scope of the message πŸ“’ and bestie... the consequences of doing so can be severe and unexpected.

fr fr, do not just blast this out to everyone and hope for the best πŸ’€ multicast = maximum chaos potential.

🌈 SEE ALSO 🌈

go read these next, they're the supporting cast:


and that's the whole page, bestie! πŸ“ mwah πŸ’‹

sign-off: this was Set_Iconified(special file) β€” same title top and bottom, and if you're squinting for a version number or date down here... the page doesn't give one, so i'm not gonna invent one. you get a cute sign-off and zero made-up facts. πŸŽ€βœ¨
πŸ“¦ where this page comes from