0

「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 の本やウェブサイトへのリンクを推薦してくれると、本当に助かります。

ありがとう、

4

1 に答える 1