是否可以创建一个窗口作为另一个窗口的叠加层,例如,您可以在窗口的标题栏或状态栏中显示的图标?
为了这个问题的目的,假设:
如果有可能,怎么办呢?我试图创建一个窗口并在正确的位置显示它,但我从来没有看到它;就好像它不存在一样。我获取 Window句柄,甚至可以将其转换为GdkWindow对象,但我无法达到它的目的。
ETA :可以在线找到我想要做的示例,first without what I'm trying to do和again with it。在这种情况下,请查看右侧的菜单栏。我想为任意应用程序执行此操作,并让用户能够单击该小图标以“停靠”窗口。
答案 0 :(得分:1)
窗口管理器的工作方式是通过一个新窗口并添加窗口的装饰 作为窗口的新窗口的“父”。
您可以使用XReparent()窗口api在窗口管理器的装饰窗口和现有窗口之间插入窗口。
答案 1 :(得分:0)
应该可以仅使用GDK命令来执行此操作,因为它们或多或少地映射到Xlib的相同调用中。也许你没有考虑到你应该以某种方式处理暴露事件(那些不是发送到您的应用程序,而是发送给外国的事件)? 顺便说一句,你究竟如何将XWindow手柄转换为GtkWindow?