微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用户界面 – 什么是“客户端装饰”?

我是一名学生,他做了一些web东西和一些命令行应用程序,现在给GUI一个尝试.我读了 http://python-gtk-3-tutorial.readthedocs.org/en/latest/layout.html,我绊倒了这句话:

Since GTK+ Now supports Client Side decoration,a Gtk.HeaderBar can be used in place of the title bar (which is rendered by the Window Manager).

有人可以解释一下“客户端装饰”吗?

http://blogs.gnome.org/mclasen/2014/01/13/client-side-decorations-continued/读起,我会猜测“客户端装饰”就是主题.有人可以解释窗口管理员如何与GTK进行交互?为什么叫“客户端装饰”?什么是服务器端装饰? (还是其他类型的装饰?)

传统上,GUI应用程序将对其窗口的内容负责,而不是标题栏,关闭按钮,边框,调整大小等等.这些都将被窗口管理器添加,并称为装饰.

(窗口管理器的示例是TWM,FluxBox,Metacity,Mutter等)

这是一个简单的解释,但这是桌面主题的实现方式;由于窗口不知道其标题栏,窗口管理器将一个与当前主题相匹配的窗口管理器.如果用户更改主题,则窗口只是更改标题栏.您的应用程序不必在乎.

另一方面,这意味着您的应用程序完全不可能以任何方式自定义标题栏.

近年来,已经有可能告诉窗口管理员“不谢谢你,我不想要装饰”,而是渲染你自己的标题栏.这就是GtkHeaderBar是什么 – 通过在标题栏中放置自定义控件来节省更多的屏幕空间,例如Chromium与浏览器选项卡.这被称为客户端装饰.

(从技术上讲,这总是可能的,但容易出错,因为你必须自己模仿窗口装饰的所有功能,用户期望他们工作的方式,GtkHeaderBar为你做.)

这是一把双刃剑,因为客户端装饰,您的应用程序不会对窗口管理器主题的更改做出反应.

至于客户端的名称,它来自X术语,其中客户端是呈现窗口并将其发送到X服务器的应用程序.

原文地址:https://www.jb51.cc/windows/364135.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