超 炫 的 X Window Manager Enlightenment
 
李 文 定
 
现 在 您 正 在 用 的 Window Manager是 哪 套 ? 换 个 口 味 试 试 ,
就 可 以 感 觉 到 Enlightenment的 画 面 可 不 输 游 戏 !

你 看 过 最 炫 的 Window Manager是 哪 个 ? Fvwm95、 AfterStep? 你 落 伍 了 喔 ! 现 在 最 炫 的 X Window Manager就 是 Enlightment。 它 到 底 有 多 炫 呢 ? 就 算 是 一 般 的 游 戏 都 不 见 得 有 它 炫 喔 ! 口 说 无 凭 , 看 看 下 面 的 画 面 (如 图 一 )。
怎 麽 样 ? 很 炫 吧 ! 是 不 是 像 在 玩 game一 样 呢 ? 就 算 是 game的 画 面 还 不 见 得 有 它 漂 亮 呢 ! 本 文 就 是 要 教 您 怎 麽 样 在 您 的 Linux上 面 把 这 套 炫 毙 的 Window Manager装 起 来 , 并 且 告 诉 您 如 何 对 它 进 行 一 些 基 本 的 设 定 。 在 这 之 前 , 先 让 我 们 看 看 Enlightment的 由 来 、 特 点 、 目 前 的 发 展 情 况 。
Enlightenment是 由 Carsten Haitzler和 Geoff Harrison这 两 位 先 生 所 发 展 出 来 的 。 如 果 您 想 取 得 有 关 於 Enlightenment的 最 新 资 讯 , 可 以 连 上 http://www.rasterman.com/ (Enlightenment的 正 式 站 台 )http://www.mandrake.net/e(有 关 Enlightenment发 展 的 站 台 ), 在 这 两 个 站 台 上 面 您 也 可 以 取 得 最 新 版 本 的 Enlightenment。 此 外 , 您 也 可 以 加 入 他 们 的 Mailing-List以 取 得 最 新 的 资 讯 。 他 们 的 Mailing List是 e-announce-request@rasterman.come-develop-request@rasterman.com
总 之 , 连 上 http://www.rasterman.com/ 您 就 能 看 到 许 多 关 於 Enlightenment的 资 讯 了 。 其 实 , 以 前 Hope_Net的 光 碟 中 也 已 经 放 过 了 这 套 Window Manager。 曾 经 安 装 过 的 读 者 会 觉 得 它 的 问 题 不 少 吧 ! 没 错 , 在 之 前 的 版 本 中 , Enlightenment可 以 说 是 Bug连 连 , 错 误 不 断 , 相 信 很 多 人 努 力 了 很 久 , 根 本 连 画 面 都 没 有 看 到 吧 。 而 且 , 先 前 的 几 个 版 本 可 以 说 是 速 度 奇 慢 , 对 於 电 脑 硬 体 的 要 求 以 相 当 高 。
根 据 笔 者 的 经 验 , 那 时 使 用 Penitum-133+32MB RAM, 仍 然 觉 得 无 法 接 受 它 的 速 度 。 但 是 , 现 在 这 个 版 本 就 不 同 了 , 透 过 最 新 的 imlib(这 是 Enlightenment用 来 在 画 面 上 显 示 图 形 的 程 式 库 )的 帮 助 , Enlightenment的 速 度 已 经 相 当 的 平 顺 , 错 误 和 当 机 的 情 况 也 已 经 减 少 了 许 多 , 也 正 因 为 如 此 , 笔 者 觉 得 现 在 将 它 介 绍 给 读 者 正 是 时 候 。 在 此 之 前 , 都 是 使 用 Fvwm95做 为 Window Manager, 但 是 现 在 已 经 把 Enlightenment当 成 我 的 主 要 Window Manager了 。 笔 者 目 前 的 配 备 为 Pentium-133+64MB RAM, 跑 起 来 相 当 的 不 错 。 如 果 各 位 要 使 用 Enlightenment的 话 , 建 议 使 用 多 一 点 的 RAM。
目 前 的 Enlightenment版 本 为 0.12.3, 不 过 光 是 有 Enlightenment还 不 够 , 您 还 要 加 装 imlab这 套 程 式 库 。 而 imlab需 要 ImageMagick这 套 图 形 处 理 程 式 。 ImageMagick自 己 也 需 要 安 装 自 己 的 一 些 Plug_In。 嗯 ! 说 到 这 边 , 可 能 已 经 有 读 者 开 始 头 痛 了 。 别 担 心 , 在 本 期 的 光 碟 /LINUX/ENL_DR这 个 目 录 中 已 经 放 了 您 安 装 Enlightenment所 需 要 的 软 体 。

