| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> perl >> 功能丰富的Perl:有趣的Ion窗口管理器
 

功能丰富的Perl:有趣的Ion窗口管理器

2008-05-19 06:25:40 编辑來源:互联网 繁體版 评论
 
 
  请关注 Ion 窗口管理器这个功能强大却很简单的程序,可以用它来管理应用程序在桌面上调用的窗口。Ion 并非华而不实,一旦习惯了它,您的工作效率将因此得到极大的提高,而且您会感到奇怪:为什么以前还使用过其他窗口管理器。

  通过本专栏,您将体验 X Window System 的 Ion 窗口管理器。X 窗口管理器是管理应用程序调用的窗口的程序。例如,如果您在 X 终端上运行 XTerm 或者 Web 浏览器,那么很可能会有一个在后台运行的窗口管理器,帮助您控制弹出的窗口。

  在 Microsoft® Windows® 中,窗口管理器与操作系统的其余部分是高度集成的。桌面上根本没有 Explorer 窗口的 Windows 机器是让人难以想像的。

  在 UNIX® 中,具体地讲是在 Linux™ 中,出于各种文化和技术的原因,桌面的演化遵循的是一条不同的路线。UNIX 采用 X 作为它选择的窗口系统,X 窗口管理器是典型的 UNIX 实用程序:小、快,而且可配置。twm 等窗口管理器倾向于满足最低限度要求,而 Enlightenment 窗口管理器精心设计的系统可以显示您所见过的最漂亮的图形。(要获得关于 MacOS X 中 Ion 的资料,请参阅参考资料部分)。

  在现在的 UNIX 桌面上,窗口管理器与桌面系统的其余部分之间的集成通常比以前更紧密(CDE、KDE 和 Gnome 都是这样),但它仍然完全可以运行与原定桌面不同的窗口管理器。

  本文是为那些愿意切换并配置其窗口管理器(通常简称 WM)的用户准备的。如果您不是这样的用户,那么要小心。Ion 不是一个容易使用的 WM,而且,如果您错误地配置了 Ion 或者 X (比如以总有一个不能启动的方式),那么绝对需要具备自救的能力。保持警惕!

  进入 Ion

  Ion 是一种平铺(tiling)窗口管理器。也存在其他一些与 lon 类似的窗口管理器(请参阅参考资料中列出的 Ion 主页链接),但是,我认为, Ion 最好地实现了速度、特色、扩展性和可配置性的平衡。Ion 的大小只有 150 千字节(在 Debian Linux 版本 2 中,要再加上模块的 160 千字节)。它运行起来很快。

  完全内幕

  Ion 实际上可以实现窗口重叠。我希望您学习改为使用平铺窗口,但是您也可以借助重叠窗口(“PWM”或者“浮动的”)工作台。它们之所以被称为 PWM 工作台,是因为 Ion 的前身 PWM 只实现了传统的重叠窗口管理。这些工作台也被称为是“浮动的”,因为看起窗口浮在屏幕上。平铺工作台通常称作 Ion 工作台,因为它们始终在 Ion 之内,不同于浮动工作台。

  首先要了解一个定义。平铺窗口管理器不允许窗口重叠。在意识到窗口重叠是向用户隐藏内容的主要原因之一以前,您可能会觉得有些奇怪。在导航方面,平铺窗口管理器是非常有效的,因为它们所管理的管口没有 z-plane(深度)。这样,用户只需要进行二维管理。(请参阅完全内幕)。

  您可能马上想到这样一个问题。如果在工作台上窗口过多,无法安置,而您又不想将它们压缩到小得无法管理时,怎么办?在这里,Ion 平铺特性以外的另一个优秀特性登场了:标签(tab)。标签是 Ion 的 z-plane,只可惜只能有一个标签是可见的。这样,如果一个窗口帧有标签 A、B 和 C,那么只能看到这些标签中的一个。其他标签以及属于它们的窗口都隐藏了起来。记住这一点,因为如果您想用好 Ion 的话,这是最基本的知识。当今的很多应用程序都支持标签,所以,即使以前没有使用过 Ion,您也可能知道它们是如何工作的。

  您可以查看 Ion 主页上(请参阅参考资料)关于 Ion 的平铺方式和标签的屏幕截图。那些屏幕截图看起来并不吸引人,因为 Ion 本身并不很吸引人 ―― 但它确实(难以置信地)实用。它的惟一目标是完成工作,自始至终没有使用任何华而不实的东西,比如主题。在使用 Ion 之前,我使用过 Enlightenment,我必须承认,因为缺乏主题,Ion 在开始时一点都不吸引人,但是最后,Ion 让我全神贯注于窗口内部的内容,而不是它们的装饰品。所以我建议,如果您要尝试 Ion,那么至少给它一天时间。第一印象是如此不好,使得您可能会厌恶 Ion,而您厌恶的理由恰恰是它成为优秀的窗口管理器的原因:它的简单。

  出于任何理由不喜欢使用鼠标的用户群将发现,Ion 特别实用。Ion 使您能够通过键盘接口使用每一项功能,在 Ion 中没有必要使用鼠标。但那些喜欢使用鼠标的人仍可以使用鼠标;只是,一旦您学会了击键,使用键盘做事情将更为简单和迅速。

  最后,我要指出的是,有很多的窗口管理器,Ion 可能并不是适合您的那一个。在 Ion 主页的链接部分,有其他类似于 Ion 的窗口管理器。仔细研究可以用于您的平台的窗口管理器,并根据您希望窗口管理器具有哪些功能来进行选择。不过,一定要试试 Ion。我想您会乐意这样做。

  Ion 历史

  从开始到现在,Ion 一直由芬兰电脑爱好者 Tuomo Valkonen 进行开发。其前身是来自同一作者的 PWM 窗口管理器。虽然 Ion 是一个遵循 Lesser GNU Public License 的软件包,但 Tuomo 是 Ion 项目的惟一所有者。最近,Tuomo 将最新版本的 Ion 添加到了子版本仓库中;在 Ion 主页上,有通过那个仓库获得最新的 Ion 版本的说明。

  在 2004 年 7 月之前,Ion 有三个不同的版本。Ion 1 是最原始的 Ion,是用 C 编写的。它有一个简单的配置格式,实际上,它类似于经典的 UNIX 窗口管理器。Ion 1 没有浮动的(重叠的窗口)工作台,特性很少。不过,在满足最低限度要求、精简以及特别实用的方法方面,Ion 1 是革命性的。Ion 1 可能不是第一个使用平铺工作台(这个思想完全不再新颖),但是,它确实在这方面做得很多,这要归功于标签。标签是 Ion 的平铺方法成功的根本,据我所知,在 PWM 之前,没有窗口管理器具有这一特色 ―― 或者就算它们这样做了,也没有一个像 Ion 这样如此广泛地使用标签,甚至连终端窗口都标签化了。

  Ion 2 大部分是对 Ion 的重写。它仍是用 C 编写的,为了更好地组织 Ion 代码,它整理了对象层次结构。Ion 最大的变化是添加了可选的浮动工作台以及 Lua 脚本语言,该语言适用于 Ion,就像 Lisp 适用于 Emacs,它是一种定制和扩展的基本手段。

  Ion 3 现在正处于开发之中,到目前为止,就用户可以看见的特性而言,它没有对 Ion 2 进行显著更新(尽管已经在测试一些非常好的特性:比如会话管理支持、mod_autows、一个非常好的 dock、便签簿等)。如果您乐于尝试新事物,那么您可以查看 Ion 3 的仓库,以获得关于这些特性的更多资料。

  Ion 3 简化了 Ion 2 引入的很多特性,添加了更好的模块来扩展 Ion,对 Ion 进行了较少的内部重写(尽管从脚本方面讲,它改变了很多,这反映了它从 Ion 2 中得到了教训)。在决定使用 Ion 3 之前,一定要检查它的状态。到撰写本文时,Ion 3 还是最新的发行版本,并且只有很少的文档。

  我的 Ion 配置

  尽管在开始使用 Ion 时,您当然会接受其默认键绑定,但是您可能发现它们很难用。而 workstar 或者 vi 的用户可能会发现其默认按键很好用,但是,如果键盘上有空闲的功能键,那么您应该修改默认的键绑定。我将向您展示我使用 Ion 2 的个人配置,我设置了一些不同的键绑定。

  注意,您可以保持默认的键绑定,同时安装新的键绑定。对新用户来说,这可能是最安全的。

  在展示之前,首先我需要解释我的键绑定。我的键盘几乎完全用于使用 Emacs 和 vi(编程)、 shell 交互和电子邮件(使用 Emacs gnus 邮件阅读器和新闻阅读器)。我将所有的 F 键(从 F1 到 F12,要么与 Control 组合,要么与 Shift 组合)都用于 Emacs 编程了。我将 Alt-F1 到 Alt-F12 留给了 Ion。在我的 Logitech、Sun 和 Memorex 键盘上,额外的键用来启动应用程序,我马上将要解释如何使用 xmodmap。

  我的设置中最不同寻常的部分是数字键区(keypad)。我只将数字键区用于 Ion 导航。我不需要按任何转义(Control、Alt 或者 Shift)键来使用数字键区,我已经以这种方式进行了设置。这样,当我在键盘上输入时,只需要将我的右手移动到数字键区就可以访问全部 Ion 导航。就我的经验而言,这是一个非常有效的设置,您也应该考虑试一下。键盘上别的地方可以实现数字键区的全部功能,所以不再需要它们做任何事情(99% 情况下如此)。剩下 1% 的可能必须使用数字键区,所以它们应该将我的设置映射到其他键,或者可以将设置映射到随 Alt 转义键按下的数字键区。

  如果您认为您绝对需要数字键区,那么可以花一些时间来考虑以下这个问题。您要在数字键区上使用什么?您的手落在其上的频率有多高?另一方面,您将手移动到鼠标上来安排屏幕上的窗口的频率有多高?您可能会发现,数字键区在您日常的计算机应用中并不是必需的。作为一个证据,可以考虑膝上型计算机。如果已经用了一些日子,您可能会注意到,上面没有单独的数字键区。对于大部分用户而言,这不会带来什么麻烦,而且他们很少使用常见的膝上型电脑的“重叠键区”。

  Ion 2 配置是用名为 Lua 的语言编写的。Ion 主页上有关于使用 Lua 配置 Ion 的文档链接(请参阅参考资料)。Ion 2 中引入的对象层次结构是通过 Lua 来处理的,所以,如果您计划定制 Ion 2 的所有部分(除了键绑定的最简单修改以外),那么应该去阅读描述对象层次结构的 Ion 2 文档。

  我的 Ion 2 配置由若干个文件组成。其中有 ion.lua,它控制着全局的 Ion 2 选项。对 Ion 平铺工作台,我使用的是 ionws.lua(目前其中只是有键绑定)。对于全局键绑定,我使用的是 tzz-ion-bindings.lua。由于我没有在 Ion 中使用 PWM(浮动的)工作台,所以我的定制中不包括 PWM 键绑定。Ion 2 附带的默认 PWM 绑定应该足够用了;如果您想让它们像用于 Ion

  
 
 
 
 
