查看“Fluxbox Keys”的源代码
来自Ubuntu中文
←
Fluxbox Keys
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== Advanced Tips of Fluxbox keys == 本文作者:aBiNg 默认读者已知Fluxbox下基本的keys配置。 === 备份keys文件 === 代码: $cp ~/.fluxbox/keys ~/.fluxbox/keys.bak === keys文件书写格式 === 代码: <mod> [<mod> <mod>] key [key key] :command <command_options> 注:冒号前至少留一格,後不留格;shell命令大小写敏感,但窗口管理命令并不敏感。<br>mod可以是Mod1(alt)、Control(ctrl)、Mod4(Super)等;key即为普通键(e,d,F1,F3等)。<br>其中,mod键自身是可选的,没有时用None替代,不用也可。但只用普通字母键,输入文字时会有麻烦。 先看一些例子: 代码: Mod1 r :ExecCommand urxvt # alt+r启动rxvt-unicode;ExecCommand同Exec,执行命令或脚本 Mod4 4 :Workspace 4 # Super+4切换到工作区4;工作区命令 Menu :RootMenu # Menu键位于右ctrl左边;Fluxbox内建命令 Mod1 F4 :KillWindow # Alt+F4关闭当前进程;窗口管理命令 Mod1 70 :KillWindow # 同上,70是F4的keycode,由xev程序获得,见第3小节 Control m :MacroCmd {Exec firefox} {ResizeTo 800 600} # ctrl+m启动firefox,并调整大小到800x600;复合命令 窗口管理命令详见[http://fluxbox-wiki.org/index.php/Keyboard_shortcuts#Currently_Focused_Window_Commands 这部分] <br>Fluxbox内建命令详见[http://fluxbox-wiki.org/index.php/Keyboard_shortcuts#Window_Manager_Commands 这部分] <br>工作区命令详见[http://fluxbox-wiki.org/index.php/Keyboard_shortcuts#Workspace_Commands 这部分] <br>复合命令详见[http://fluxbox-wiki.org/index.php/Keyboard_shortcuts#Special_Commands 这部分] === 获得keycode,并适当定义xmodmap === i)xev命令 注意三点: 1)终端运行xev时,鼠标的运行也会被捕获,所以尽量少动鼠标,除非想获得鼠标键的keycode <br>2)关闭启动时的窗口即关闭了xev进程 <br>3)keycode与keyname在Fluxbox keys文件中同样有效;例如运行xev,按tab键,信息中有一段"keycode 23 (keysym 0xff09, Tab)",23与Tab等价 推荐使用xmodmap获得keycode。例如要获得Tab的keycode,执行: 代码: $xmodmap -pke | grep -i tab <br> ii)定义xmodmap 这个通常在需要分清左右非字符键时用到。 代码: $touch ~/.Xmodmap 简单的示例: 代码: keycode 115 = Super_L keycode 116 = Super_R clear mod3 add Mod3 = Super_L clear mod4 add Mod4 = Super_R 要让配置在启动Fluxbox时生效,加入命令到startup脚本:xmodmap ~/.Xmodmap &,须在Fluxbox启动命令之前。 <br>这样,在keys文件中,Mod3和Mod4就分别自定义到左Super和右Super键了;本人一般用Super_L+d执行ShowDesktop,用Super_R+l执行xlock(安装xlockmore)锁定桌面。 == 一些复杂点的应用 == i)键盘控制音量 很多键盘上(e.g.笔记本,但本人没有笔记本,不好测试,keycode/keyname获得见第3小节)有音量加减及静音的键,如果Fluxbox(无gnome/kde daemon)默认未定义,可于keys文件中仿照下面语句加入: 代码: Mod3 KP_Add :ExecCommand amixer sset PCM 10%+ Mod3 KP_Subtract :ExecCommand amixer sset PCM 10%- Mod3已定义为Super_L,KP_*可由"$xmodmap -pke | grep -i kp"查到;sset或改为set,PCM或改为Master,0,10%+或改为8db+,视硬件和个人要求而定;更复杂的请查看amixer命令(在 alsa-utils包中)的帮助文档。 ii)小程序开关 有时只是查看一下信息,运行一个小程序(例如conky),但又不想让它一直运行,就可使用复合命令ToggleCmd,写入keys文件: 代码: Mod3 v :ToggleCmd {Exec conky} {Exec pkill conky} ToggleCmd的作用和Toggle的意思一样,按键一次,切换一次定义的命令。 ToggleCmd的另一个应用就是桌面聚焦和窗口恢复,语句: 代码: Mod3 d :ToggleCmd {ShowDesktop} {DeIconify all originquiet} <br> iii)发送窗口到指定工作区,并最小化 这个有时会用到,MacroCmd可以实现;例如发送到工作区3,语句: 代码: Mod4 F3 :MacroCmd {SendToWorkspace 3} {Iconify} <br> iv)设定窗口装饰alpha值 设定当前窗口的透明度(窗体透明实现,本文不涉及),记得compiz中用alt+鼠标滚轮(?),Fluxbox也可实现。语句: 代码: Mod1 Mouse4 :SetAlpha +5 +5 Mod1 Mouse5 :SetAlpha -5 -5 Mod1 KP_Multiply :ToggleDecor 其中,Mouse4/5由xev程序查看到,分别是鼠标上/下滚;alt+*(小键盘)用于开关窗口标题栏。 v)截图/窗口截图 并不复杂,scrot(import也行,个人决定)语句(~/incoming自己建,或者改成别的目录): 代码: Print :Exec scrot ~/incoming/scrot@$(date +%F_%T).png 选择/窗口截图: 代码: Mod1 Print :Exec zenity --info --title="Scrot Message" --text="select a window or rectangle to snapshot" && scrot -s ~/incoming/scrot@$(date +%F_%T).png <br> vi)自定义菜单 Fluxbox1.0rc3之後的版本中提供了自定义菜单的功能($mkdir ~/.fluxbox/customMenus),最合适不过的就是使用键绑定来调用菜单了吧。例如mpd的菜单组合键: 代码: Mod3 b :CustomMenu ~/.fluxbox/customMenus/mpd 使用mpd的,可以自己写个menu,简单示例如下: 代码: [begin] (MPD) [exec] (Reload Config File) {killall mpd; mpd ~/.mpdconf} <> [exec] (Update Database) {mpd --creat-db; mpc update && mpc ls | mpc add -} <> [exec] (Play/Pause) {mpc toggle} <> [exec] (Next) {mpc next} <> [exec] (Stop) {mpc stop} <> [submenu] (Repeat) [exec] (On) {mpc repeat on} <> [exec] (Off) {mpc repeat off} <> [end] [exec] (Quit) {mpc stop && killall mpd} <> [end]
返回
Fluxbox Keys
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息