开 始 安 装 Enlightenment
现 在 就 让 我 们 看 看 如 何 安 装 Enlightenment吧 。 首 先 您 需 要 使 用 root的 身 分 进 入 Linux系 统 。 进 入 之 後 , 接 下 来 请 将 本 期 光 碟 中 的 下 面 两 个 档 案 在 系 统 的 根 目 录 下 面 解 开 。 假 设 您 的 cdrom是 mount在 /cdrom这 个 目 录 下 面 。 您 可 以 依 照 下 面 的 步 骤 :
# cd /
# tar xvfz /cdrom/LINUX/PLUGIN.TGZ
# tar xvfz /cdrom/LINUX/IMAGEMAG.TGZ

此 时 , 您 应 该 已 经 可 以 有 ImageMagick这 个 图 形 处 理 软 体 可 以 使 用 了 。 ImageMagick也 是 一 套 相 当 不 错 的 图 形 软 体 。 您 只 要 执 行 /usr/X11/bin/display这 个 程 式 就 可 以 了 。 本 文 不 是 要 介 绍 ImageMagick, 所 以 就 不 再 继 续 说 明 ImageMagick的 部 份 了 。 接 下 来 就 是 要 编 译 imlab的 source code了 。 您 先 随 便 找 一 个 目 录 , 来 解 开 imlib的 source code。 假 设 您 是 要 将 imlib的 source code放 在 /tmp之 下 。 您 就 可 以 按 照 下 面 的 步 骤 :
# cd /tmp
# tar xvfz /cdrom/LINUX/IMLIB_DR.TGZ
# cd imlib

接 着 您 有 两 种 方 式 来 编 译 imlib的 source code, 一 种 是 执 行 INSTALL这 个 shell script:
# ./INSTALL(此 时 您 应 该 是 在 /tmp/imlib的 目 录 之 下 )
另 外 一 种 是 以 手 动 的 方 式 执 行 下 面 的 命 令 :
# xmkmf -a(此 时 您 应 该 是 在 /tmp/imlib的 目 录 之 下 )
# make install

照 理 来 说 , 应 该 就 可 以 很 顺 利 的 做 出 需 要 的 执 行 档 了 。 接 下 来 , 就 是 要 做 最 後 一 个 步 骤 - 编 译 Enlightenment的 source code。 同 样 地 , 假 设 您 的 Enlightenment是 要 解 压 缩 在 /tmp的 目 录 下 面 , 您 可 以 依 照 下 面 的 方 式 来 进 行 :
# cd /tmp
# tar xvfz /cdrom/LINUX/ENL_DR.TGZ
# cd enl

这 时 与 imlib同 样 的 , 您 也 有 两 种 方 式 可 以 进 行 Enlightenment的 source code编 译 。 最 简 单 的 方 式 就 是 使 用 Enlightenment所 提 供 的 INSTALL安 装 shell script:
# ./INSTALL(此 时 您 应 该 是 在 /tmp/enl的 目 录 之 下 )
另 外 一 种 就 是 使 用 手 动 的 方 式 进 行 :
# xmkmf -a(此 时 您 应 该 是 在 /tmp/enl的 目 录 之 下 )
# make install


如 何 让 Enlightenment成 为 Window Manager
如 果 您 上 面 的 所 有 步 骤 都 没 有 出 现 任 何 的 问 题 , 那 麽 恭 喜 您 ! 您 已 经 成 功 的 安 装 Enlightenment这 个 超 级 炫 的 Window manager了 。 现 在 就 等 着 看 它 酷 酷 的 画 面 了 。 目 前 您 要 做 的 工 作 就 是 把 您 目 前 的 Window Manager换 成 Enlightenment。 您 有 下 面 几 种 方 式 可 以 做 到 这 样 的 工 作 :
1.修 改 系 统 的 xinitrc档 案 (需 要 root的 身 分 ):
# cd /usr/X11R6/lib/X11/xinit
# joe xinitrc.enl

