|
|
开始学linux时用了一段wmaker
后来看 compiz fusion 挺炫,用了几天,可我的PIII实在太烂,这东西对我华而不实
这几天把所有的窗口管理器全装了个遍,最后发现wmii 最好用 ,速度快、易上手,操作方便
我把找到的资料贴上来大家一起研究
高效从wmii开始
In Linux on 28 August 2008 with no comments
wmii
在gnome下使用VIM,就像用短板的木桶,始终达不到应有的高效。而我一向不太追求效率,自看过Randy Pausch教授一场名为时间管理的讲座后颇为震惊,决意从我最亲密的计算机习惯改起。尽管从小我就一直被学校灌输所谓高效率的学习方法,可能心里对这种空虚的玩意儿不以为然,一直置若罔闻,忽视了自身应当到达的效率,而现在,也很难改掉懒散的习惯了。可我一向认为没有什么既定的事实,从拼音到五笔,windows到Linux,notepad到VIM,直到现在metacity(gnome)到wmii,我一直在改变着、挣扎着、快乐着。
wmii是我如今工作和学习时用的wm,日常还是用gnome。wmii不像gnome和kde广为人知,它存在的意义就是寻求高效的开发环境,对于非IT界人也许比较geeky。官方是这样介绍wmii的:wmii is a small,dynamic tiling(平铺) window manager for X11.对于gonme或kde用户,tiling比较陌生,科普一下->wiki
In computing, a tiling window manager(平铺式窗口管理器) is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop
从广义的wm概念讲,wm决定了窗口位置、桌面背景、菜单栏、右键菜单、键鼠控制、工作区、状态栏、运行对话框等。配置上,除极少数hacker对 FVWM这种会晕的wm,其它的wm大同小异,包括wmii。除FVWM贯彻到底的自由主义外,其它的wm或多或少有着自己的特点。 metacity(gnome),kwin(kde)一般认为为重量级wm,视觉上截然不同的感官效果,功能上差异明显,运行进程庞大。诸如 xfce,openbox,flukbox之类的wm属于轻量级wm,轻量级wm一般只有习惯上的差异,当然通过配置可达到功能上基本相似,以简洁为荣的轻量级wm,都占用较少的系统资源。而tilling wm较轻量级wm,一般省去了桌面背景、菜单栏、右键菜单,强化了窗口位置(特色的吸附特性)、键鼠控制、工作区、状态栏、运行对话框。twm的结构和特性大大提升了工作时编写代码的效率。
如今,tilling wm渐渐展露其非凡,众多twm的发行版也浮出了水面。据Arcthur所知,tilling wm至少有8种以上,例举下大致上有awesome、dwm、xmonad、ratpoison、ion3、wmii等。国内社区中,由于Linuxer 的局限,各tilling wm在国内社区中露脸的机会相当稀少,论坛上鲜有其讨论(Archlinux社区相对较多)。当然,它们的缺陷也屡见不鲜,如wmii标题栏中文极难配置,需要安装特定的字体,又只能配置一种字体,每个窗口都有一个标题栏,fork的进程太多,比较耗资源等等。其它twm亦不例外的有一些不足,因为我正在学习java和ruby,wmii可以很方便的用ruby来扩展,对于rubyist,ruby-wmii是个很好的起点,它只是一个配置文件,可以在它的基础上做修改,通读一遍代码基本能可以了解wmii的各个方面。
vim+xterm+wmii,完全在键盘上操作的快感也只有在体验过这样的组合后才会知道。最后,贴上wmii的快捷键
Key bindings
These are the default aliases:
MODKEY Mod1
MODKEY2 Mod4 (often win key)
UP k
DOWN j
LEFT h
RIGHT l
MODKEY2-space Switch between raw and normal input modes.
The current mode is indicated in the bar. All other key
bindings are ignored in raw mode.
MODKEY-Control-y Run program with given tag (uses wmiimenu twice to get
the tag and the program).
MODKEY-a Ask for action and execute it.
Includes internal and external (i.e. dependent on a
script in $HOME/.wmii-3) actions. Remembers the last
actions executed and presents them at the beginning.
MODKEY-p Ask for a program and execute it.
The list of programs is updated periodically and cached.
Remembers the last programs executed and presents them at
the beginning.
MODKEY-0..9 Choose either the corresponding numerical view (if it
exists) or the (N-last_numerical_view)th non-numeric view
e.g. if the views are 1 2 3 4 code irc web
and you press MODKEY-6, it'll take you to irc
MODKEY-Shift-0..9 Either replace the the numeric tag of the current client
or retag it as the (N-last_numerical_view)th non-numeric
view.
MODKEY-t Ask for view to move to.
Tries to sort the choices intelligently based on
previous movement.
MODKEY-LEFT Select prev column.
MODKEY-RIGHT Select next column.
MODKEY-UP Select prev client.
MODKEY-DOWN Select next client.
MODKEY-space Toggle managed/floating layer.
MODKEY-d Set default mode.
MODKEY-s Set stacked mode.
MODKEY-m Set max mode.
MODKEY-f Maximize current floating client.
MODKEY-i Move bottom of current client down (i.e. enlarge)
MODKEY-Shift-i Move bottom of current client up (i.e. shrinken).
MODKEY-Return Launch terminal.
MODKEY-Shift-LEFT Send to prev column.
MODKEY-Shift-RIGHT Send to next column.
MODKEY-Shift-DOWN Swap with lower client.
MODKEY-Shift-UP Swap with upper client.
MODKEY-Shift-space Toggle managed/floating layer for client.
MODKEY-Shift-c Kill current client
MODKEY-r Go back to previous view (where we came from).
Pressing more than once makes you cycle between 2 views.
MODKEY-Control-UP,
MODKEY-comma Move to (lexicographically) preceding view.
MODKEY-Control-DOWN,
MODKEY-period Move to (lexicographically) following view.
MODKEY2-Shift-UP,
MODKEY2-comma Move to (lexicographically) preceding view within
current namespace.
MODKEY2-Shift-DOWN,
MODKEY2-period Move to (lexicographically) following view within
current namespace.
MODKEY-Shift-t Retag current client. Allows +/- modifiers to add/remove
tag.
MODKEY-Shift-r Retag current client and move to corresponding view.
Alloes +/- modifiers.
MODKEY2-Shift-t Retag in the namespace. Given a client tagged as foo+bar:
baz retags it as bar:baz
+baz retags it as foo+bar+bar:baz
Given foo+bar:baz, -baz retags as foo
MODKEY2-Shift-r Retag as MODKEY2-Shift-t and moves to new view.
MODKEY2-a..z Jump to first view whose name starts with the given
letter, sorted with intellisort (favors views chosen
before)
MODKEY-plus Move forward in view history
MODKEY-minus Move backwards in view history.
MODKEY-b Open bookmark (see README.applets for further
information).
MODKEY-Shift-b Bookmark URL in X11 primary selection buffer. Again, see
README.applets.
Internal actions (MODKEY-a)
browser: if given an argument, open the given URL in a browser, otherwise
ask for it
google: same as 'browser', but searches with google
screenshot: takes a screenshot in $HOME/tmp/NAME-IDX.png, where NAME is
either the given parameter or 'screenshot', and IDX is
incremented automatically
rename-view: change the name of the current view, and retag all clients
accordingly. Takes the new name as a parameter, or asks for it.
wmiirc: reload the wmiirc configuration
config-help: shows information about how to use and configure wmiirc, as well
as how to write plugins |
|