跳转到内容

Awesome

维基百科,自由的百科全书
awesome 窗口管理器
显示多个终端界面的Awesome
显示多个终端界面的Awesome
開發者Julien Danjou
首次发布2007年9月18日,​19年前​(2007-09-18)[1]
当前版本4.3(2019年1月28日,​7年前​(2019-01-28))
源代码库 編輯維基數據鏈接
编程语言C 和 Lua
操作系统类Unix
类型窗口管理器
许可协议GNU通用公共许可证
网站awesomewm.org

Awesome (原名jdwm) 是一款适用于X Window系统的“瓦片式(平铺式)窗口管理器”,使用C和Lua编程语言开发,最初是dwm的一个分支。它旨在非常小巧快速,同时高度可定制。所谓的平铺就是指所有的窗口都不会相互重叠,而是自动的被调整大小使得它们能够刚好占满整个屏幕。这和传统的桌面管理器的概念相差很大。

该分支最初被昵称为jdwm,其中「jd」代表主要开发者姓名的首字母缩写,而「dwm」则代表其所分支自的软件项目。后来成为awesome的首个Git代码仓库于2007年9月建立。jdwm随后更名为awesome,这一名称取自电视剧《老爸老妈的浪漫史》中角色Barney Stinson使用的同一句口头禅。[2]2007年9月20日,awesome在dwm邮件列表中正式发布公告。[3]

项目目标

[编辑]

窗口管理器可能是日常任务中使用频率最高的软件之一,与Web浏览器、邮件阅读器和文本编辑器一样。高级用户和程序员在这些日常任务所使用的工具方面拥有广泛的选择,其中一些工具具有很强的可扩展性和可配置性。

awesome旨在通过提供我们所缺少的功能来补充这些工具:一款可扩展、高度可配置的窗口管理器。

为了实现这一目标,awesome被设计为一款框架式窗口管理器。它具有极快的运行速度、极小的体积、动态特性,并且能够通过Lua编程语言实现高度扩展。[4]

awesome最初是dwm的一个分支,其特色是通过外部配置文件实现自定义(参见下文的配置与自定义)。尽管该窗口管理器具有高度可扩展性,但其默认配置有意保持简洁。通过这种设计,作者创造了一种他称之为框架式窗口管理器[2]的软件,供用户根据自身需求进行扩展和调整。

配置与自定义

[编辑]

从项目诞生之初,awesome就被设计为一个具有外部配置文件的dwm分叉。[2]因此,作者对其配置文件格式以及配置过程本身给予了特别的重视。

早期配置文件格式

[编辑]

在第三个主要版本发布之前,awesome的一项特色是Danjou所称的「无需复杂配置」。[5]awesome的早期版本(1.x)只是对dwm进行的简单修改,采用基于libconfig的配置文件方式。在2.x分支中,Danjou将配置库从libconfig更换为libconfuse,后者是另一种纯文本文件配置库,在某种程度上与libconfig相似。在2.x版本的开发过程中,awesome增加了许多自定义功能,例如标题栏和图标绘制。[2]

新配置文件

[编辑]

2008年5月20日,Danjou通过电子邮件向awesome邮件列表宣布,3.0版本将采用一种新的配置文件格式。[6]新格式最初使用的配置文件路径为~/.awesomerc.lua,后来迁移至~/.config/awesome/rc.lua。正如文件扩展名所示,该配置文件使用Lua语言编写。Danjou认为,新的格式和Lua集成将使awesome用户能够以他此前认为不可能的方式自定义awesome:使用编程语言进行配置,使用户能够动态指定配置选项。[6]

awesome的Lua API现已托管在awesome官方网站上,[7]而一篇教程风格的awesome配置文章则发布在awesome Wiki上。[8]

主题与小部件

[编辑]

可以通过使用该窗口管理器的Beautiful库为awesome设置主題包(或皮肤)。[9]与rc.lua配置文件一样,主题也使用Lua编写,因此可以创建动态主题。

尽管截至3.2.1版本,awesome的默认配置并未提供任何状态指示器(例如无线网络状态、电池电量指示器等),但用户可以通过小部件添加这些功能。[10]由于小部件是在主配置文件中定义的,因此可以使用任意Lua代码为其提供数据。

迁移至XCB

[编辑]

于2008年9月18日发布的3.0版本开始使用XCB库与X服务器进行通信,[11]使awesome成为首个使用该库而非Xlib的窗口管理器。XCB移植工作于2008年1月启动,由现任Awesome开发者之一Arnaud Fontaine负责。[12][2]

參考來源

[编辑]
  1. ^ 1.0 release tag
  2. ^ 2.0 2.1 2.2 2.3 2.4 Danjou, Julien. Taking the other direction. 15 April 2009 [14 August 2011]. (原始内容存档于13 July 2011). 
  3. ^ Danjou, Julien. Project announcement from dwm mailing list. Gmane. 20 September 2007 [2008-12-13]. (原始内容存档于2009-04-06). 
  4. ^ about – awesome window manager. [2016-09-06]. (原始内容存档于2007-10-11). 
  5. ^ awesome 3: Lua integration 互联网档案馆的存檔,存档日期February 10, 2009,.
  6. ^ 6.0 6.1 News on awesome-3 and about latest commits (May 20, 2008) 互联网档案馆的存檔,存档日期22 August 2009.
  7. ^ awesome API documentation 互联网档案馆的存檔,存档日期11 May 2009.
  8. ^ Awesome 3 configuration 互联网档案馆的存檔,存档日期1 June 2009.
  9. ^ awesome Wiki: Beautiful 互联网档案馆的存檔,存档日期30 May 2009.
  10. ^ awesome Wiki: Widgets in awesome 互联网档案馆的存檔,存档日期30 May 2009.
  11. ^ XCB transition announcement from XCB mailing list 互联网档案馆的存檔,存档日期27 August 2009.
  12. ^ Community page on Awesome homepage: under Developers heading 互联网档案馆的存檔,存档日期23 November 2007.

外部連結

[编辑]