这 个 xinitrc.enl档 案 内 容 应 该 如 下 所 示 :
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi
# start Enlightenment
exec /usr/local/Enlightenment/bin/Enlightenment
# end of xinitrc.enl

上 面 所 列 出 来 的 就 是 这 个 档 案 的 内 容 。 如 果 您 不 想 一 个 字 一 个 字 的 key_in, 在 xinit的 目 录 下 面 您 也 可 以 直 接 修 改 xinitrc这 个 档 案 的 内 容 , 将 其 中 启 动 Window Manager的 部 份 换 成 上 面 的 “ exec exec /usr/local/Enlightenment/bin/Enlightenment” 。 X Window Manager去 执 行 /usr/X11R6/lib/X11 /xinit/xinitrc这 个 档 案 。 因 此 , 当 您 编 辑 完 成 xinitrc.enl这 个 档 案 之 後 , 您 需 要 进 行 下 面 的 命 令 , 让 X Window System能 够 正 确 的 启 动 Enlightenment。
# cd /usr/X11R6/lib/X11/xinit
# chmod 755 xinitrc.enl
# ln -sf xinitrc.enl xinitrc


2.建 立 您 自 己 的 .xinitrc档 案 (不 需 使 用 root的 身 分 )。
# cd ~ (回 到 您 自 己 的 目 录 之 下 )
# joe .xinitrc
# chmod 755 .xinitrc

这 个 档 案 的 内 容 应 该 是 跟 前 面 所 说 的 xinitrc.enl的 档 案 内 容 一 模 一 样 。 透 过 设 定 .xinitrc的 方 式 , 我 们 不 会 去 干 扰 到 其 他 系 统 使 用 者 所 用 的 Window Manager。 也 就 是 说 , 只 有 您 自 己 执 行 X视 窗 系 统 的 时 候 会 启 动 Enlightenment。 如 果 上 述 的 部 份 都 没 有 问 题 , 接 下 来 就 是 要 使 用 startx的 命 令 启 动 您 的 X Window System:
# startx
接 下 来 在 一 阵 子 的 等 待 之 後 , 您 应 该 就 可 以 看 到 非 常 酷 的 Enlightenment画 面 。 如 何 ? 在 自 己 的 电 脑 上 面 看 到 这 麽 酷 的 Window Manager, 是 不 是 感 觉 更 棒 呢 ? 前 面 这 麽 多 的 努 力 在 看 到 这 麽 漂 亮 的 画 面 之 後 , 是 不 是 觉 得 十 分 值 得 呢 ?

Enlightenment功 能 简 介
第 一 次 使 用 Enlightenment的 人 , 可 能 会 觉 得 不 是 很 顺 手 。 因 此 , 让 我 来 说 明 一 下 Enlighten-ment的 操 作 方 式 , 以 及 一 些 基 本 功 能 。
首 先 您 应 该 能 够 在 桌 面 上 面 看 到 叁 个 东 西 , 分 别 是 左 上 角 的 软 体 发 射 台 (Buttons), 左 下 角 的 桌 面 列 示 (Desktops), 以 及 右 上 角 的 缩 小 视 窗 列 (Iconbox)。 下 面 概 略 的 说 明 一 下 这 几 个 工 具 的 作 用 :
1.软 体 发 射 台 :
在 预 设 的 状 况 下 , 你 应 该 可 以 看 到 如 图 二 的 软 体 发 射 台 :
就 是 要 提 供 您 一 个 可 以 启 动 软 体 的 地 方 。 当 您 将 滑 鼠 移 动 到 这 个 工 具 上 面 的 时 候 , 请 将 您 的 滑 鼠 静 止 个 几 秒 钟 。 然 後 您 就 可 以 看 到 工 具 提 示 。 Enlightenment以 图 形 配 合 文 字 的 方 式 提 示 您 , 目 前 游 标 所 在 的 位 置 可 以 使 用 执 行 哪 些 功 能 以 及 工 具 。 这 是 笔 者 相 当 欣 赏 的 一 点 , 因 为 这 样 使 用 者 就 不 用 特 别 跑 去 看 设 定 档 是 设 定 这 些 图 示 执 行 哪 些 工 具 了 。 在 软 体 发 射 台 的 最 下 面 叁 个 , 是 可 以 让 您 设 定 桌 面 背 景 的 工 具 , 您 可 以 点 取 您 所 想 要 的 背 景 , 马 上 就 可 以 将 您 的 桌 面 背 景 换 成 被 选 到 的 背 景 , 很 方 便 吧 !

