53.X Window研究
文章平均质量分 85
李先静
Only those who attempt the absurd can achieve the impossible.
展开
-
如何运行TinyX
如何运行TinyX 转载时请注明出处:http://blog.csdn.net/absurd 编译了一个TinyX。 重起linux,并指定内核起动参数为vga=788。 运行:Xfbdev. 出现错误: _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6_XSERVT原创 2005-10-20 21:52:00 · 8615 阅读 · 2 评论 -
X Window研究笔记(10)
X Window研究笔记(10)转载时请注明出处和作者联系方式作者联系方式:李先静 10.X Window扩展机制--扩展(Extension)XWindow中有大量扩展模块,每个扩展模块完成一组相关的功能,把扩展功能从核心功能中剥离出来,可以大大提高X Server的可配置性和扩展性。扩展模块的实现机制很简单:每一个扩展模块都有一个初始化函数,这个函数在X Window起动时被调用,在这里面会初原创 2007-09-23 11:00:00 · 5850 阅读 · 1 评论 -
X Window研究笔记(11)
X Window研究笔记(11)转载时请注明出处和作者联系方式作者联系方式:李先静 11.X Window扩展机制--对象装饰Decorator模式是一个非常重要的模式,它在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。X Server是用C开发的,不方便使用正统的装饰模式,但大量使用了类似装饰模式的扩展方式。可以被装饰的对象有: 屏幕: ScreenRec原创 2007-09-24 21:19:00 · 4039 阅读 · 0 评论 -
X Window研究笔记(12)
X Window研究笔记(12)转载时请注明出处和作者联系方式作者联系方式:李先静 12.X Window扩展机制--截取点XWindow提供了另外一种扩展机制,可以在一些关键位置设置截取点,换句话说,你可以在这些关键位置插入自己的回调函数,当程序执行到这里时,注册的回调函数就会被调用。主要的截取点包括: ClientStateCallback 在创建,连接和关闭client等时原创 2007-09-26 21:08:00 · 3762 阅读 · 0 评论 -
X Window研究笔记(13)
X Window研究笔记(13)转载时请注明出处和作者联系方式作者联系方式:李先静 13.X Window扩展机制--客户端勾子函数扩展模块是X Window的主要扩展方式,前面我们介绍它在X Server中的实现。其实在客户端,X Window也为扩展模块扩展提供了方便,以此可以hook一些重要的功能,很多扩展模块都利用了这种机制。hook接口如下:typedef struct _XEx原创 2007-09-27 21:44:00 · 4173 阅读 · 1 评论 -
X Window研究笔记(14)
X Window研究笔记(14)转载时请注明出处和作者联系方式作者联系方式:李先静 14.X Window扩展机制--其它●驱动程序注册机制驱动程序对不同硬件和平台上的实现有很多差异,X Window框架部分并不会直接与驱动程序关联起来,也是采用的注册机制。前面已经有关于这方面的介绍了,这里不再骜述了。●实现指定的接口尽管大多数与平台相关的函数都可以采用注册机制,X Window框原创 2007-09-28 21:43:00 · 4105 阅读 · 0 评论 -
X Window研究笔记(15)
X Window研究笔记(15)转载时请注明出处和作者联系方式作者联系方式:李先静 15.X Window支持触摸屏X Window虽然可以直接支持触摸屏设备,但那样要求驱动程序做更多的工作,比如去抖,滤波和校准等等。这些功能通常是与设备无关的,没有必要与驱动程序耦合起来。tslib把这一部分功能分离出来,行成一个独立的库,这样所有触摸屏设备都可以重用这些代码了。所以通常的做法是X Windo原创 2007-10-02 13:26:00 · 4542 阅读 · 1 评论 -
X Window研究笔记(16)
X Window研究笔记(16)转载时请注明出处和作者联系方式作者联系方式:李先静 16.X Window字体的配置服务器端字体的配置:指定字体搜索路径: 缺省的路径:包括/usr/X11R6/lib/X11/fonts目录下的几个子目录。 在配置文件中指定:TinyX不需要配置文件。 在命令行参数中指定。用fp选项设置字体路径。用fn设置默认的字体。用fc设原创 2007-10-02 13:39:00 · 4287 阅读 · 0 评论 -
X Window研究笔记(18)
X Window研究笔记(18)转载时请注明出处和作者联系方式作者联系方式:李先静 18.X Window 字体处理X Window支持多种字体,即支持点阵字体,也支持矢量字体。最初,对字体的管理和渲染都是由X Server来做的。但是X Server管理和渲染字体有诸多不便,现在一般都由客户端的fontconfig/freetype来做这部分工作了。服务器端字体处理与字体相关的服务有:原创 2007-10-02 14:19:00 · 3890 阅读 · 0 评论 -
X Window研究笔记(19)
X Window研究笔记(19)转载时请注明出处和作者联系方式作者联系方式:李先静 19.X Window中的图片文件PixmapX Window自己定义了一种图片文件格式,叫做pixmap,与众不同的是,它完全以文本文件格式存放图片内容,而不是采用通常的二进制格式。下面一个图片的例子:static char* Busy1[] = ...{"32 32 6 1 15 16"," c原创 2007-10-02 14:31:00 · 4208 阅读 · 0 评论 -
X Window研究笔记(22)
X Window研究笔记(22)转载时请注明出处和作者联系方式作者联系方式:李先静 22.X Window 简单示例对大多数linux程序员来说,很少有机会直接用Xlib去开发应用程序,那样开发效率太低,一般都是使用基于像GTK+和QT这样的toolkit。不过了解一下XWindow编程没有什么坏处,这里举一个简单的例子,供新手参考:xdemo.c#include string.h>#in原创 2007-10-02 17:45:00 · 7581 阅读 · 1 评论 -
X Window研究笔记(17)
X Window研究笔记(17)转载时请注明出处和作者联系方式作者联系方式:李先静 17.X Window 窗口管理器很多人不知道窗口管理器是怎么回事。他们认为 GNOME 和 KDE 就是窗口管理器,认为窗口管理器就是能够提供一个工具条,能够配置桌面背景,能够设置很多菜单的东西。当然这种理解是不准确的,那什么是窗口管理器呢?根据EWMH(freedesktop.org)的要求,窗口管理器的基原创 2007-10-02 14:03:00 · 4586 阅读 · 0 评论 -
X Window研究笔记(20)
X Window研究笔记(20)转载时请注明出处和作者联系方式作者联系方式:李先静 20.X Window资源管理在X Window中,资源是一个广泛使用的概念。它包括图片、光标和窗口等对象,可以是内置的,也可以是注册的。每个资源都有一个ID,这个ID是唯一的,在各个客户端之间相同的ID引用相同的资源。这不但提高了传输性能,也是解决了在不同进程,甚至不同机器之间资源共享的问题。对资源管理的主要原创 2007-10-02 14:37:00 · 4411 阅读 · 2 评论 -
X Window研究笔记(9)
X Window研究笔记(9)转载时请注明出处和作者联系方式作者联系方式:李先静 插件式(Plug-in/Add-On)架构如今已经变得非常流行了,Eclipse因把这种技术发挥到极致,而倍受赞誉。这种技术被广泛采用,当然是有它的道理的,可扩展性就是其中好外之一。实际上,这并不是什么新概念,早在20多年前,X Window就采用了类似的设计方法,只是可能很长时间以来,X Window都没有采用原创 2007-09-21 20:30:00 · 4431 阅读 · 0 评论 -
X Window研究笔记(8)
X Window研究笔记(8)转载时请注明出处和作者联系方式作者联系方式:李先静 8.X Window客户端请求的处理与输入事件的分发客户端请求的处理 客户端调用Xlib或者扩展模块的客户端库函数,这些库函数把服务请求数据按X Protocol打包,然后通过XTransport层发送到 X Server端。 X Server收到数据包后,根据请求号调用对应的服务函数。P原创 2007-09-19 21:58:00 · 5813 阅读 · 0 评论 -
X Window研究笔记(7)
X Window研究笔记(7) 转载时请注明出处和作者联系方式 作者联系方式:李先静 7.X Window的运行过程 X Window 的入口在programs/Xserver/dix/main.c:main处,这一部分当然是平台无关的,任何平台都按这个过程运行。这里主要强调初始化过程,至于主循环,它的实现比较复杂,在后续章节中我们再详细介绍。 (待续)原创 2007-09-18 21:19:00 · 4732 阅读 · 0 评论 -
在Linux下,从头构建图形环境(TinyX + GTK)
从头构建linux图形环境 转载时请注明出处和作者联系方式作者联系方式:李先静 在Linux下,从到头构建图形环境,不说是很难的事,至少也是要费些周折的,特别是对一个新手来说。最近老大让我研究一下Linux下的图形环境,以便决定是否能在手机上使用(CPU采用INTEL的PXA27x)。为了方便,先在PC上做实验,操作系统采用的是RH9,目标是让TinyX + GTK在RH上跑起来原创 2005-10-24 21:32:00 · 11304 阅读 · 12 评论 -
X窗口管理器大全
在google上搜了一下,想找一个DirectFB的窗口管理(自带的太简陋)。明明知道希望不大,还是想碰碰运气。最后,虽然没有找到DirectFB的窗口管理,也有一些收获,找到一个网站,里面列出了几乎所有的X Window的窗口管理:http://xwinman.org/。原创 2006-03-09 21:51:00 · 4648 阅读 · 0 评论 -
Tinyx 交叉编译配置文件(arm版)
Tinyx 交叉编译配置文件(arm版) 转载时请注明出处和作者联系方式作者联系方式:李先静 Host.def #define KDriveXServer YES#define TinyXServer YES#define XfbdevServer YES#define CrossCompiling YES#def原创 2006-03-30 22:02:00 · 4968 阅读 · 1 评论 -
桌面的标准还真多
桌面的标准还真多 最近负责开发一个桌面模块,通常情况下,桌面差不多是系统中的第一个GUI程序,同时它还充当各个应用程序的协调员,它的重要性不言而喻。况且我们把状态栏、操作栏和开始菜单都算在桌面模块内(目的是减少运行开销),涉及的内容就更多了。 更重要的是,我们选用的系统是Linux,当然希望做成一个开放的平台,这样能够比较方便的集成开源的应用程序。要达到这个目标自然就是遵循标准,今原创 2006-05-16 21:04:00 · 3837 阅读 · 0 评论 -
设置X Window的分辨率
设置X Window的分辨率 前段时间不知道做了什么操作,发现Vmware中的 X Window的分辨率变得奇大无比,以autoconfig的方式运行也不行,而偏偏没有安装Xconfigure。没办法,只好手工去修改配置。不过这也很简单: 文件:/usr/X11R6/lib/X11/XF86ConfigSection "Screen" Identifier "Scre原创 2006-06-16 22:31:00 · 4626 阅读 · 0 评论 -
在linux终端下运行X Window程序
在linux终端下运行X Window程序 作为Linux程序员,在大多数情况,在终端下干活(编程),可能更方便一点。服务器在机房里,大家都连接到同一台服务器上,而本机在Windows下运行一个终端(如SecureCRT),这是典型的配置。 如果开发的软件是不带GUI界面的,一点问题也没有,至少我自己这样做了几年了。而最近要编写GTK+程序,麻烦就来了。先是尝试在VMWare运行L原创 2006-06-14 21:09:00 · 7298 阅读 · 2 评论 -
X Window研究笔记--七大设计准则
X Window研究笔记(1)转载时请注明出处和作者联系方式作者联系方式:李先静 有不少朋友发邮件给我,询问关于TinyX的一些问题,最常见的是编译错误和字体显示问题。因为我们后来改用DirectFB作为显示后端了,所以很久没有再玩X Window了,我这里没有调试环境,也没有时间去帮大家调试。希望大家原谅。虽然X Window是一个非常复杂的系统,但只要静下心来分析,通常遇到的问题也是很容易原创 2007-09-11 21:33:00 · 8163 阅读 · 0 评论 -
X Window研究笔记(2)
X Window研究笔记(2)转载时请注明出处和作者联系方式作者联系方式:李先静 2.X Window的功能X Window提供了一组非常底层的服务,客户端程序发送请求给X Window, X Window根据请求完成相应服务。通过这些服务,客户端程序可以构建期望的用户界面。根据不同的功能,可以把这些服务分为以下几大类:2.1.处理输入X Window从键盘和鼠标接受输入,这些输入数据被当作”原创 2007-09-12 22:11:00 · 7732 阅读 · 0 评论 -
X Window研究笔记(5)
X Window研究笔记(5)转载时请注明出处和作者联系方式作者联系方式:李先静 5.显示设备(TinyX)显示设备曾一度是性能的瓶颈,尽管有些显示标准存在,但各厂家为了提高市场竞争力,增强显示设备的性能,加入了各种加速功能和其它一些专有特性,各OS提供的接口也各不相同,X Window为了保持可移植性,又要充分发挥硬件特性,所以显示设备驱动接口看起来有点复杂。幸运的是,对TinyX来说,这块原创 2007-09-15 12:09:00 · 5415 阅读 · 2 评论 -
X Window研究笔记(6)
X Window研究笔记(6)转载时请注明出处和作者联系方式作者联系方式:李先静 6.X Window输入设备(TinyX)X Window支持的基本输入设备有keyboard、mouse和touchscreen,keyboard有自己的驱动接口,而后两者具有相同的驱动接口。输入设备的初始化。 X Server在初始化时会调用InitInput函数初始化输入设备。 In原创 2007-09-15 16:43:00 · 4859 阅读 · 1 评论 -
X Window研究笔记(3)
X Window研究笔记(3)转载时请注明出处和作者联系方式作者联系方式:李先静 3.客户/服务器架构C/S架构是X Window最基本的架构,X Window的主体包括作为服务器运行的X Server,和中间的传输协议X Protocol,和客户封装X Protocol的函数库Xlib。应用程序通过Xlib把参数打包成X Protocol的格式,通过socket把请求发送给X Server,原创 2007-09-13 21:27:00 · 6542 阅读 · 3 评论 -
X Window研究笔记(4)
X Window研究笔记(4)转载时请注明出处和作者联系方式作者联系方式:李先静 4.X Window的分层视图X Window是一个严重依赖硬件环境的系统,输入依赖于输入设备,像键盘、鼠标和触摸屏等,输出设备依赖于显卡和显卡提供的接口。为了隔离与硬件的耦合,保持良好的可移植性,分层设计是必然的选择。X Window的分层视图如下所示: DIX(与底层无关的核心代码): DIX是与平台无关的原创 2007-09-14 22:28:00 · 5795 阅读 · 0 评论 -
X Window研究笔记(21)
X Window研究笔记(21)转载时请注明出处和作者联系方式作者联系方式:李先静 21.X Window 字符串与AtomAtom是X Window中的一大特色,不把它弄清楚,可能会对阅读其它代码形成障碍。X Window把常用的字串用一个hash表来管理,并给这些字符串赋与一个ID,客户端通过ID引用字符串,避免在客户端和服务器端之间来回传递这些它们,这样可以大大提高传输效率。另外Atom原创 2007-10-02 14:47:00 · 4546 阅读 · 0 评论