首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桌面创建桌面窗口?

桌面创建桌面窗口?
EN

Stack Overflow用户
提问于 2013-02-03 22:27:03
回答 1查看 728关注 0票数 5

我在写台式机。我已经通过Python了解了Qt和GTK+的基本知识,但我不知道如何显示已完成的桌面。如何使它成为窗口管理器的根窗口,或者是否有一种显示我不熟悉的桌面的方法?

EN

回答 1

Stack Overflow用户

发布于 2013-03-18 17:47:37

你不能把它作为根窗口。X有一个根窗口,你不能改变。有很多方法可以做你想做的事

  • X根窗口

旧的方法是桌面只是标准的X根窗口。图标只是一个没有边界的窗口。

  • 桌面窗口

现在,大多数系统打开一个大窗口,并将其标记为桌面窗口。因此,大多数窗口管理器都知道永远不要将其提升到任何其他窗口之上。X根窗口仍然在它后面,但它是隐藏的。这意味着你可以在这个窗口上做你想做的任何事情,画到它,包括图标或小部件,或者你的工具箱能做的任何事情。

如果您正在使用Gtk+,那么相关信息可以在GdkWindowTypeHint枚举中找到,特别是在GDK_WINDOW_TYPE_HINT_DESKTOP中。这些文档可以在这里找到:GdkWindow

  • Compositor

但是,像Gnome3或Unity这样的桌面系统有一种较新的使用方式,称为Compositor窗口。当排序程序运行时,有一个覆盖系统上所有窗口的覆盖窗口。然后由排序者在这个覆盖层上绘制窗口的实际内容。然而,覆盖可以在这个覆盖窗口上绘制它想要的任何东西。例如,在Gnome3中,当您输入窗口选择器,并且窗口将自己排列到一个网格中时,窗口实际上并没有移动和缩小,排序器已经决定以这种方式绘制它们。在现实中,窗户仍然处于与以前相同的位置,但隐藏在这个覆盖层下。

这是一种非常先进的方法,当然不适合新手开发人员。您可能希望专注于第二种方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14680134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档