2.桌 面 列 示 : (如 图 叁 )
当 您 看 到 Enlightenment的 桌 面 时 , 可 能 一 下 子 无 法 反 应 过 来 这 个 在 左 下 角 的 五 个 像 电 视 机 萤 幕 的 图 示 是 作 何 用 途 的 。
其 实 这 就 是 虚 拟 桌 面 , 也 就 是 与 Fvwm的 Pager相 同 作 用 的 工 具 , 让 您 可 以 很 方 便 的 在 不 同 的 虚 拟 桌 面 上 面 切 换 。 这 个 桌 面 列 示 很 强 的 地 方 在 於 , 它 会 忠 实 的 呈 现 每 个 桌 面 上 面 有 哪 些 视 窗 。 而 不 是 像 Fvwm的 Pager一 样 只 是 显 示 几 个 框 框 就 了 事 。 实 际 上 , Enlighten-ment所 采 用 的 是 所 谓 的 snapshot, 将 您 每 个 桌 面 上 面 的 画 面 , 包 含 背 景 , 视 窗 等 缩 小 以 後 显 示 在 这 些 小 小 的 萤 幕 里 面 ; 不 但 如 此 , 您 还 可 以 对 这 些 小 萤 幕 内 的 视 窗 作 动 作 喔 ! 例 如 : 您 可 以 利 用 滑 鼠 将 小 萤 幕 内 的 视 窗 拖 曳 到 桌 面 上 来 , 该 视 窗 就 会 从 原 来 的 桌 面 跑 到 目 前 的 桌 面 上 面 。
同 样 地 , 您 也 可 以 将 视 窗 拖 曳 到 其 他 的 小 萤 幕 里 , 该 视 窗 就 会 立 刻 跑 到 您 所 指 定 的 桌 面 上 面 。 是 不 是 很 好 玩 呢 ? 真 的 是 比 玩 game还 要 好 玩 。 如 果 您 要 切 换 到 某 个 桌 面 去 , 您 可 以 在 小 萤 幕 旁 边 的 电 灯 上 面 用 滑 鼠 点 一 下 , 那 个 电 灯 及 电 灯 所 照 的 萤 幕 就 会 亮 起 来 , 而 您 的 桌 面 也 会 马 上 切 换 到 那 边 去 。 那 麽 是 不 是 可 以 像 以 前 Fvwm那 样 使 用 keyboard来 切 换 桌 面 呢 ? 很 幸 运 地 , 您 可 以 使 用 ctrl键 加 上 左 右 键 就 可 以 切 换 了 。 以 前 在 Fvwm所 有 的 方 便 功 能 , 在 Enlightenment里 , 也 都 找 得 到 喔 。

