3

Как я могу установить ярлык, чтобы убить текущее окно в удивительной WM?

Я знаю, что Ctrl + ⇧ Shift + C закрывает окно, но мне нужно KILL (например, kill <PID> ).

Мне нужно это, чтобы убить процесс замороженного окна, например.

2 ответа2

2

То, что вы хотите, это убить процесс, который создал окно. Вы не можете сделать это «из коробки», но можете сделать это при определенных обстоятельствах.

Пожалуйста, посмотрите на этот ответ в Stack Overflow, почему это обычно невозможно.

Если вы все равно хотите попробовать, вам нужно будет получить активный идентификатор окна в lua, попытаться получить из него PID и вызвать для него команду kill -9 . Это легко сделать, используя такой инструмент, как xprop , или вы можете использовать команду, подобную этой (непроверенная, вероятно, даже не работающая):

awful.key({ modkey, "Control"   }, "c",
    function (c) awful.util.spawn("kill -9 " .. get_xproperty("_NET_WM_PID(CARDINAL)"))
1

client класс имеет свойство pid (по крайней мере, в замечательном 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
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .