Потрясающий ярлык WM для закрытия окна

Потрясающий ярлык WM для закрытия окна

Как установить сочетание клавиш для закрытия текущего окна в Awesome WM?

Я знаю, что Ctrl+ ⇧ Shift+ Cзакрыть окно, но я хочу УБИТЬ ( kill <PID>например).

Мне это нужно, например, для завершения процесса замороженного окна.

решение1

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

Пожалуйста, взгляните наэтот ответ на 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)"))

решение2

clientкласс имеет pidсвойство (по крайней мере в awesome 4.2https://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
)

Связанный контент