3.缩 小 视 窗 列 示
当 我 们 将 视 窗 缩 小 之 後 , 这 个 缩 小 的 视 窗 就 会 出 现 在 缩 小 视 窗 列 示 上 面 。 而 且 也 是 同 样 以 原 视 窗 的 模 样 来 缩 小 出 现 在 缩 小 视 窗 列 示 上 面 。 您 可 以 使 用 滑 鼠 左 键 将 它 拖 曳 到 目 前 桌 面 上 , 它 就 会 恢 复 原 来 的 大 小 。 也 可 以 使 用 中 键 点 一 下 , 它 也 会 恢 复 原 本 的 大 小 。 如 果 您 用 右 键 点 它 一 下 , 那 麽 它 就 会 被 关 闭 了 。 不 但 如 此 , 您 也 可 以 把 它 拖 到 前 面 所 说 的 桌 面 列 示 , 它 就 会 直 接 出 现 在 那 个 桌 面 上 面 。 如 果 您 将 桌 面 列 示 的 视 窗 拖 到 缩 小 视 窗 列 示 , 则 该 视 窗 就 会 呈 缩 小 的 状 态 。
除 了 这 叁 个 工 具 之 外 , 在 视 窗 四 周 都 有 很 漂 亮 的 外 框 。 这 些 外 框 不 只 是 漂 亮 而 已 喔 。 它 们 上 面 的 东 西 都 是 有 作 用 的 。 因 为 这 些 功 能 很 琐 碎 , 我 在 这 边 就 不 再 赘 述 了 。 别 担 心 , 只 要 您 遇 到 不 清 楚 的 地 方 , 就 把 滑 鼠 游 标 移 到 那 个 地 方 的 上 面 , 让 滑 鼠 静 止 个 几 秒 钟 , 马 上 就 可 以 看 到 说 明 了 。 真 的 是 方 便 极 了 。
接 下 来 我 要 对 於 一 些 设 定 作 说 明 。 不 过 在 这 之 前 , 我 要 先 告 诉 您 Enlightenment的 设 定 档 在 哪 边 。 当 您 装 好 Enlightenment之 後 , 请 看 看 /usr/local/Enlightenment的 目 录 , 在 这 个 目 录 下 面 有 个 system_config的 目 录 。 没 错 , Enlightenment的 设 定 档 案 全 都 在 这 了 。 不 过 , 我 觉 得 我 们 不 太 需 要 去 动 到 这 些 档 案 。 为 什 麽 呢 ? 主 要 的 原 因 是 因 为 这 里 的 设 定 档 修 改 之 後 , 会 对 所 有 使 用 系 统 预 设 的 使 用 者 造 成 影 响 。 实 际 上 , 每 个 人 的 操 作 习 惯 都 不 太 一 样 , 习 惯 使 用 的 环 境 也 都 不 同 。 而 Enlightenment的 设 计 理 念 是 提 供 功 能 , 但 是 不 写 死 介 面 。 也 因 此 它 有 一 个 称 为 theme的 观 念 , 这 个 跟 Windows 95下 面 的 布 景 主 题 (theme)有 点 类 似 。 不 过 , Enlightenment的 theme可 要 比 95的 theme强 多 了 喔 。 先 容 我 卖 个 关 子 吧 , 本 文 的 後 半 部 会 对 theme作 进 一 步 的 说 明 。

如 何 做 出 自 己 的 设 定 档
无 论 如 何 , 就 让 我 们 看 看 要 怎 麽 设 定 Enlightenment吧 。 首 先 您 需 要 做 出 自 己 的 设 定 档 案 。 请 依 照 下 面 的 步 骤 进 行 :
# cd ~/.Enlightenment
# tar xvfz /usr/local/Enlightenment/themes/DEFAULT

这 样 您 就 会 看 到 很 多 的 档 案 解 开 在 您 的 .Enlightenment目 录 中 。 因 此 就 可 以 针 对 您 个 人 的 需 求 进 行 修 改 , 而 不 会 影 响 到 其 他 的 使 用 者 。 Enlightenment的 设 定 相 当 复 杂 , 因 此 , 我 并 不 打 算 将 所 有 的 设 定 全 部 告 诉 各 位 。 而 且 Enlightenment尚 在 发 展 阶 段 , 还 有 很 多 功 能 尚 未 完 成 , 并 且 随 时 都 有 变 动 的 可 能 。 因 此 , 我 只 针 对 较 简 单 而 且 较 会 用 到 的 部 份 加 以 说 明 。 我 依 照 设 定 的 目 的 来 加 以 分 类 , 希 望 能 够 让 读 者 清 楚 的 了 解 我 的 说 明 :
1.在 启 动 时 , 自 动 执 行 程 式
有 些 程 式 , 我 们 希 望 能 够 在 Window Manager启 动 时 , 一 并 执 行 起 来 , 这 样 就 可 以 让 我 们 不 用 以 手 动 的 方 式 启 动 它 们 , 这 些 程 式 如 : xcin中 文 输 入 法 , 小 时 钟 等 。 您 可 以 开 启 ~/.Enlightenment/exec这 个 设 定 档 案 , 将 您 要 启 动 的 程 式 放 入 这 个 档 案 中 。 举 例 来 说 , 我 自 己 的 设 定 如 下 :
% exec xmessage“ Enlightenment Thebes 1.0 DEVELOPMENT RELEASE 0.12.3! by The Rasterman and Mandrake”
% exec xcin -fnb5 taipeik20 -fn 10x20 -geometry +30-55 -going 1

