终于明白了 Fluxbox 中鼠标滚轮怎么搞了

鬼使神差地又跑到 Fluxbox 下搞了一下,居然这次被我发现了。

Fluxbox 默认设置下,在桌面上将鼠标滚轮向”上”拨,将切换到”下”一个工作区,向”下”拨将切换到”上”一个工作区,在工具栏上拨动鼠标滚轮也是这种情况。刚好和惯常思维相反。在窗口标题栏将鼠标滚轮向”下”拨,将会向”上”卷起窗口,向”上”拨将向”下”放下窗口。又是反的,不是吗?在我用过的 WM 中,像 openbox, xfwm, metacity, kwin 没有一个是像 Fluxbox 这样反着的。以前也不知道怎么设置,如今知道了,写出来和大家分享。

首先回答一个问题,我们的鼠标到底有几个键?如今一般的鼠标,带滚轮的,几个键?三个,你可能会说。呵呵,我起先也以为是三个,其实错了,有五个。哪来的五个?左键、右键、中键相信都不用说了,那还有两个键在哪?呵呵,我也不卖关子了,其实还有两个键也在滚轮上,只是按法不一样。将滚轮按下是我们熟知的中键,将滚轮向上拨是第四键,向下拨是第五键。左、中、右、上、下对应的数字是 1,2,3,4,5。知道了这些,我们就很容易地将 Fluxbox 的鼠标滚轮调回来了。

首先调整桌面滚轮的行为。打开 ~/.fluxbox/keys,你会看到

1
2
3
4
5
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
OnDesktop Mouse4 :NextWorkspace
OnDesktop Mouse5 :PrevWorkspace

大家应该都知道这里的秘密了,把 Mouse4 和 Mouse5 换一下就好了。

然后是工具栏的滚轮行为。打开 ~/.fluxbox/init,找到这一行:

1
session.screen0.reversewheeling: false

把值改成 true 就好了。

最后是窗口标题栏的滚轮行为。还是在 ~/.fluxbox/init 里面。

1
session.screen0.windowScrollReverse:    false

同样的改成 true 就好了。

这样,Fluxbox 里的鼠标滚轮”上下”的概念就符合我们的思维了。为什么 Fluxbox 的开发者认为颠倒的才是正的?搞不懂了。