![根据应用程序名称猜测文件结尾](https://linux22.com/image/1372097/%E6%A0%B9%E6%8D%AE%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%8C%9C%E6%B5%8B%E6%96%87%E4%BB%B6%E7%BB%93%E5%B0%BE.png)
在 bash-completion 中标签完成文件名并且应用程序具有首选的文件扩展名,bash 将智能地猜测它。
举个例子
evince test/te --*tab*--> evince test/test.pdf
即使该文件夹中有 test.tex、test.jpg 等文件。
有没有办法让 awesome prompt 以类似的方式猜测文件扩展名?
答案1
在您的代码中rc.lua
,您可以修改调用awful.prompt
并指定附加参数completion_callback
。请参阅 lua 文档awful.prompt
和awful.completion
。我快速搜索了一下,找到了论坛帖子提供了示例awful.completion.bash
。
答案2
在我的 rc.lua 中我定义了几个辅助函数
local function shellcomp(command,cur_pos,ncomp)
return awful.completion.shell(command,cur_pos,ncomp,"bash")
end
local function run_promptbox()
awful.prompt.run{
prompt = 'Run: ',
text = '',
textbox= awful.screen.focused().mypromptbox.widget,
completion_callback=shellcomp
}
end
然后将以下内容放入globalkeys
(替换 modkey+r 上的任何先前绑定)。
awful.key({ modkey }, "r", run_promptbox, {description = "run prompt", group = "launcher"}),