如何在 awesome WM 中设置快捷方式来关闭当前窗口?
我知道++Ctrl关闭一个窗口,但我想要的是KILL(例如)。⇧ ShiftCkill <PID>
例如,我需要这个来终止一个冻结窗口的进程。
答案1
您想要的是终止创建窗口的进程。您无法立即执行此操作,但在某些情况下可以执行此操作。
请查看Stack Overflow 上的这个答案为什么这通常是不可能的。
如果您无论如何都想尝试一下,您必须在 lua 中获取活动窗口 ID,尝试从中检索 PID 并kill -9
在其上调用命令。这很容易使用类似 的工具来完成xprop
,或者您可以使用类似这样的命令(未经测试,可能甚至不起作用):
awful.key({ modkey, "Control" }, "c",
function (c) awful.util.spawn("kill -9 " .. get_xproperty("_NET_WM_PID(CARDINAL)"))
答案2
client
类有pid
属性(至少在 awesome 4.2 中https://awesomewm.org/doc/api/classes/client.html)因此您可以简单地这样做:
awful.key({ modkey, "Control" }, "c",
function (c)
if c.pid then
awful.spawn("kill -9 " .. c.pid)
end
end
)