4

GTK+ から Xlib にドロップダウンする必要があるコードを書いています。具体的には、GTK+ Window Maker Dockapp を作成するために、トップレベル ウィンドウのアイコンをピックスマップではなくウィンドウ自体に設定したいと考えています。

私はこれをCで次のように動作させました:

gdkDockapp = gtk_widget_get_window(dockapp);
xDockapp = GDK_WINDOW_XID(gdkDockapp);

gdkDisplay = gdk_window_get_display(gdkDockapp);
xDisplay = GDK_DISPLAY_XDISPLAY(gdkDisplay);

wmhints.icon_window = xDockapp;
wmhints.flags = IconWindowHint;
XSetWMHints(xDisplay, xDockapp, &wmhints);  

ただし、実際にアプリケーションを Python でコーディングしたいと考えています。コードを変換しようとすると、たとえば、

gdkDockapp = dockapp.get_window()
xDockapp = gdkDockapp.get_xid()

Window ではなく long が返されるため、Xlib 関数を実行できません。助言がありますか?

4

2 に答える 2

2

Xlib.Display.Window次の関数を使用してオブジェクトを取得できます。 d.create_resource_object("window", xid)、ここで、dXlib.display.Displayオブジェクトです。

于 2012-11-19T19:30:57.240 に答える
0

Xlib を使用することが、Wayland コンポジターを優先して X サーバーが消えることを意図している時代に賢明な動きであるかどうかはわかりません。

于 2012-11-19T09:22:29.713 に答える