前 面 的 百 分 比 符 号 是 设 定 的 一 部 份 , 不 可 省 略 。 我 们 来 看 一 下 这 个 设 定 会 发 生 什 麽 样 的 作 用 。 首 先 是 % exec xmessage这 个 命 令 , 这 是 由 Enlightenment自 己 所 加 的 , 目 的 是 在 Window Manager成 功 启 动 之 後 , 透 过 xmessage这 个 程 式 显 示 一 个 讯 息 。 後 面 的 % exec xcin这 个 命 令 是 我 自 己 加 上 去 的 , 因 为 我 的 系 统 上 面 安 装 了 xcin及 crxvt这 套 中 文 系 统 , 所 以 要 在 一 开 始 的 时 候 将 xcin启 动 。 因 此 , 我 执 行 了 xcin这 个 命 令 。
同 样 的 方 式 , 如 果 您 想 在 Window Manager启 动 的 时 候 执 行 些 什 麽 程 式 , 可 以 在 exec这 个 设 定 档 案 中 相 同 的 格 式 来 执 行 , 只 要 将 % exec後 面 的 部 份 换 成 您 自 己 想 执 行 的 程 式 就 OK了 。

2.修 改 Menu选 项
当 您 将 游 标 移 到 画 面 上 面 没 有 视 窗 的 部 份 , 按 下 叁 个 滑 鼠 键 中 的 一 个 , 都 会 出 现 个 别 的 选 单 。 在 预 设 的 情 况 下 , 您 选 单 上 面 已 经 有 一 些 可 供 使 用 的 选 项 。 不 过 , 很 多 选 项 所 执 行 的 程 式 可 能 都 是 您 系 统 上 面 所 没 有 的 , 因 此 您 可 能 需 要 略 做 修 改 。 选 单 的 设 定 档 案 是 ~/.Enlightenment/menus这 个 档 案 。 如 果 您 自 己 企 图 要 增 加 选 项 到 选 单 中 , 可 能 会 是 个 大 问 题 , 因 为 一 旦 要 插 入 一 个 选 项 , 所 有 後 面 的 选 项 都 必 须 要 跟 着 变 动 。 否 则 , 显 示 的 时 候 , 画 面 可 能 会 乱 成 一 团 。 因 此 , 这 边 我 只 是 告 诉 大 家 怎 麽 把 某 个 选 项 修 改 一 下 , 成 为 你 自 己 的 。 这 样 可 能 会 比 较 容 易 些 , 各 位 读 者 如 果 非 常 有 兴 趣 , 不 妨 自 己 看 一 下 这 个 设 定 档 案 内 的 注 解 文 字 , 并 且 实 际 测 试 一 番 , 应 该 很 快 就 会 了 解 如 何 设 定 了 。
假 设 , 选 单 中 已 经 有 个 叫 IRC的 选 项 , 因 为 我 不 玩 IRC, 因 此 我 可 以 把 它 改 成 去 执 行 其 他 的 程 式 。 例 如 : crxvt等 。 首 先 , 先 在 menus这 个 档 案 中 找 出 IRC的 设 定 部 份 。 您 可 以 以 关 键 字 搜 寻 的 方 式 。 在 我 的 menus档 案 中 , 我 的 IRC设 定 的 部 份 如 下 :
begin menuitem
text IRC
type element
location 0 72
size 253 24
text_location 5 5
text_size 243 14
image unselected pix/menu_plain_1.ppm shapemode on 255 0 255
image selected pix/menu_plain_2.ppm shapemode on 255 0 255
action exec rxvt -geometry 80x40 -e irc -c “ #E” $USER efnet.telstra.net.au
end

我 只 列 出 了 IRC部 份 的 设 定 , 这 是 因 为 menus的 设 定 档 相 当 大 , 我 无 法 全 部 列 出 来 。 其 实 , 读 者 自 己 看 着 上 面 的 设 定 , 就 应 该 已 经 猜 出 七 八 分 这 个 设 定 的 意 义 。 我 再 大 概 解 释 一 下 , 如 果 您 想 要 将 这 个 选 项 在 选 单 上 面 的 显 示 文 字 修 改 成 您 需 要 的 , 您 可 以 修 改 text这 个 栏 位 。 很 明 显 地 , 在 上 面 的 设 定 中 , text栏 位 後 面 接 的 是 IRC, 因 此 在 选 单 上 面 看 到 的 IRC选 项 就 是 对 应 到 这 个 设 定 。 我 们 可 以 将 它 改 成 自 己 喜 欢 的 , 例 如 : Crxvt。 接 下 来 , 要 将 执 行 的 程 式 修 改 成 我 们 需 要 的 。 相 信 大 家 都 看 得 出 来 就 是 action这 个 栏 位 。 没 错 ! 经 过 我 的 修 改 之 後 , 整 个 设 定 变 成 下 面 的 样 子 :
begin menuitem
text Crxvt
type element
location 0 72
size 253 24
text_location 5 5
text_size 243 14
image unselected pix/menu_plain_1.ppm shapemode on 255 0 255
image selected pix/menu_plain_2.ppm shapemode on 255 0 255
action exec crxvt -ls -fnb5 taipeik20 -fn 10x20 -T “ Crxvt(10x20)” end

