Enlightenment DR 0.17 user guide(E17用户指南)
|
|
Enlightenment DR 0.17 user guide(E17用户指南)
1.1 - 不承诺
这篇指南中涉及到的Enlightenment DR 17 和Enlightenment基本类库(Enlightenment
Foundation Libraries,EFL) 还没有发行. 各程序和库的当前CVS版本不代表最终的版本,
按照传统的观点就是很多特征还没有完成,也不够稳定. 一切都在紧张的开发中,所以这些程序现在没有被enlightenment团队支持.
一些CVS中的程序可能有时编译不通过.换句话说,就是当你发现有bug或工作不正常时不必感到惊讶.
这份指南同时在不断更新中,并且尽量保持与cvs上的e17同步.这份文档的作者与E17开发者对于因为这篇指南而引起的任何破坏不负任何责任. E17和基于EFL的程序现在只对开发者有意义. 但是当然欢迎任何人使用它们.
我们已经尝试尽量减少这份文档的错误, 但可能有一些错误我们没有注意到. 如果你发现任何应该修改的地方,请让我们知道, 无
论它是多么小的改动或是多么容易的改动. E17当前仍然在改变中, 所以这篇指南并不总是完全最新的.
当然很多东西应该是正确的并且是最新的.在多数情况下,这篇指南仍然缺少一些内容. 当然多数内容应该是正确的并且及时更新的. 多数情况下,
你可能为这篇指南里面没有涉及某些特征而感到疑惑,它可能只是不存在E17中. E17源码同时包括一个TODO文件,它比此网站上的更复杂. 同时注意这篇指南应该当成一本书来从头读到尾, 所以如果你跳过一些内容那你可能忽略了某些前面已经解释过的重要的事情( 可能会在一个不相关的章节 ). 甚至这个文档release的时间还很早,很多东西仍然会改变,早期的测试者与使用者可能会发现这个文档很有用 :-).
同时这个指南应该当成一本书来看. 从开始到最后. 如果你跳过一些东西, 你可能会忽略前面写过的一些重要的事情(甚至可能会在一个完全无关的章中), 而且这个文档现在离发行还早, 更早的测试者与尝试者可能会发现这个文档有用 :-)
这
个指南只包括 Enlightenment DR 17 (E17) 窗口管理器 (同时是一个桌面外壳,后面会对此进行解释).
这样做的理由是多数其它基本E17基本类库(EFL)的程序仍然在早期的开发中. 但是E17基本上已经开始变慢了 -
这可能被误导成它已经快完成了, 然后它只是不在早期的开发中而已. Get-e.org的明星们认为E17已经或多或少的适合发布.
最少在这点上,它已经是非常的稳定, 我们已经设置了分开的指南来覆盖其它基于EFL的程序 - 与E17相比, 它们中的多数还不适合普通用户使用.
| |
1.2 - 信誉
这篇指南由Get-e.org的明星们编写与维护.
如果你有任何建议或补充, 或可能注意到一篇指南中一些章节已经过时了, 请不要怕打扰我们. 通常,可以email到给. 如果我们不知道某个部分已经出了问题, 那可能很难修订它.
1.3 - 当前状态
连篇指南的最新更新时间是 2005/12/29. 所有的东西或多或少都做了点更新.
2 - 安装
这个章节包括在不同的linux版本上安装E17的方法.
2.1 - 从CVS安装
E17 还没有发布, 所以你可以直接通过CVS得到最新的开发版本, 或是使用 上的快照(snapshot). 如果你不知道什么是CVS, 请看这里 . 现在一些版本有非官方的二进制包 (根据CVS的映象生成) , 这将会在下一节中说明.
Enlightenment DR 17 基于 Enlightenment基本类库(Enlightenment Foundation Libraries, EFL). 为了可以安装E17, 你需要按下面顺序安装这些EFL库:
1. e17/libs/eet
2. e17/libs/evas
3. e17/libs/ecore
4. e17/libs/embryo
5. e17/libs/edje
在安装完这些后, 你可以继续安装E17了:
1. e17/apps/e
数字表示需要你安装它们的顺序. 路径是CVS目录, 当你从CVS下载这些东西时,将需要这个目录.
为了从CVS下载这些库和程序的源码, 作为某个用户帐号执行下面的命令. 在你运行这些命令的地方,会有一个叫"e17" 的目录:
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment login
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/libs/eet
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/libs/evas
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/libs/ecore
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/libs/embryo
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/libs/edje
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17/apps/e
为了编译上面这些库, 你需要一个编译环境. 下面是一个通用列表, 不是发行版相关的或是依赖的. 你的发行版本可能有不同名字的依赖.
- M4
- Autoconf
- Automake (1.7 或更高版本)
- Libtool
- Pkg-config
- Texinfo
- Zlib
- Jpeg
- Freetype 2
- Xorg-X11 或XFree86
- X11-libs
首先你需要按正确的顺序安装所有列出来的EFL库. 然后,你可以开始安装 E17 窗口管理器. 如果你运行上面的CVS命令,
你应该有一个叫 "e17" 的目录位于你刚才执行命令的地方, 现在你需要进入对应的目录然后按上面的顺序编译和安装它们.
先是这些库,然后是安装E17自己. 你可能已经熟练了下面的命令:
$ ./autogen.sh
$ ./configure --help
# 看看有哪些你关注的编译选项, 例如如果你
#想安装到/usr/local外的其它地方, 你装需要使用正确的参数运行 configure
$ make
# 然后作为root用户:
$ make install
如果你没有设置任何特别的configure选项 所有这些将会安装到 "/usr/local". 如果你已经安装 E16
,你需要安装E17到一个不同的目录来避免冲突. 有一个例外: E16.8可以与E17并存在相同的安装目录下, 因为它使用不同的二进制文件名等.
如果你有一些 augogen 或是 automake 相关的问题, 你可以通过手工添加下面东西到 "autogen.sh" 文件的前面 (在运行前) 来手工指定需要的版本, 例如:
#!/bin/sh
export WANT_AUTOCONF=2.5
export WANT_AUTOMAKE=1.7
同时确认你已经在 "/etc/ld.so.conf" 配置了正确的路径. 例如如果你安装 EFL 到 "/usr/local"
你应该添加那个目录到 "/etc/ld.so.conf " 然后作为超级用户运行 "ldconfig"
命令来为在配置文件中指定的目录中找到的多数共享库创建必须的链接和缓存. 注意你需要在每安装一个库到你在 "/etc/ld.so.conf"
中指定的目录后, 以超级用户运行 "ldconfig" 命令.
E17 是可重定位的.
当它运行时窗口管理器将动态确认它的安装前缀, 例如你可以使用 "/opt/e17" 前缀并在以后只移动基本目录 (在这个例子中是
"/usr/local/e17") 到任何你喜欢的地方 . E17 应该适应并找到它. 同时有内建的容错性,
所以当E17无法找到它所在地方时, 它将使用编译时的前缀.
注意: 如果你想安装E17到一个前缀而不是一个普通的地方 (例如在/home 目录) , 你需要在运行configure前设置你的 CPPFLAGS 和LDFLAGS . 例如你可以这样输出它们:
export CPPFLAGS="$CPPFLAGS -I/your/prefix/to/e17/include"
export LDFLAGS="$LDFLAGS -L/your/prefix/to/e17/lib"
一旦你已经安装必须的库和E17自己, 你将有两个选择:
如果你希望直接从命令行启动 E17, 你所需要的只是创建一个文件叫: "~/.xinitrc", 并且在里面写一行:
exec /path/to/enlightenment
如果你想启动某个输入法, 那应该在最前面再加上一行, 例如使用fcitx的话, "~/.xinitrc"文件的内容应如下:
fcitx&
exec /path/to/enlightenment
在这个例子中, "startx" 命令应该启动E17, 假设你的X-windows系统是正确配置的.
如果你想从某个图形登录管理器中启动E17, 你将需要先为它创建一个选项. 关于如何创建这个选项的问题 - 请看这个登录管理器的文档.
2.2 - 发行版相关信息
这章包括不同的发行版相关信息,并且链接到已知的非官方E17包仓库. Get-E.org 或 Enlightenment 项目没有为增强这些非官方的仓库做任何事情.
Debian:
非官方的E17/EFL包仓库由Blake Barnett (shadoi) 维护,是 Sid 版本(unstable). 看 了解更多信息.shadoi是enlightenment团队的成员, 他关注debian的打包. 如果你有任何与包相关的事情请(shadoi@soulmachine.net).
Fedora Core:
这里有由Didier F.B. Casse (Prodigy)维护的非官方的E17/EFL rpm 库, 它在 . Prodigy 是enlightenment 团队的成员,他的责任就是Fedora Core的打包. 与这个包相关的问题请直接与他联系.他邮件地址是 .
Foresight Linux:
Foresight Linux 社区已经发布一些关于发行版相关的enlightenment的相关wiki页面,看 得到英文版信息,同时还有德文版页面在 . 注意这个站点与我们没有关系, 我们同时无法控制它们的内容,所以如果你有任何建议,请直接联系 Foresight Linux .
Gentoo:
现在所有的EFL与多数程序都有ebiulds可用,另外这个映像是每几周就更新一次,
现在同时有CVS ebuilds.有时有些程序只有CVS上的ebuild才可用. 检查gentoo包数据库来检查当前状态.所有的CVS
ebuilds依赖sudo, 所以当你安装cvs ebuilds时它同时会被安装,这可以认为是一个安全方面的问题.
默认的sudo配置文件应该不充许这样, 除非你编辑它让它充许非安全存根(insecure stuff).在你考虑安全的时候这不得不考虑.
另一个问题是cvs ebuilds不检查md5值.
还有cvsebuilds必须使用root帐号不然它不工作.映像(snpashot)ebiulds只在没有严重问题时才更新.
snapshots
被标记为~arch,cvs ebiulds 标记成-*.显然这两个都没有标记成稳定版本. 这两个都由Mike Frysinger
(vapier@gentoo.org)维护.(vapier@gentoo.org). 如果你整个系统都设置成
ACCEPT_KEYWORDS="~arch",你不需要为了使用snapshots创建一个
/etc/portage/package.keywords文件, 但如果你想使用CVS上的ebuilds你需要有一个.
请读官方
gentoo portage文档来得到更多gentoo包管理的信息,特别是关键字系统.下面是一个
/etc/portage/package.keywords 配置文件例子,包括了这份指南中涉及到的 Enlightenment 相关的程序的
CVS 关键字::
x11-wm/e -*
x11-libs/evas -*
dev-libs/eet -*
x11-libs/ecore -*
media-libs/edje -*
dev-libs/embryo -*
如果你想使用snapshots ,并且正在运行一个稳定(arch)系统,代替-*成~arch. 多数人(使用i386系统的人)~arch表示~x86.注意不要混合-*和~x86的ebiulds. 另一个你需要注意的重要的事是当你emerge它们时你需要手工指定ebuilds顺序.
这是因为如果你已经安装E17,运行"emerge"将只更新E17窗口管理器,而不会更新EFL - 这可能会导致编译失败.
另一个原因是因为甚至你没有安装E17, 使用emerge e 时portage将不会使用正确的顺序来merge库和让portage保持依赖性.
下面是正确的 emerge 行(这将按正确的顺序来安装和更新 ):
emerge eet evas ecore embryo edje e
注意有时没有这些ebuilds 的 ~arch (映象) 版.
Ubuntu GNU/Linux:
非官方的Ubuntu Breezy 的 E17/EFL 包仓库由Blake Barnett (shadoi) 维护,是 Debian Sid 版本(unstable). 看 了解更多信息.shadoi是enlightenment团队的成员, 他关注debian的打包. 如果你有任何与包相关的事情请(shadoi@soulmachine.net).在Ubuntu论坛还有
3 - 欢迎来到 Enlightenment
这章包括配置和使用 Enlightenment DR 17 的文档.
3.1 - 介绍
Enlightenment DR 17 (E17) 是一个桌面外壳, 基于Enlightenment 基本类库(
Enlightenment Foundation Libraries). 它不只是一个简单的窗口管理器, 在可以管理你窗口的同时, E17
同时有一个集成的文件管理器和其它功能, 这让它变成不只是一个窗口管理器. 虽然它也不是一个桌面环境. 这个中间状态是
Enlightenment 开发者叫做桌面外壳的东东. Enlightenment 的领导者是 .
下面是一些 E17的主要特征:
- 兼容 ICCWM 的窗口管理方法
- 支持 NETWM 标准
- 轻量的与快速的
- 可扩展的布局和皮肤系统
- 可订制的虚拟桌面
- 支持动画方式的布局, 皮肤和桌面背景
- 模块扩展系统 - 可以通过加载或卸载 不同的模块来增加删除功能
- 高度可伸缩的图形系统
- 窗口状态, 锁定和记住状态
- 使用了 Enlightenment基本库( Enlightenment Foundation Libraries )优点的扩展菜单系统
- 布局, 皮肤, 图标文件和桌面背景都是统一的二进制状态,这样对性能进行了优化, 并且让最终用户方便使用
- 多种焦点模式
- 可订制的动画鼠标
- 在不同虚拟桌面使用不同的背景
- 在桌面画布一级实现实时透明
- 丰富的视觉效果来体现用户的动作并带领桌面进入生活
- 可配置的按键绑定
- 通过UTF-8 支持广泛的本地化
- 已经翻译成20个国家的语言
- 窗口管理器中全部使用反锯齿字体
- E16 风格的切换(窗口也可以从一个桌面拖到另外一个桌面)
- 图标拖放系统
- 小机件管理器在桌面画布上控制图形和缩放模块
当你第一次登陆到E17, 你将会看到这样的桌面:
在左下角的金色的Enlightenment 标识是 E17的开始按钮, 它会弹出一个 E17 主菜单.
这个菜单同时也可以通过在桌面背景中中任意地方点左键来弹出. 它的边上是分页器,默认有四个虚拟桌面, 在它的右边可以看到 IBar,
这是E17的应用程序启动栏. 默认它包括五个开始图标 (从左到右): X Terminal, Moxilla Firefox, X-Chat,
Gimp 和XMMS. 更多的程序可以从 E17菜单中的 "Favourite Applications"(喜爱的程序) 启动.
后一个但不是最后一个,你可以看到右边有四个工具: 一个温度计, 一个CPU频率监控器, 一个电池监控器和一个时钟。
3.2 - 基本功能
主菜单:
E17的主菜单可以通过在 Enlightenment开始按扭上点左键, 或是在桌面背景上任意地方点左键弹出. E17主菜单包括下面的东西:
- Favourite Applications: (常用程序)从这里你可以运行程序. 当前有一些默认图标. 但所有这些是希望被用户自己订制. 所有这些会在这篇指南的后面详细讲到 ( 看 "二进制格式, 图标文件和菜单' 一节)
- Modules: (模块) 从这里你可以启用, 禁止和配置不同的 E17 模块. 模块会添加特征到 E17.
因为它们是可选的, 所以所有这些是高度可订制的. 默认, 所有包括的模块除了 "IBox" (一个状态栏用来保持最小化的应用程序 )
外都已经启用. 在一个模块被启用(如显示这个菜单)或是禁用的时间内, 它然后驻留在内存中. 模块同时可以完全从内存中卸载来节省系统资源.
所有这些会在这篇指南的后面覆盖到 (看"模块" 一节).
- Desktops: (桌面) 从这里你可以添加或删除虚拟桌面, 同时切换到另外一个桌面. 你同时可以切换到另外一个桌面通过分页模块. 虚拟桌面可以按行添加或是按列添加.
- Windows: (窗口) 从这里你可以看到所有当前运行的窗口. 并且如果你点它们间一个,
E17将切换焦点(如果需要的话同时也切换桌面) 到对应的窗口. 在这里同时有一个选项叫 "Cleanup Windows",
这个会移动所有的窗口到屏幕的边角. 如果你的窗口堆满屏幕并且你想快速让它们排好序时这将特别有用.
- Lost Windows: (丢失的窗口) 在这个选项下, 你可以看到所有因为分辨率原因丢失的窗口. 例如, 如果你在屏幕的角上有一个窗口, 然后改变到更低的分辨率, 然后这个窗口丢到屏幕外了, 这个窗口将会出现在这个菜单中.
- Gadgets: (小器件) 从这里你可以启动 E17 的器件管理器 ("Edit Mode").
这个使用来移动和缩放模块, 这些模块会在背景图片层进行渲染. 一旦器件管理器已经使用, 一个图形效果会出现在桌面上的每个模块,
你可以简单的拖动它们, 或通过缩放句柄缩放. 一旦你已经完成移动和缩放你的模块, 你可以 通过点Gadgets中的"Edit
Mode"(编辑模式)选项来退出器件管理器模式.
- Themes: (布局) 在这个选项你可以打开 "About This Theme"(关于这个布局)
窗口来看当前使用的布局. 或切换到另外一个布局而不需要重起 Enlightenment. 在这个菜单中显示的布局是那些在
"~/.e/e/themes" 下的设施. 如果你想下载布局请看我们的E17布局页面.
- About Enlightenment: (关于Enlightenment) 这个选项将打开 "About Enlightenment" 窗口. 这包括一些声明消息和实现 E17 的开发者名单.
- Run Command: (运行命令) 这个选项装打开一个 "Run Command" 窗口, 从这里你可以通过简单的输入它们的名字来打开一个应用程序, 如你在终端中所做的一样.
- Files: (文件) 这个选项会打开 E17 文件管理器. 这将会在指南中的 (文件管理)"File Management" 一节讨论.
- Configuration: (配置) 在这个选项中你可以打开 E17的控制面板, 焦点设置窗口, EAP
编辑器 (一个用于创建 "Favourite Applications"(常用程序)和IBar中图标文件的编辑器), 同时还有一个分辨率切换器
(这个需要使用标准的 XRandr, 所以要使它正确工作, 你的 X.org/XFree86 需要正确配置)..
- Restart Enlightenment: (重起Enlightenment) 这个选项重起 E17 桌面外壳. 重起时打开的应用程序不会丢失, 它们也不需要在重起E17前关闭.
- Exit Enlightenment: (退出Enlightenment): 这个选项关闭 E17. 在关闭前,E17会弹出一个对话框问你是不是要关闭.
窗口边框:
上面的图形是 E17 默认的窗口边框和状态菜单例子. 你可能已经熟悉基本的布局 (在左上角有图标选项, 然后是标准栏,
在右边你可以看到标准的最小, 最大和关闭按钮). 但有一些事情不是那么普通的, 首先左上角的图标可以被你希望的任意图形代替 -
如果没有为这个程序指定图标, 那将显示默认的图标. 在图形的右边可以看到 E17 窗口状态菜单. 这个菜单可以被左键点击窗口图标,
或是在标题栏上任意地方右击, 或是 Alt+ 在窗口任意地方右击弹出.
窗口状态菜单有下面的选项:
- Window Locks: (窗口锁定) 打开一个窗口锁定对话框, 从这里你可以保护窗口不被偶然的关闭.
- Remember: (记忆) 打开一个记忆对话框, 从这里你可以指定E17应该记住哪个窗口状态.
- Borders: (边框) 打开一个窗口边框对话框, 从这里你可以选择使用哪个边框类型. 当前只有两个类型: 默认与无边框.
- Send to Desktop: (发送到桌面): 通过这个菜单你可以发送一个窗口到另外一个桌面.
- Stacking: (栈) 通过这个菜单你可以配置窗口的层, 例如如果你希望这个窗口总在其它窗口的上面.
- Shaded: (阴影) 阴影化或是恢复活动窗口. 这同时可以通过在标题栏上下移动鼠标滚轮实现.
- Maximized: (最大化) 最大化最大化或是把窗口变成最大化前状态.
- Sticky: (定住) 切换固定状态. 如果激活, 窗口显示在所有的虚拟桌面上
- Borderless: (无边框) 切换无边框模式. 为了把窗口恢复回来, 你将需要通过Alt+在应用程序中点击打开窗口状态菜单.
- Fullscreen: (全屏): 切换全屏模式.
- Skip Window List: (跳过的窗口列表) 切换这个使窗口不再在任务栏中显示.
- Create Icons: (创建图标) 这将打开一个内建的EAP编辑来设置这个程序的个性化图标. 这个图标, 一旦设置, 将显示在窗口的左上角. 这将会在 "二进制格式,图标文件和菜单" 一节中具体讨论.
- Kill: (杀掉) 发送KILL指令到窗口. 注意这只应该在窗口没有使用的时候使用.
- Iconify: (图标化) 最小化窗口.
- Close: (关闭) 关闭窗口.
这个一个窗口锁定/记忆设置对话框的例子截屏:
同时注意默认E17有边界切换: 如果你移动鼠标光标到屏幕边界, E17将跳转到下一个桌面. 窗口可以使用这种方式拖到其它桌面.
E17 同时包括 Alt+Tab系统 (一个弹出窗口来快速并且容易的在应用程序间切换窗口焦点). 这个行为就像在 KDE/Gnome 中一样. 它看起来像这样:
<