Как закрыть любое окно в Awesome WM?

22

Разработчики настольных приложений могут свободно выбирать, какие сочетания клавиш они хотят поддерживать. На Windows соглашение довольно сильно:

  • Alt- F4закрывает большинство приложений
  • Ctrl- F4закрывает большинство основных окон
  • Esc отклоняет большинство диалоговых окон.

В Linux не так много конвергенции, но распространено следующее:

  • Ctrl- qзакрывает большинство приложений
  • Ctrl- wзакрывает большинство основных окон
  • Esc отклоняет большинство диалоговых окон.

К сожалению, многие приложения решили пойти своим путем: либо используя соглашение Windows, либо просто делая свое дело:

  • Alt- F4закрывает хром
  • Ctrl- Shift- qзакрывает оболочку GNOME
  • Alt- f xзакрывает ИДЕЯ

Чтобы закрыть подокна и диалоговые окна, все ставки отключены. Я видел все это в использовании:

  • Esc
  • Ctrl-F4
  • Ctrl-w

Некоторые приложения даже не имеют ярлыков для закрытия некоторых окон (или, по крайней мере, ни одного, которое мне удалось найти).

Оконные менеджеры могут переопределить любой из них , и поэтому могут быть очень полезны для пользователей клавиатуры. Awesome WM очень дружественна к клавиатуре, но существуют ли глобальные сочетания клавиш для закрытия любого окна и / или приложения в Awesome WM , и если нет, то как их настроить?

l0b0
источник
Что не так с маленьким Х в строке заголовка? Это должен быть SIGTERM, то есть он будет не хуже любого другого внешнего метода; приложения должны перехватить это и завершить работу так же, как и через «выход» или что-то еще. Короче говоря: просто закройте главное окно, и это должно закрыть приложение.
Златовласка
2
@goldilocks Это не работает во многих WM (например, Awesome), и это менее эффективно для тех, кто привык к клавишной навигации.
10
Звучит не очень круто, лол. Я бы категорически опроверг утверждение о том, что «он не работает во многих WM» - он, безусловно, работает практически во всех из них, или они просты и не соответствуют своему назначению. Самая основная и фундаментальная вещь: вы предоставляете окно с заголовком и кнопкой закрытия . Я согласен, точка и щелчок менее эффективны, чем клавиатура, но que sera - вы используете GUI - и любой приличный WM предоставит вам варианты привязки клавиш для выполнения подобных задач. Т.е. вам нужно выяснить, как создавать свои собственные ярлыки.
Златовласка
1
Stack Exchange, как правило, не разрешает вопросы списка, они не подходят для работы сайта (ожидается, что у вас есть конкретная проблема, кто-то опубликует решение, и вы его принимаете). Если вы обнаружите, что говорите «один ______ за ответ», это обычно плохой знак
Майкл Мрозек
5
@goldilocks: Я думаю, что вы неправильно понимаете цель классных оконных менеджеров . Вы должны использовать их, не касаясь мыши вообще. Большинство из них вообще не будут украшать окна, что очень хорошо (ТМ).
Сардатрион - Восстановить Монику

Ответы:

21

Отсюда, man awesomeкажется, нет привязки ключа по умолчанию, чтобы закрыть все окна приложения. Может быть возможно вручную добавить такую ​​привязку.

Тем не менее, существует привязка ключа по умолчанию для закрытия одного сфокусированного окна *: Mod4- Shift-c . Это оставит другие окна приложения (если они есть) без изменений. Он не работает для подокон («логические» окна, такие как вкладки, которые являются частью одного окна приложения).

* Или «клиент», как это известно с точки зрения X, в отличие от пользователя.

l0b0
источник
2
Вы уверены, что у вас нет его назад? Mod4-Shift-cдолжен убить текущего клиента. Закрытие подокна зависит от приложения, WM не имеет к этому никакого отношения
Майкл Мрозек
Ну, это работает. Например, если вы войдете в окно настроек Firefox и нажмете его, оно закроет настройки, а не приложение. То же самое с окном поиска в jEdit. Так что я думаю, что «Убить сфокусированного клиента», как говорится, man awesomeвводит в заблуждение
10
2
Mod4-Shift-cзакроет текущее окно Если это последнее окно приложения, оно закроет приложение. Справочная страница верна.
Сардатрион - Восстановить Монику
@Sardathrion Если вы приравниваете «клиента» к «окну», да. Я думаю, что это язык разработчика WM.
l0b0
Я позволил себе отредактировать ответ, чтобы уточнить понятия.
phunehehe
0

Я добавил следующее в свою таблицу clientbuttons:

awful.button({ }, 2, function (c) c:kill() end)

Теперь мой щелчок колеса прокрутки закрывает окно.

AX Labs
источник