大 家 可 以 视 自 己 的 需 要 来 调 整 这 些 选 单 。 其 实 选 单 中 不 少 程 式 我 们 的 系 统 里 可 能 都 没 有 , 或 是 不 常 使 用 。 您 就 可 以 将 他 们 修 改 成 为 你 自 己 较 常 用 的 程 式 。

3.修 改 按 键 的 定 义
Enlightenment本 身 已 经 对 一 些 组 合 键 有 定 义 了 。 不 过 , 是 不 是 合 适 每 一 个 人 使 用 , 就 很 难 说 了 。 举 例 来 说 , 笔 者 自 己 本 身 在 玩 Fvwm95的 时 候 , 用 习 惯 了 将 alt+Fn这 些 组 合 键 设 定 成 为 某 些 个 程 式 的 启 动 键 。 在 Enlightenment的 预 设 中 , 这 些 组 合 键 一 半 以 上 是 用 来 切 换 桌 面 。 不 过 对 我 来 说 , 要 切 换 桌 面 就 要 ctrl加 方 向 键 就 很 够 用 了 。 现 在 我 要 透 过 修 改 ~/.Enlightenment/keys这 个 档 案 , 来 达 到 我 的 要 求 。 我 们 可 以 在 keys这 个 档 案 中 , 看 到 Enlightenment的 预 设 值 如 下 :
begin keybindings
key alt Tab cycle next
key ctrl Tab cycle previous
key shift Escape exit
key ctrl Escape mfocus
key shift F1 mfocus mouse
key shift F2 mfocus sloppy
key shift F3 mfocus click
key shift F4 exec wayve
key shift F5 exec wayve -lag 6
key shift F6 exec xmix
key shift F7 exec xmessage “ So.. you pressed shift-F7”
key alt F1 desktop 0
key alt F2 desktop 1
key alt F3 desktop 2
key alt F4 desktop 3
key alt F5 desktop 4
key ctrl Right cycle nextdesk
key ctrl Left cycle previousdesk
end

光 看 这 个 设 定 , 各 位 读 者 应 该 已 经 知 道 怎 麽 样 来 修 改 了 。 例 如 : 我 想 将 alt+F2设 定 成 为 启 动 crxvt, 所 以 我 可 以 将 它 修 改 成 为 下 面 这 样 :
key alt F2 exec crxvt

4.修 改 软 体 发 射 台
跟 修 改 选 单 一 样 。 您 可 以 将 软 体 发 射 台 中 没 有 用 的 部 份 去 掉 , 换 上 您 认 为 有 用 的 程 式 。 软 体 发 射 台 的 设 定 是 在 ~/.Enlightenment/buttons这 个 档 案 中 。 每 个 软 体 发 射 台 上 的 按 钮 , 在 buttons档 案 中 都 有 对 应 的 设 定 , 每 个 按 钮 的 设 定 都 是 被 一 组 begin button及 end所 包 住 的 。 在 这 两 个 之 中 的 部 份 都 是 属 於 同 一 个 按 钮 设 定 。 下 面 是 在 我 的 设 定 档 中 第 一 个 按 钮 的 设 定 :
begin button
image unselected pix/icon_term_1.ppm shapecolor on 255 0 255
image selected pix/icon_term_2.ppm shapecolor on 255 0 255
image clicked pix/icon_term_3.ppm shapecolor on 255 0 255
location topleft 0 0
level above
action none 1 exec crxvt -ls -fnb5 taipeik20 -fn 10x20 -T “ Crxvt(10x20)”
action none 2 exec xterm
action none 3 exec rxvt
action shift 1 none
action shift 2 none
action shift 3 none
action ctrl 1 none
action ctrl 2 none
action ctrl 3 none
action alt 1 none
action alt 2 none
action alt 3 none
end