上一篇《功能丰富的Perl:遗传算法仿真多细胞机体》
下一篇《功能丰富的Perl:Perl6语法和正则表达式》
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
 
  请关注 Ion 窗口管理器这个功能强大却很简单的程序,可以用它来管理应用程序在桌面上调用的窗口。Ion 并非华而不实,一旦习惯了它,您的工作效率将因此得到极大的提高,而且您会感到奇怪:为什么以前还使用过其他窗口管理器。   通过本专栏,您将体验 X Window System 的 Ion 窗口管理器。X 窗口管理器是管理应用程序调用的窗口的程序。例如,如果您在 X 终端上运行 XTerm 或者 Web 浏览器,那么很可能会有一个在后台运行的窗口管理器,帮助您控制弹出的窗口。   在 Microsoft® Windows® 中,窗口管理器与操作系统的其余部分是高度集成的。桌面上根本没有 Explorer 窗口的 Windows 机器是让人难以想像的。   在 UNIX® 中,具体地讲是在 Linux™ 中,出于各种文化和技术的原因,桌面的演化遵循的是一条不同的路线。UNIX 采用 X 作为它选择的窗口系统,X 窗口管理器是典型的 UNIX 实用程序:小、快,而且可配置。twm 等窗口管理器倾向于满足最低限度要求,而 Enlightenment 窗口管理器精心设计的系统可以显示您所见过的最漂亮的图形。(要获得关于 MacOS X 中 Ion 的资料,请参阅参考资料部分)。   在现在的 UNIX 桌面上,窗口管理器与桌面系统的其余部分之间的集成通常比以前更紧密(CDE、KDE 和 Gnome 都是这样),但它仍然完全可以运行与原定桌面不同的窗口管理器。   本文是为那些愿意切换并配置其窗口管理器(通常简称 WM)的用户准备的。如果您不是这样的用户,那么要小心。Ion 不是一个容易使用的 WM,而且,如果您错误地配置了 Ion 或者 X (比如以总有一个不能启动的方式),那么绝对需要具备自救的能力。保持警惕!   进入 Ion   Ion 是一种平铺(tiling)窗口管理器。也存在其他一些与 lon 类似的窗口管理器(请参阅参考资料中列出的 Ion 主页链接),但是,我认为, Ion 最好地实现了速度、特色、扩展性和可配置性的平衡。Ion 的大小只有 150 千字节(在 Debian Linux 版本 2 中,要再加上模块的 160 千字节)。它运行起来很快。   完全内幕   Ion 实际上可以实现窗口重叠。我希望您学习改为使用平铺窗口,但是您也可以借助重叠窗口(“PWM”或者“浮动的”)工作台。它们之所以被称为 PWM 工作台,是因为 Ion 的前身 PWM 只实现了传统的重叠窗口管理。这些工作台也被称为是“浮动的”,因为看起窗口浮在屏幕上。平铺工作台通常称作 Ion 工作台,因为它们始终在 Ion 之内,不同于浮动工作台。   首先要了解一个定义。平铺窗口管理器不允许窗口重叠。在意识到窗口重叠是向用户隐藏内容的主要原因之一以前,您可能会觉得有些奇怪。在导航方面,平铺窗口管理器是非常有效的,因为它们所管理的管口没有 z-plane(深度)。这样,用户只需要进行二维管理。(请参阅完全内幕)。   您可能马上想到这样一个问题。如果在工作台上窗口过多,无法安置,而您又不想将它们压缩到小得无法管理时,怎么办?在这里,Ion 平铺特性以外的另一个优秀特性登场了:标签(tab)。标签是 Ion 的 z-plane,只可惜只能有一个标签是可见的。这样,如果一个窗口帧有标签 A、B 和 C,那么只能看到这些标签中的一个。其他标签以及属于它们的窗口都隐藏了起来。记住这一点,因为如果您想用好 Ion 的话,这是最基本的知识。当今的很多应用程序都支持标签,所以,即使以前没有使用过 Ion,您也可能知道它们是如何工作的。   您可以查看 Ion 主页上(请参阅参考资料)关于 Ion 的平铺方式和标签的屏幕截图。那些屏幕截图看起来并不吸引人,因为 Ion 本身并不很吸引人 ―― 但它确实(难以置信地)实用。它的惟一目标是完成工作,自始至终没有使用任何华而不实的东西,比如主题。在使用 Ion 之前,我使用过 Enlightenment,我必须承认,因为缺乏主题,Ion 在开始时一点都不吸引人,但是最后,Ion 让我全神贯注于窗口内部的内容,而不是它们的装饰品。所以我建议,如果您要尝试 Ion,那么至少给它一天时间。第一印象是如此不好,使得您可能会厌恶 Ion,而您厌恶的理由恰恰是它成为优秀的窗口管理器的原因:它的简单。   出于任何理由不喜欢使用鼠标的用户群将发现,Ion 特别实用。Ion 使您能够通过键盘接口使用每一项功能,在 Ion 中没有必要使用鼠标。但那些喜欢使用鼠标的人仍可以使用鼠标;只是,一旦您学会了击键,使用键盘做事情将更为简单和迅速。   最后,我要指出的是,有很多的窗口管理器,Ion 可能并不是适合您的那一个。在 Ion 主页的链接部分,有其他类似于 Ion 的窗口管理器。仔细研究可以用于您的平台的窗口管理器,并根据您希望窗口管理器具有哪些功能来进行选择。不过,一定要试试 Ion。我想您会乐意这样做。   Ion 历史   从开始到现在,Ion 一直由芬兰电脑爱好者 Tuomo Valkonen 进行开发。其前身是来自同一作者的 PWM 窗口管理器。虽然 Ion 是一个遵循 Lesser GNU Public License 的软件包,但 Tuomo 是 Ion 项目的惟一所有者。最近,Tuomo 将最新版本的 Ion 添加到了子版本仓库中;在 Ion 主页上,有通过那个仓库获得最新的 Ion 版本的说明。   在 2004 年 7 月之前,Ion 有三个不同的版本。Ion 1 是最原始的 Ion,是用 C 编写的。它有一个简单的配置格式,实际上,它类似于经典的 UNIX 窗口管理器。Ion 1 没有浮动的(重叠的窗口)工作台,特性很少。不过,在满足最低限度要求、精简以及特别实用的方法方面,Ion 1 是革命性的。Ion 1 可能不是第一个使用平铺工作台(这个思想完全不再新颖),但是,它确实在这方面做得很多,这要归功于标签。标签是 Ion 的平铺方法成功的根本,据我所知,在 PWM 之前,没有窗口管理器具有这一特色 ―― 或者就算它们这样做了,也没有一个像 Ion 这样如此广泛地使用标签,甚至连终端窗口都标签化了。   Ion 2 大部分是对 Ion 的重写。它仍是用 C 编写的,为了更好地组织 Ion 代码,它整理了对象层次结构。Ion 最大的变化是添加了可选的浮动工作台以及 Lua 脚本语言,该语言适用于 Ion,就像 Lisp 适用于 Emacs,它是一种定制和扩展的基本手段。   Ion 3 现在正处于开发之中,到目前为止,就用户可以看见的特性而言,它没有对 Ion 2 进行显著更新(尽管已经在测试一些非常好的特性:比如会话管理支持、mod_autows、一个非常好的 dock、便签簿等)。如果您乐于尝试新事物,那么您可以查看 Ion 3 的仓库,以获得关于这些特性的更多资料。   Ion 3 简化了 Ion 2 引入的很多特性,添加了更好的模块来扩展 Ion,对 Ion 进行了较少的内部重写(尽管从脚本方面讲,它改变了很多,这反映了它从 Ion 2 中得到了教训)。在决定使用 Ion 3 之前,一定要检查它的状态。到撰写本文时,Ion 3 还是最新的发行版本,并且只有很少的文档。   我的 Ion 配置   尽管在开始使用 Ion 时,您当然会接受其默认键绑定,但是您可能发现它们很难用。而 workstar 或者 vi 的用户可能会发现其默认按键很好用,但是,如果键盘上有空闲的功能键,那么您应该修改默认的键绑定。我将向您展示我使用 Ion 2 的个人配置,我设置了一些不同的键绑定。   注意,您可以保持默认的键绑定,同时安装新的键绑定。对新用户来说,这可能是最安全的。   在展示之前,首先我需要解释我的键绑定。我的键盘几乎完全用于使用 Emacs 和 vi(编程)、 shell 交互和电子邮件(使用 Emacs gnus 邮件阅读器和新闻阅读器)。我将所有的 F 键(从 F1 到 F12,要么与 Control 组合,要么与 Shift 组合)都用于 Emacs 编程了。我将 Alt-F1 到 Alt-F12 留给了 Ion。在我的 Logitech、Sun 和 Memorex 键盘上,额外的键用来启动应用程序,我马上将要解释如何使用 xmodmap。   我的设置中最不同寻常的部分是数字键区(keypad)。我只将数字键区用于 Ion 导航。我不需要按任何转义(Control、Alt 或者 Shift)键来使用数字键区,我已经以这种方式进行了设置。这样,当我在键盘上输入时,只需要将我的右手移动到数字键区就可以访问全部 Ion 导航。就我的经验而言,这是一个非常有效的设置,您也应该考虑试一下。键盘上别的地方可以实现数字键区的全部功能,所以不再需要它们做任何事情(99% 情况下如此)。剩下 1% 的可能必须使用数字键区,所以它们应该将我的设置映射到其他键,或者可以将设置映射到随 Alt 转义键按下的数字键区。   如果您认为您绝对需要数字键区,那么可以花一些时间来考虑以下这个问题。您要在数字键区上使用什么?您的手落在其上的频率有多高?另一方面,您将手移动到鼠标上来安排屏幕上的窗口的频率有多高?您可能会发现,数字键区在您日常的计算机应用中并不是必需的。作为一个证据,可以考虑膝上型计算机。如果已经用了一些日子,您可能会注意到,上面没有单独的数字键区。对于大部分用户而言,这不会带来什么麻烦,而且他们很少使用常见的膝上型电脑的“重叠键区”。   Ion 2 配置是用名为 Lua 的语言编写的。Ion 主页上有关于使用 Lua 配置 Ion 的文档链接(请参阅参考资料)。Ion 2 中引入的对象层次结构是通过 Lua 来处理的,所以,如果您计划定制 Ion 2 的所有部分(除了键绑定的最简单修改以外),那么应该去阅读描述对象层次结构的 Ion 2 文档。   我的 Ion 2 配置由若干个文件组成。其中有 ion.lua,它控制着全局的 Ion 2 选项。对 Ion 平铺工作台,我使用的是 ionws.lua(目前其中只是有键绑定)。对于全局键绑定,我使用的是 tzz-ion-bindings.lua。由于我没有在 Ion 中使用 PWM(浮动的)工作台,所以我的定制中不包括 PWM 键绑定。Ion 2 附带的默认 PWM 绑定应该足够用了;如果您想让它们像用于 Ion   
󰈣󰈤
 
 
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
玉美人_珠联璧合
清纯美女米卡
清新靓丽的早晨
玲子的自信与性感
痞子的甘南日记
疑是银河落九天
雪域坝上四——纯美色
冬日恋歌——西城杨柳弄轻柔
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有