XvPortNotify(3)
π XvPortNotify(3) π
okay bestie, welcome to XvPortNotify β one of the libXv Functions, and today's topic is the lil glow-up notification your X server sends when a port attribute changes. it's giving "your fave posted, go look" energy. π¦
πΈ NAME πΈ
XvPortNotify β the event that gets generated when port attributes change. yes literally that's the whole vibe. β¨
β¨ SYNOPSIS β¨
first, the include, because we always start with the include:
#include <X11/extensions/Xvlib.h>
then, the union that holds all the Xv events together (it's a friend group, they all live in one union):
typedef union {
int type;
XvVideoNotifyEvent xvvideo;
XvPortNotifyEvent xvport;
long pad[24];
} XvEvent;
and here's the actual star of the show, the struct, in all its glory:
typedef struct {
int type;
unsigned long serial;
Bool send_event;
Display *display;
XvPortID port_id;
Time time;
Atom attribute;
long value;
} XvPortNotifyEvent;
okay now let's do a field-by-field vibe check, because every single one matters π
typeβ tells you what kind of event this is:XvPortNotify. that's the ID, that's the name tag. πserialβ the number of the last request the server processed. it's like the receipt number bestie, lowkey useful.send_eventβTrueif this event was generated by aSendEventrequest. so, was it organic or was it sent? πdisplayβ a pointer to the display this event was read from. yes, the whole display, a pointer to it. πport_idβ the port whose attribute has changed. the main character of this whole situation. πattributeβ an atom specifying which attribute changed. like, which thing got tweaked. π₯valueβ the new value of that attribute. the after pic. β¨
π DESCRIPTION π
so here's the tea π β XvPortNotify events get generated when a port attribute is set using the XvSetPortAttribute(3) function.
that's it. that's the whole mechanism. someone sets an attribute with XvSetPortAttribute(3), and boom π₯, a XvPortNotify event shows up to tell you about it. no cap.
π«Ά SEE ALSO π«Ά
go read these next, they're the besties of this page:
and that's the whole page bestie, you ate it π β¨ mwah π
this lil number comes to you from X Version 11, specifically libXv 1.0.13 β stay hydrated, read your man pages, and i'll see you in the next one π¦π
π¦ where this page comes from
- alpine 3.22: libxv-doc 1.0.13-r0 Β· MIT
- alpine 3.23: libxv-doc 1.0.13-r0 Β· MIT
- alpine 3.24: libxv-doc 1.0.13-r0 Β· MIT
- arch rolling: libxv 1.0.13-1 Β· SMLNJ AND HPND-sell-variant
- fedora 43: libXv-devel 1.0.13-3.fc43 Β· SMLNJ AND HPND-sell-variant
- fedora 43: libXv-devel 1.0.13-3.fc43 Β· SMLNJ AND HPND-sell-variant
- fedora 44: libXv-devel 1.0.13-4.fc44 Β· SMLNJ AND HPND-sell-variant
- fedora 44: libXv-devel 1.0.13-4.fc44 Β· SMLNJ AND HPND-sell-variant
- ubuntu resolute: libxv-dev 2:1.0.13-1 Β· MIT
- ubuntu stonking: libxv-dev 2:1.0.13-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms