桌面的标准还真多
最近负责开发一个桌面模块,通常情况下,桌面差不多是系统中的第一个GUI程序,同时它还充当各个应用程序的协调员,它的重要性不言而喻。况且我们把状态栏、操作栏和开始菜单都算在桌面模块内(目的是减少运行开销),涉及的内容就更多了。
更重要的是,我们选用的系统是Linux,当然希望做成一个开放的平台,这样能够比较方便的集成开源的应用程序。要达到这个目标自然就是遵循标准,今天到freedeskop网站上看了一下,相关标准还真多,还好,它们的实现都不会太复杂。
其中比较重要的有:
Desktop Entry Specification 描述应用程序配置文件的格式,遵循这个格式,桌面就可以把应用程序加入到开始菜单或者桌面快捷方式中。
Xembed 窗口嵌入协议,即如何把一个窗口嵌入到另外一个窗口中,通常两个窗口在不同的进程中。
System Tray 系统托盘协议,它是基于Xembed协议的。遵循这个协议,可以把应用程序的窗口(通常只有图标大小)嵌入到panel中。
Startup Notification 应用程序起动协议。主要用于跟踪应用程序的起动过程,利用这个协议可以给用户一个直观的反馈,比如在应用程序起动过程中显示一个动画,让用户感觉不至于太单调。
Trash specification 回收站协议。在Linux下,一惯的作法是文件删除了就删除了,除非借助一些专门的工具,否则是无法撤消删除操作的。回收站协议可以提供类似于Window下回收站的功能。
MIME actions 文件关联协议。就是把文件和对应的查看/编辑应用程序关联起来。这样,在你双击该类文件时,文件就会被关联的应用程序自动打开。
Autostart Specification 应用程序自动运行协议。在桌面起动或者可移动磁盘(如光驱和U盘)加载时,让一些应用程序自动运行起来,这个协议就是用来描述这些规范的。
还有一些也要用到,等看了才知道。