「PropertyNotify」イベントは、ID 変数が「win」の Window に対して xServer によって生成されます。今、私は xlib 関数XGetWindowProperty()
を呼び出しXListProperties()
、以下に示すように同じ win-id に対して
int getProp(Atom atom, Window win, unsigned long *nitems_ret,
unsigned char **prop_return, Atom *type_ret, int *format_ret)
{
Atom type;
int format;
unsigned long bytes_after_ret;
if (!type_ret)
type_ret=&type;
if (!format_ret)
format_ret=&format;
XGetWindowProperty(m_display, win, atom, 0, 65536, 0,
AnyPropertyType, type_ret, format_ret,
nitems_ret, &bytes_after_ret, prop_return);
// printing the content of variable "prop_return" suppose it's not empty
-----------------(1)
int nprops = 0;
Atom *prorList = XListProperties(m_display, win, &nprops);
// printing content of var "prorList" ------------------------(2)
};
(1)と(2)の出力を比較すると、(1)の出力が(2)に含まれているかどうかがわかりません。答えを検証する理由を教えてください。ネットから読んで理解しXGetWindowProperty()
たように、それについては、指定された window-id およびその他の補足のプロパティから必要なプロパティ タイプが返されます。ここで確認するために、引数を渡すだけAnyPropertyType
です。
ここで、関数XListProperties()
を呼び出して、指定された win-id のすべての Atom 属性を一覧表示し、出力と比較して出力しますXGetWindowProperty()
(出力が ではないことを考慮してNULL
ください)。さて、私の質問は、これらの特性がどこから現れたの か、XGetWindowProperty()
または私の理解に誤りがあるのかということです. これらの機能とアトム属性の違いを説明してください。また、理解を深めるために、誰かが良い xlib の本やウェブサイトへのリンクを推薦してくれると、本当に助かります。
ありがとう、