Fluxbox 配置

本文大部分来自这里这里

Fluxbox 的配置文件,进入Fluxbox的环境

cd ~/.fluxbox
ls

和Linux下大部分程序一样,Fluxbox的所有选项都保存在几个配置文件里面,最重要的是”init”,”apps”,”menu”和”keys”这四个文件。如果没有哪个文件,就建一个。

init文件是主设置文件,但是这里我们不作配置,其实主要的配置都在另外三个文件里面,init文件只是用来索引的。

配置apps文件

书写格式是“[startup] {application}”的形式,方括号加startup即告诉系统在启动的时候加载后面大括号中的程序或命令。例如:

[startup] {gnome-settings-daemon}
[startup] {tilda}
[startup] {xbindkeys}
[startup] {conky}
[startup] {fbsetbg -f /home/lost/.wp.jpg}

gnome-settings-daemon:Gnome环境的参数设置后台,虽说用的不是Gnome环境,但是日常使用的程序不是Q4(KDE)的就是GTK(Gnome)的,在使用GTK程序的时候如果没有启动这个服务,界面将会很难看,如果你的系统资源很紧张,或者不在意界面的话可以不设置这一项。

  • tilda: 一个基于GTK的终端机,特点是可以设置为无边框和菜单,支持透明和热键呼出,可以无缝嵌入桌面,用起来很方便且美观,可设置成启动时隐藏,再在这里设置成开机启动,这样再用到终端机的时候只需按下热键就可调出。
  • xbindkeys:一个为Xwindow设计的热键定义工具,功能较为强大,一次设置之后可以在任何桌面环境下使用,对于经常在多个桌面环境切换的用户来说很方便。
  • conky:一个将系统当前信息呈现在桌面上的工具,便于实时监控系统。
  • fbsetbg:Fluxbox自带的桌面背景设置工具,你只需要把后面的“/home/lost/.wp.jpg”替换成自己的壁纸所在的路径即可,支持PNG和JPG格式的图片。-f参数表示将图片放大到全屏。

壁纸自动启动也可以在设置好壁纸之后在 ~/.fluxbox/init 文件中加入:

session.screen0.rootCommand: fbsetbg -l

不然下次重新启动又没有了。

配置keys文件

keys文件主要是管理Fluxbox热键定义,Fluxbox热键功能非常强大,不但可以定义键盘快捷键,还可以定义鼠标快捷键、键盘和鼠标搭配快捷键,完全可以用键盘操控计算机,这是在Windows下不可想象的。它的具体参数参看Fluxbox文档,网上有中英文版本。

建议在每个桌面环境下面只定义和该环境息息相关的一些功能的热键,比如窗口的打开和关闭,最小化和最大化等,而常用程序的打开等热键交给xbindkeys管理。

keys文件格式为:

[mod] key [key key] :command

其中,mod 是指 modifier,包括 Mod1(即左 Alt)、Mod4(即 Windowskey)、Control(即 ctrl)、Shift(即 shift)、KP_5(即小键盘上的5)等,通过 xmodmap -pm 可以看到更多的 modifier。modifier 可以不用、也可以使用一个、或使用两个、甚至三个。key 和 command 很好理解,前者为所用的按键,后者为执行的命令。

举个例子,假如我想通过按 Ctrl+F 组合键来启动 Firefox,那么可以这样写:

Control f :exec firefox

例子中的 exec 也可以写成 ExecCommand。

通过执行 fluxbox menu -> Reload config 右键菜单命令,上述更改将立即生效。

示例:

Mod1 Left :PrevWorkspace
Mod1 Right :NextWorkspace
Mod1 q :Close
Mod1 z :Minimize
Mod1 x :MaximizeWindow
Mod4 d :ShowDesktop
Mod4 grave :RootMenu
Mod4 s :ShadeWindow
Control KP_1 :SendToWorkspace 1
Control KP_2 :SendToWorkspace 2
Control KP_3 :SendToWorkspace 3
Control KP_4 :SendToWorkspace 4
Mod1 KP_1 :Workspace 1
Mod1 KP_2 :Workspace 2
Mod1 KP_3 :Workspace 3
Mod1 KP_4 :Workspace 4
Control Mod4 Mod1 k :KillWindow
Control Mod4 Mod1 q :Quit
Control Mod4 Mod1 r :Reconfigure
Control Mod4 Mod1 s :Restart

#系统自带的快捷键
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
OnDesktop Mouse4 :NextWorkspace
OnDesktop Mouse5 :PrevWorkspace
Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow

上面热键的格式一目了然,不多说了,冒号后面不要有空格,直接跟该热键所对应的功能,这些功能具体都是什么意思,相信只要有一点英语基础就能看懂,如果不懂或者想定义更多的功能,参看Fluxbox文档。

配置menu文件

在安装Fluxbox的时候应该已经生成一个菜单文件了,如果没有,可以使用以下命令来创建:

fluxbox-generate_menu

