X Window System, unix 下桌面系统的基石。:-) 为了看到 quake x11 部分的代码,今天小小学习了下 x11。
x11 的程序结构如下:
X client <==\
X client <====> X server(manager) <==> user
X client <==/
我们看到的图形界面程序是 X server,因此只要替换不同的 manager,则可以得到不同的界面效果。而 X client 则是具体的程序逻辑(数据逻辑)。比如:Firefox(X client) 打开了网页,要在(10,10)的位置上显示一个button,则需要告诉 X server 我要显示 button 了,然后 X server 在对应的位置上画一个 button。
每个用户通过网络登录 unix 图形界面,就为其开启了一个 X server。x11 Server/Client 的设计,让图形界面很方便地可以夸网络运行。
这里有一个简单的 x11 程序,可以显示一个最简单的 window。
http://en.wikibooks.org/wiki/X_Window_Programming/XLib不过 x11(Xlib) 提供的内容实在很基础,一些高级的控件都不支持,因此大多我们都是用 Gtk+、Qt 等高级一些的家伙来些 UI程序。
评论