Tag Archives: XWindow

X Window研究笔记(22)- 简单示例

22.X Window 简单示例 对大多数linux程序员来说,很少有机会直接用Xlib去开发应用程序,那样开发效率太低,一般都是使用基于像GTK+和QT这样的toolkit。不过了解一下XWindow编程没有什么坏处,这里举一个简单的例子,供新手参考:

Posted in X Windows | Tagged | 3 Comments

X Window研究笔记(21)-字符串与Atom

21.X Window 字符串与Atom Atom 是X Window中的一大特色,不把它弄清楚,可能会对阅读其它代码形成障碍。X Window把常用的字串用一个hash表来管理,并给这些字符串赋与一个ID,客户端通过ID引用字符串,避免在客户端和服务器端之间来回传递这些它们,这样可以大大提高传输效率。另外Atom是一个整数,对整数的比较也比对字符串的比较有更快的速度。管理Atom的主要函数有:

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(20)-X Window资源管理

20.X Window资源管理 在 X Window中,资源是一个广泛使用的概念。它包括图片、光标和窗口等对象,可以是内置的,也可以是注册的。每个资源都有一个ID,这个ID是唯一的,在各个客户端之间相同的ID引用相同的资源。这不但提高了传输性能,也是解决了在不同进程,甚至不同机器之间资源共享的问题。

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(19)-X Window中的图片文件Pixmap

19.X Window中的图片文件Pixmap X Window自己定义了一种图片文件格式,叫做pixmap,与众不同的是,它完全以文本文件格式存放图片内容,而不是采用通常的二进制格式。下面一个图片的例子:

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(18)-X Window 字体处理

18.X Window 字体处理 X Window支持多种字体,即支持点阵字体,也支持矢量字体。最初,对字体的管理和渲染都是由X Server来做的。但是X Server管理和渲染字体有诸多不便,现在一般都由客户端的fontconfig/freetype来做这部分工作了。

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(17)-X Window 窗口管理器

17.X Window 窗口管理器 很多人不知道窗口管理器是怎么回事。他们认为 GNOME 和 KDE 就是窗口管理器,认为窗口管理器就是能够提供一个工具条,能够配置桌面背景,能够设置很多菜单的东西。当然这种理解是不准确的,那什么是窗口管理器呢?根据EWMH(freedesktop.org)的要求,窗口管理器的基本功能有以下这些:

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(16)-X Window字体的配置

16.X Window字体的配置 服务器端字体的配置: 指定字体搜索路径: 1. 缺省的路径:包括/usr/X11R6/lib/X11/fonts目录下的几个子目录。 2. 在配置文件中指定:TinyX不需要配置文件。 3. 在命令行参数中指定。用fp选项设置字体路径。用fn设置默认的字体。用fc设置默认的光标字体。

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(15)-X Window支持触摸屏

15.X Window支持触摸屏 X Window虽然可以直接支持触摸屏设备,但那样要求驱动程序做更多的工作,比如去抖,滤波和校准等等。这些功能通常是与设备无关的,没有必要与驱动程序耦合起来。tslib把这一部分功能分离出来,行成一个独立的库,这样所有触摸屏设备都可以重用这些代码了。所以通常的做法是X Window基于tslib,tslib再与具体的设备交互。

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(14)-其它

14.X Window扩展机制--其它

Posted in X Windows | Tagged | Leave a comment

X Window研究笔记(13)-客户端勾子函数

13.X Window扩展机制--客户端勾子函数 扩展模块是X Window的主要扩展方式,前面我们介绍它在X Server中的实现。其实在客户端,X Window也为扩展模块扩展提供了方便,以此可以hook一些重要的功能,很多扩展模块都利用了这种机制。hook接口如下:

Posted in X Windows | Tagged | Leave a comment