linux换桌面窗口管理器,Awesome 窗口管理器——换种方式使用星际译王

星际译王被广泛使用的两个功能应该是划词翻译和手动输入翻译。由于星际译王缺少划词功能的开关快捷键,导致每次划词功能使用结束后,必须手动关闭此功能。

否则在 vim 视图模式下选择文本的时候会弹出不需要的翻译窗口,这有点让人苦恼。虽然它提供了‘在修饰键按下时才取词’的功能,但是如果你真的使用过你就知道,它需要你一直按住修饰键不松,否则翻译窗口立即被隐藏。另一种情况是,你不必始终按住修饰键,但是当你想隐藏翻译窗口时,你必须动动你的鼠标。简单来说,你有两个选择,要么按住修饰键5秒、10秒、甚至20秒,要么每次查询结束你的手就得离开键盘动动鼠标。

对于手动输入翻译这个功能来说,sdcv 是个很好的想法,但它需要你始终保持一个虚拟终端以备你随时的查询,而且这将破坏你目前的状态,因为你必须切换终端,甚至切换到另一个虚拟桌面。

Awesome 能帮我较好的解决这些苦恼,我甚至不用打开星际译王的程序,就可以使用‘在修饰键按下时才取词’的划词翻译功能,和更方便的手动输入翻译功能。只需两个额外的软件包 sdcv 和 xsel 就能换来更好的使用体验。

无论是用鼠标在 Firefox 里,还是用键盘在 Vim 里,当你选中一个单词,按 Meta-d 就会在右上方弹出翻译结果。当你要手动输入某个单词的时候,按 Meta-Shift-d 就会在任务栏那里弹出一个 Dict: 输入栏,输入后回车即可看到翻译结果。可设置超时自动关闭翻译结果,也可以再按 Meta-d 立即关闭翻译结果。当然你愿意的话,用鼠标点一下翻译结果也可以关闭它。

ecf5e92b2b682f7b40a7b0543ac55452.png

配置如下:

3.3 || 3.4

...

globalkeys = awful.util.table.join (

...

-- {{{ sdcv/stardict

awful.key({ modkey }, "d", function ()

local f = io.popen("xsel -o")

local newword = f:read("*a")

f:close()

if frame ~= nil then

naughty.destroy(frame)

frame = nil

if oldword == newword then

return

end

end

oldword = newword

local fc = ""

local f  = io.popen("sdcv -n --utf8-output -u '牛津英汉双解美化版' "..newword)

for line in f:lines() do

fc = fc .. line .. '\n'

end

f:close()

frame = naughty.notify({ text = fc, timeout = 10, width = 320 })

end),

awful.key({ modkey, "Shift" }, "d", function ()

awful.prompt.run({prompt = "Dict: "}, mypromptbox[mouse.screen].widget, function(cinword)

naughty.destroy(frame)

if cinword == "" then

return

end

local fc = ""

local f  = io.popen("sdcv -n --utf8-output -u '牛津英汉双解美化版' "..cin_word)

for line in f:lines() do

fc = fc .. line .. '\n'

end

f:close()

frame = naughty.notify({ text = fc, timeout = 10, width = 320 })

end, nil, awful.util.getdir("cache").."/dict")

end),

-- }}}

...

) -- globalkeys

简单说明一下,sdcv -u 参数后面跟的是字典名称,用 sdcv -l 可以查询现有的字典。推荐两本字典 xdict(简要), 牛津英汉双解美化版 (丰富)0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值