11
15
2013
5

在 Awesome 下对 Wine 运行的 TM.exe 使用 Alt+数字键来切换标签页

本文来自依云's Blog,转载请注明。

现在我一直在使用 Wine 运行 TM2013。这个版本支持一个窗口里以标签页的方式放多个对话了。然后就遇到一个问题——不同平台切换标签页的快捷键是不同的!

Linux 使用Alt+数字,Mac OS X 使用⌘数字,而 Windows 则使用Ctrl+数字。像火狐这种多平台支持得非常好的程序,不仅有一个适合其所运行平台的默认值,而且也可以通过手动修改about:config来使用其它平台上的习惯。但是,TM 显然不可能这么体贴。

不过我是 Linux + Awesome 用户嘛,怎么可能轻易就妥协呢。既然 TM 自己不认,那我让 Awesome 在Alt+数字时给 TM 的窗口发Ctrl+数字就好了嘛。想法是好的,现实却不那么美好,Awesome 不支持直接给窗口发送指定按键。于是只好调用 xdotool 命令了。因为按 Awesome 快捷键的时候,焦点会暂时移出原窗口,所以我指定了窗口 ID。延时的解决方法没这个优雅:

-- {{{ bind_alt_switch_tab_keys
alt_switch_keys = awful.util.table.join(
    -- it's easier for a vimer to manage this than figuring out a nice way to loop and concat
    awful.key({'Mod1'}, 1, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+1') end),
    awful.key({'Mod1'}, 2, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+2') end),
    awful.key({'Mod1'}, 3, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+3') end),
    awful.key({'Mod1'}, 4, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+4') end),
    awful.key({'Mod1'}, 5, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+5') end),
    awful.key({'Mod1'}, 6, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+6') end),
    awful.key({'Mod1'}, 7, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+7') end),
    awful.key({'Mod1'}, 8, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+8') end),
    awful.key({'Mod1'}, 9, function(c) awful.util.spawn('xdotool key --window ' .. c.window .. ' ctrl+9') end)
)
function bind_alt_switch_tab_keys(client)
    client:keys(awful.util.table.join(client:keys(), alt_switch_keys))
end -- }}}

然后在 TM 的窗口上调用这个函数就可以了。唯一有点小遗憾的是,fcitx 的图标在按 Awesome 快捷键时会切换一下。

Category: Linux | Tags: wIne Awesome X Window TM | Read Count: 8139
Revir 说:
Nov 18, 2013 10:29:54 AM

佩服, 你对 awesome 玩得真精!
wine tm 不知道能不能视频聊天?

Avatar_small
依云 说:
Nov 18, 2013 11:00:57 AM

没怎么试过呢,你试试呗。

farseerfc 说:
Dec 11, 2013 12:31:44 PM

不覺得Ctrl+數字來切換和Ctrl+W來關閉標籤以及Ctrl+Tab這些比較統一麼……

Avatar_small
依云 说:
Dec 11, 2013 01:38:47 PM

可是 Linux 下切换标签页都是 Alt+数字 呀。而且 Alt+数字 比较好按。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com