为 了 让 各 位 看 的 更 清 楚 , 所 以 我 将 注 解 的 部 份 拿 掉 了 。 大 家 在 修 改 自 己 的 设 定 档 时 , 可 别 被 那 一 大 堆 的 注 解 给 吓 到 了 。 在 上 面 这 个 设 定 中 , 我 们 要 注 意 的 就 是 action这 个 栏 位 。 action定 义 了 按 钮 的 行 为 。 它 的 格 式 如 下 :
action< key> < mouse key> < command>
也 就 是 说 , 在 action後 面 的 第 一 与 第 二 个 栏 位 是 说 明 当 使 用 者 按 下 键 盘 上 面 的 哪 些 键 以 及 哪 些 滑 鼠 键 时 应 该 如 何 动 作 。 举 例 来 说 , 在 上 面 的 第 一 个 action栏 位 。 它 的 意 义 就 是 当 使 用 者 在 软 体 发 射 台 的 第 一 个 按 钮 上 面 按 一 下 滑 鼠 左 键 , 就 执 行 crxvt。 剩 下 的 部 份 各 位 读 者 应 该 可 以 看 出 是 在 做 什 麽 了 。
OK! 到 这 边 相 信 您 已 经 有 一 个 可 以 正 常 运 作 的 Enlightenment了 。 相 信 您 也 对 於 它 酷 毙 的 画 面 感 到 十 分 的 喜 欢 。 不 过 , 这 样 您 就 满 足 了 吗 ? Enlightenment的 作 者 们 可 不 这 麽 想 。 他 们 让 Enlightenment有 了 更 多 的 变 化 。 请 先 看 看 下 面 几 张 桌 面 (如 图 四 - 七 )。
这 几 张 桌 面 是 不 是 都 很 炫 啊 ! 它 们 可 都 全 是 Enligh-tenment喔 。 只 是 换 了 不 同 的 theme而 已 。 也 就 是 不 同 的 布 景 主 题 啦 。 虽 说 Win 95也 是 有 类 似 的 功 能 , 但 是 Enlightenmnt有 着 更 大 的 变 化 , 可 以 变 化 到 几 乎 认 不 出 来 是 同 一 个 东 西 。 在 国 外 已 经 有 很 多 的 theme可 以 抓 了 。 有 兴 趣 的 读 者 可 以 连 到 Enlightenment的 homepage之 後 , 选 择 theme, 就 可 以 找 到 很 多 了 。 其 中 , 有 些 尚 在 发 展 中 。 我 目 前 比 较 期 待 MacOS这 个 theme, 因 为 这 样 我 就 可 以 拿 来 骗 骗 人 家 说 , MacOS出 Intel版 本 了 。 一 定 会 把 人 家 吓 死 的 !
那 麽 , 拿 到 一 个 theme之 後 要 怎 麽 办 呢 ? 你 有 几 种 选 择 , 一 种 是 把 整 个 theme档 案 (theme的 档 案 格 式 实 际 上 就 是 .tar.gz的 格 式 )解 开 以 後 放 到 ~/.Enlightenment这 个 目 录 下 面 。 另 外 一 种 是 把 整 个 档 案 不 解 开 , 然 後 放 到 /usr/local/Enlighten-ment/themes这 个 目 录 下 面 。 不 过 如 果 使 用 後 者 , 在 执 行 Enlightenment的 地 方 (也 就 是 .xinitrc)要 加 上 下 面 这 样 的 参 数 。
Enlightenment -theme THEME_NAME
其 中 THEME_NAME就 是 theme的 档 案 名 称 ! 听 说 现 在 已 经 有 人 以 搜 集 各 种 不 同 的 theme为 乐 了 。 关 於 Enlightenment就 暂 时 介 绍 到 这 里 。 其 实 , 还 有 很 多 东 西 还 没 有 介 绍 出 来 。 Enlightenment并 不 是 个 小 东 西 , 要 以 一 篇 文 章 完 全 涵 盖 是 不 太 可 能 的 。 下 次 有 机 会 , 可 能 会 请 元 智 网 推 会 的 干 部 们 研 究 一 下 如 何 制 作 theme, 到 时 再 来 跟 大 家 分 享 心 得 。



图 一
图 二
图 叁
图 四
图 五
图 六
图 七