由于内存太低,最近连xfce也吃不消了,终于下定决心使用垂涎已久的fluxbox,想不到配置下来没我想象的那么难,在此把我个人配置的一些经验写下来,希望对新新手有所帮助,还请大家支持啊!
安装fluxbox不用说,要用fluxbox第一步当然是安装了。你在fluxbox官方网站上下载各种安装包,当然,你可以更简单的apt-get install fluxbox(我只知道这个命令,如果在你的系统上不管用,那我就不知道了
)。不过,装好之后有一个很严重的问题,中文问题,中文全乱码,中文乱码怎么行呢,而且默认的好像没有将png格式的图标支持编译进去。于是,我果断下了一个决定,重新编译。如果想要达到最佳效果,推荐自行编译安装,把所有的特性都enable了。于是我就
搞
到了它的源代码。网上搜了一下,发现中文乱码的原因是fluxbox源码目录里的/nls/zh_CN/generated-UTF-8.m这个文件的编
码做坏了,修复的方法是用你最喜欢的文本编辑器t打开generated-ISO-8859-1.m文件,把里面第一行的编码改为UTF-8,然后另存为
generated-UTF-8.m,再重新编译中文就ok了。刚才说过,默认的是不支持png格式图标的,所有我们还要加上png图标支持的选项,具体
的可以查看 ./configure 命令的输出,把原先默认disable的都给enable掉,如果是编译deb包,可以把相应的选项加入
debian目录下的rules文件里,具体怎么加打开rules文件一看便一清二楚。对了,别忘了先build-dep
。
配置fluxbox经过上面的折腾,现在的fluxbox应该已经凤凰涅磐了。现在再进入fluxbox看看,原本的外星文字应该都已经变成中文了。现在开始,请大家系好安全带,服好晕车药,下面可要开始颠簸的旅程了。
配置菜单欢迎来到第一站,菜单配置。为什么要配置菜单呢?因为默认那个菜单实在太衰了,好多图标都没有,而且洋文颇多,看着不爽。我个人推荐大家纯手写菜单,因为fluxbox的菜单格式很简单的,而且手工配置的效果绝对是相当的好,无法抗拒的。
那么到底要怎么配置菜单呢?当然是编辑菜单配置文件了,这个太阳系的人都知道。
fluxbox菜单配置文件是你主目录下的 .fluxbox/menu 文件。用你最喜欢的编辑器打开它,编辑它。刚才已经说过了,fluxbox菜单配置很简单,你只需要知道一点点东西就可以随心所欲了。下面开始就要来代码了,大家别眼晕。
下面是一个最基本的菜单文件
[begin]
[exec] (term) {xterm}
[reconfig] (Reload config)
[exit] (Exit)
[end]
开
头的"[begin]"和最后的"[end]"是固有的,这两个标签告诉fluxbox这是一个菜单文件,这样fluxbox才会把它当作菜单来处理。"
[exec]"表示这个菜单项是一个应用程序,"()"里面的文字是应用程序的名称,就是在菜单里面显示的名称了,例如“终端”什么什么的。"{}"里是
启动该程序的命令,例如"xterm"是启动xterm,"emacs"是启动emacs等等。"<>"里的就不用说了,是程序的图标,你可
以在/usr/share/pixmaps/里找到N多程序的图标,当然,要支持png图标,你得按照我的建议重新编译了fluxbox并enable了
所有选项。"[reconfig]"表示重新加载配置,这样你就可以无须重新启动fluxbox而直接看到更改配置的效果,这个特性是不是相当有用呢?事
实上,fluxbox还有个"[restart]"标签,让你无须注销便可重新启动fluxbox。"[exit]"自然无须多说。
通过上面的
内容,你已经可以写一个只有一级的菜单了,那么,我想要将菜单归类,例如“网络”是一类,“游戏”是一类,也就是多级菜单,要怎么弄呢?这就要
用到"[submenu]",要注意如果你写了一个"[submenu]",那么在后面就一定要有个"[end]"标签与之对应,不然可是会出错的。所
以,如果想在菜单中加入一个“网络”的分类的话,上面的菜单可以变为
[begin]
[exec] (term) {xterm}
[color=Lime]
[submenu] (网络)
[end]
[/color]
[reconfig] (Reload config)
[exit] (Exit)
[end]
你
应该已经发现了,所有菜单项的类型都是用"[]"定义的,所有菜单项的名称都是用"()"定义的,所有的命令都是用"{}"定义的,所有的图标都是用
"<>"定义的,事实上,基本上是这样的。如果要向“网络”这个子菜单里添加项目的话,只要在"[submenu]"和"[end]"之间加
入无数的"[exec]"就行了,就像第二行的那个xterm一样。
现在你已经具备了写多级菜单的能力了,你一定迫不及待了吧,如果迫不及待,那就先写,写完再回来看。对了,写菜单的时候可以对着/usr/share/applications/目录里的桌面配置文件来些,这样方便些。
fluxbox的菜单类型还不止这些,下面是一些很有用的菜单类型:
[include] (文件或目录名)
#
这个表示插入一个外部的菜单文件,可以写就对路径,也可以 ~/
来指代你的主目录。如果给出的是一个目录的话,那目录里所有的文件都会被包含。通过这种方法,你可以在自己的菜单里将自动生成的菜单包含进来,这样,你既
不需要修改自动生成的菜单(自动生成的菜单开头都会有一句话,让你不要去修改它,因为你新装一个程序,它是会更新的),也不怕自己的菜单被破坏。
[nop] (label)
# 这表示插入一个空白项目,如果在"()"中指定了名称,那么就会显示这个名称,显示效果和和普通菜单项是有区别的。如果没指定名称,那么就是一个空出来的位置,什么都没有。
[separator]
# 这表示插入一条分界线,与上面的"[nop]"一样,有助于菜单的格式化。
[stylesdir] (label) {目录}
# 该标签用于创建一个名为label的子菜单,并且在子菜单中插入目录中所有的样式,这样可以方便地切换样式,例如你可以把 ~/.fluxbox/styles 目录加进去。
[wallpapers] (目录)
# 这个标签会将目录下的所有图片列出来,方便你切换壁纸。有一点要注意的是,目录里面的目录是被忽略的,也就是它不会递归的,所以你最好将壁纸全部放在一个目录下,别再在目录下分门别类地放:mrgreen: 。
[workspaces] (label)
# 弹出一个工作区的菜单,和在桌面上单击鼠标中间弹出的菜单是一样的,如果你的鼠标只有两个键,那这个对你来说会比较有用。
[config] (label)
# 弹出一个fluxbox的配置菜单,省却手工编辑的麻烦。
基本上也就这样了,请你尽情的发挥想象力,创建你的个性菜单了。事实上,所有菜单项都可以通过"<>"标签来指定一个图标,包括"[nop]"。所以,你可以在菜单里插入你的头像,只要用"<>"标签指定你的头像位置就好了。
更换壁纸搞到现在大家都累了吧,换张漂亮的壁纸养养眼吧。如果你在菜单里加入了"[wallpapers]"的话,那就直接在桌面单击右键选吧。如果你发现桌面没有什么变化,那么请你在终端中输入
,如果出现类似
display doesn't set the wallpaper properly. Transparency for fluxbox
and apps like aterm and xchat won't work right with it. Consider
installing feh, wmsetbg (from windowmaker) or Esetroot (from Eterm) and
I'll use them instead.
的错误信息,那么证明你没有安装设置壁纸的程序。fbsetbg本身不是设置壁纸的程序,它只是调用别的程序来设置壁纸,所以请安装feh、wmsetbg、esetroot中的任何一个,装完之后,上述命令的输出应该会变成类似
Esetroot is a nice wallpapersetter. You won't have any problems.
的样子。
如果想要下次启动fluxbox的时候壁纸仍然生效的话,你需要在你的主目录下的 .fluxbox/init 文件里面找到下面的一行,并确保"fbsetbg -l"写在后面。
session.screen0.rootCommand: fbsetbg -l
顺便说一下,这个init文件就是fluxbox的主要配置文件了,多数选项在"[config]"菜单里都有,所以,如果你将"[config]"加入了菜单,那么配置是十分容易的。
个人认为这是设置壁纸的最好的方法,己不会被样式更改,有可以用右键方便地切换。所以,其他的方法就不玩了
。
)的字体以及窗口标题栏的字体,外部应用程序的字体例如鹦鹉螺和征服者之类的是归它们相应的工具集管的(gtk,qt...)。设置字体请在你的主目录下
的 .fluxbox/overlay
里面设置。这里我们又碰到了一个叫overlay的东西,这个overlay,是用来覆盖样式设置的,也就是所有你不希望用style来定义的东西都写到
这里,包括刚才的壁纸,也可以写到这里,不过我不推荐这种方法。
这
些字体不必全部都设,当然如果你愿意的话可以全部都设。通常把菜单的字体设置一下就好了,其他的留给style。例如,我就将菜单的字体设成了文泉驿,看
得我真真切切。那么这个"