每当我们安装了新的程序之后,都可以再次执行该指令,以便更新菜单中新增的项目。但是自动生成的菜单会有两个问题:一,有些程序似乎没有被检测到,很多安装过的程序没有出现在菜单上。二,顺序不合理,自动生成的菜单中各个程序的排列和归类不尽如人意。如果你愿意更灵活的控制 Fluxbox 菜单,也许手动编辑会更好。

menu中定义的格式如下:

# Generated by fluxbox-generate_menu
[begin] (Fluxbox)
[exec] (xterm) {xterm -ls -fg white -bg black -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1}
[submenu] (Net)
[exec] (gaim) {gaim}
[end]
[end]

菜单是可以分级的,第一级菜单以 [begin] 和 [end] 配对,而第二级菜单则以 [submenu] 和 [end] 配对,如果在第二级菜单中包含同样的 [submenu] 和 [end],那么就属于第三级菜单,其他则依次类推。现在我们继续拆解,() 中的内容为菜单项目的名称,而 {} 的内容则为需要执行的命令,可以加上命令参数和选项,也可以带上路径,不过也有仅供显示用的情况。[exec] 表示执行一个命令。有时候,我们还可以看到菜单项目的前面包含图标,只要在执行的命令后面加上 <~/.icons/*.xpm> 即可。

另外,在 menu 文件中还有些有趣的内容:

[config] Fluxbox 的配置菜单
[stylesdir] Fluxbox 的样式目录
[workspaces] 工作区
[commanddialog] 命令执行对话框
[reconfig] 重载 Fluxbox 的配置
[restart] 重新启动 Fluxbox,此时会回到登录界面
[exit] 退出 Fluxbox
[separator] 分隔线

安装 Fluxbox 主题

Fluxbox支持主题,而且很多主题都非常漂亮,可以到http://tenr.de下载。将下载的 Style 包释放到 ~/.fluxbox/styles 目录中即可。然后在 Fluxbox 的菜单中选择先前安装的主题就可以使用了。可能有的 Style 对中文支持不够好,比如窗口的标题或是底部的工具条显示为乱码,这时可以打开 Style 中的配置文件修改其中的字体。

使 Fluxbox 的菜单、工具栏、窗口边框透明

这是 Fluxbox 所支持的一个相当酷的特性。可以通过在桌面单击右键菜单,选择其中的 Fluxbox menu > Configure > Transparency 来实现。其中,Menu Alpha 控制的是菜单的透明度,其值介于 0~255 之间,数值越小,透明度越高。而 Window Alpha 则是控制窗口边框的透明度。工具栏的透明度可以通过在 Toolbar 上右击,选择其中的 Alpha 来控制。

Fluxbox的虚拟桌面扩展工具 -- fbpager

FbPager 与 Fluxbox 一样,支持透明特性,这样能够与其融合在一起,非常之漂亮。

支持鼠标操作,你可以在每个 Pager 中随意拖动某个窗口,相当之好玩。

  1. 安装:sudo apt-get install fbpager。
  2. 启动:在终端中输入 fbpager 即可。

    第一次启动由于程序不能找到 ~/.fluxbox/fbpager 配置文件可能会报错,没关系,我们稍后建立一个就是了。

  3. 配置:对于 FbPager 的控制就是通过上面的 ~/.fluxbox/fbpager 文件进行的。

    示例 1:如果要让 FbPager 具有透明效果,只需在该文件中加入 fbpager.alpha: 64。
    示例 2:在默认情况下,FbPager 是水平排列工作区的,如果要让其垂直排列,那么在文件中加入 fbpager.workspacesPerRow: 1。
    除此之外,你还可以从很多方面对 FbPager 进行配置,如更改工作区的大小、颜色等。详细参阅下面的内容:

fbpager.alpha: 255
fbpager.x: 0
fbpager.y: 0
fbpager.workspace.width: 64
fbpager.workspace.height: 64
fbpager.workspacesPerRow: 6400
fbpager.followDrag: false
fbpager.followMove: false
fbpager.changeWorkspaceButton: 11
fbpager.raiseWindowButton: 2
fbpager.lowerWindowButton: 3
fbpager.closeWindowButton: 3 3 1
fbpager.exitButton: 1 3 3
fbpager.nextWorkspaceButton: 4
fbpager.prevWorkspaceButton: 5
fbpager.moveInWorkspaceButton: 1
fbpager.dragToWorkspaceButton: 2
fbpager.align: LeftToRight
fbpager.color: white
fbpager.windowColor: white
fbpager.focusedWindowColor: white
fbpager.windowBorderColor: black
fbpager.backgroundColor: darkgray
fbpager.currentBackgroundColor: lightgray
fbpager.multiClickTime: 250
fbpager.icons: false
fbpager.windowBorderWidth: 1
  1. 提示:你不需要每次手动启动 FbPager,可以考虑让其开机便自动运行,将 [startup] {fbpager} 加入到 apps 文件中即可解决。

    另外,直接在 Pager 中拖动小矩形,便可以定位程序窗口在桌面的位置。而且,使用鼠标滚轮可以切换每个 Pager。

2007-05-25 10:30 180 fluxbox linux ubuntu