Awesome WM - 使用快捷方式启动基于终端的应用程序

Awesome WM - 使用快捷方式启动基于终端的应用程序

我想要的是有一个快捷方式来启动 vifm、cmus、htop 等。这些应用程序需要从终端启动。

我知道要在 Awesome WM 中创建快捷方式,我应该:

awful.key({ modkey },            "my_hotkey",     function () awful.util.spawn(...here goes the app) end,
          {description = "the_description", group = "my custom group"}),

但我不能简单地放在那里:

awful.util.spawn("vifm")

我不工作。那么我怎样才能创建一个启动 vifm 的快捷方式,考虑到此代码必须首先运行终端,然后在该终端内启动“vifm”。

另外,有没有更有效的方法来做到这一点?我的意思是也许直接启动 vifm 而不必依赖先运行终端?

PD:我的 shell 是 bash,我的终端是 Konsole。

答案1

大多数终端允许运行命令,该命令完成后也将退出终端。我不知道 Konsole,但在 GNOME 终端中这就像gnome-terminal -- vim.

如果您希望终端在命令完成后继续运行,您可以使用以下 hack: gnome-terminal -- bash -c 'vim; bash'

答案2

我为之前没有意识到解决方案感到有点尴尬。事实上它就在 konsole 的帮助页面中,无论如何命令是(对于 konsole):

konsole -e cli_based_app

例如

konsole -e vim

然后你可以将其放入 rc.lua 中并为其指定一个热键。

相关内容