窗口信息函数:属性与原子详解
在窗口系统中,属性和原子是重要的概念,它们为窗口信息的管理和交换提供了强大的功能。下面将详细介绍属性和原子的相关知识,以及如何使用相关函数进行操作。
1. 属性和原子的基本概念
属性是一组命名的、有类型的数据集合。窗口系统有一组预定义的属性,例如窗口名称、大小提示等,用户也可以定义任意信息并将其与窗口关联。每个属性都有一个名称,该名称是一个 ISO Latin - 1 字符串,并且与一个唯一的标识符(原子)相关联。属性还有一个类型,如字符串或整数,这些类型同样通过原子表示,因此可以定义任意新类型。一个属性名只能关联一种类型的数据,客户端可以存储和检索与窗口关联的属性。
为了提高效率,使用原子而不是字符串。可以使用 XInternAtom 函数来获取属性名对应的原子。
属性可以以几种可能的格式存储,X 服务器可以将信息存储为 8 位、16 位或 32 位的量,这允许 X 服务器以客户端期望的字节顺序呈现数据。如果定义了复杂类型的属性,需要自己进行编码和解码,并且这些函数的编写要考虑可移植性。
2. 原子的命名空间
原子在协议中存在于五个不同的命名空间:
- 选择(Selections)
- 属性名(Property names)
- 属性类型(Property types)
- 字体属性(Font properties)
- 客户端消息事件类型(Type of a ClientMessage event)
以下是一些内置的属性和类型:
| 类别 | 内置名称 |
| --
超级会员免费看
订阅专栏 解锁全文
1182

被折叠的 条评论
为什么被折叠?



