X Window研究笔记(17)
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
17.X Window 窗口管理器
很多人不知道窗口管理器是怎么回事。他们认为 GNOME 和 KDE 就是窗口管理器,认为窗口管理器就是能够提供一个工具条,能够配置桌面背景,能够设置很多菜单的东西。当然这种理解是不准确的,那什么是窗口管理器呢?根据EWMH(freedesktop.org)的要求,窗口管理器的基本功能有以下这些:
- 模态窗口(Modality)。一般用来实现模态对话框,所谓模态对话框,就是具有这样特性的对话框,除非你把它关掉,否则无法切换回到它的父窗口上。
- 大桌面(Large Desktop)。显示器的大小是有限的,比如显示器的分辨率为1024x768,那么传统的桌面就只能这么大一点。窗口管理器可以实现一个逻辑上的大桌面,较显示器的物理分辨率,拥有更大的显示范围。当然你在某个时刻只能看到桌面的一部分,这部分也称为viewport,通过变换viewport可以看到桌面的其它区域。
- 固定窗口(Sticky windows)。固定窗口要求窗口的位置被固定到显示器的物理位置, viewport的变换对它的位置都没有影响。
- 虚拟桌面(Virtual Desktops)。同时打开的窗口太多时,可以把这些窗口分成不同的组,同一时刻只显示其中一组的窗口,每一组窗口就是一个虚拟桌面。
- 任务条(Taskbars)、分页器(Pagers) 。显示当前所有的打开的窗口,并且可以在这些窗口之间切换。
- 窗口栈序(Z-Order) 。就是窗口之间的上下关系。
- 保留区域(reserve space)。让某个窗口独占某块靠边的区域,比如任务条,一般都独占桌面最下面的一长条区域。
- 窗口状态(Window State) 。窗口有最大化、最小化、全屏等的状态,这些由窗口管理器负责管理。当然,上层应用也可以调用窗口管理器提供的函数,来改变窗口的状态。
- 窗口装饰。在unix下,GUI的惯例是,窗口的标题和四周的边框,都称为装饰,这些装饰的显示是由窗口管理器负责的。这样的好处时,应用程序无须做任何修改,仅通过配置窗口管理器,就可以得到风格各异的显示效果。
- 窗口协议。这主要用于实现窗口僵死状态检测,窗口之间的同步处理等功能。
这些都是窗口管理器的基本职责。关于窗口管理更全面的职责和协议可以参考freedesktop上的规范,关于窗口管理的实现可以参考matchbox-window-manager的代码。
(待续)
分享到:
相关推荐
X Window研究笔记 虽然X Window是一个非常复杂的系统,但只要静下心来分析,通常遇到的问题也是很容易解决的,前年我花了一段时间去研究X Window的实现,我发现了解它的实现后,很多问题都迎刃而解了
X-window简略笔记
X Window 程式设计入门--第一章 什么是 X Window X Window 程式设计入门--第二章 X Programming 的第一步 X Window 程式设计入门--第三章 绘图(Graphic) X Window 程式设计入门--第三章 绘图(Graphic) X Window 程...
Xwindow程序设计入门,网上收藏,很好的资料,对了解xwindow编程很有帮助
X Window System 是一套在各种位元映像显示器 (bitmapped dispalys) 上具有极大可携性 (portable) 的视窗系统 (window system), 它是由麻省理工学院 (MIT)所发展出来. X Windows System ( 本书以後部 份简称为...
This practical guide shows X programmers how to construct working 3D applications using OpenGL and how to tightly integrate OpenGL applications with the X Window System. Written by a Silicon Graphics...
描述X window 直接渲染架构的概念,实现
对Linux操作系统的桌面环境软件X window的介绍及启动流程
Linux与X Window系统基础 Linux与X Window系统基础
X Window System 是一套在各种位元映像显示器 (bitmapped dispalys) 上具有极大可携性 (portable) 的视窗系统 (window system), 它是由麻省理工学院 (MIT)所发展出来. X Windows System ( 本书以後部 份简称为...
这个文档为Linux用户提供了一些基本的关于理解和配置X-Window系统的信息。 这只是一个入门级别的文档。假设已经有了一个安装好的并且正在工作的 X-Window系统。
Linux下X-Window系统程序设计简介.pdf
window manager for x window manager for x window manager for x
关于X window的介绍。让你了解并熟悉X window。
Xwindow 是一个非常出色的图形系统,你应该抱怨的是那些不稳定的包装,而不是 Xwindow 本身。
Xming, windows操作系统连接Linux, Unix的x window 工具。
Unix_Linux环境下的窗口系统X Window(上).pdf
一份课程报告,介绍了X-Window的架构体系,并对启动代码做了分析