Як закрити будь-яке вікно в 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закриває IDEA

Для закриття підвікон та діалогових вікон всі ставки вимкнено. Я бачив усе це у вжитку:

  • Esc
  • Ctrl-F4
  • Ctrl-w

Деякі додатки навіть не мають ярликів для закриття деяких вікон (або принаймні жодного, що мені вдалося знайти).

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


Що не так з маленьким X на заголовку? Це повинно бути SIGTERM, тобто це буде не гірше, ніж будь-який інший зовнішній метод; програми повинні зафіксувати це і відключити так, як вони б через "кинути" чи що завгодно. Якщо коротко: просто закрийте головне вікно і це повинно закрити додаток.
goldilocks

2
@goldilocks Це не працює у багатьох WM (наприклад, Awesome), і це менш ефективно для тих, хто звик користуватися клавіатурою навігацією.
l0b0

Мені це не дуже "чудово" звучить, хаха. Я категорично спростую твердження, що «він не працює у багатьох WM» - це, безумовно, працює практично у всіх, або вони є простими і простими, не виконуючи їх призначення. Найголовніше і найважливіше: ви надаєте вікно з заголовком і кнопкою закриття . Я погоджуюся, що точка та натискання менш ефективні, ніж клавіатура, але que sera - ви користуєтесь графічним інтерфейсом - і будь-який гідний WM надасть вам варіанти перев'язування клавіш, щоб зробити такі речі. Тобто вам потрібно з’ясувати, як створити власні ярлики.
goldilocks

1
Обмін стеками зазвичай не дає запитань до списку, вони не дуже підходять для того, як працює сайт (очікується, що у вас є певна проблема, хтось розміщує рішення, і ви приймаєте його). Якщо ви виявите, що говорите "Один ______ за відповідь", це, як правило, поганий знак
Майкл Мрозек

5
@goldilocks: Я думаю, ти неправильно розумієш мету дивовижних та привабливих менеджерів вікон загалом. Ви повинні використовувати їх, не торкаючись миші. Більшість із них взагалі не прикрашать вікна, що є хорошою справою (TM).
Сардатріон

Відповіді:


21

Звідси man awesome, схоже, не є прив'язка клавіш за замовчуванням, щоб закрити всі вікна програми. Можливо, можна вручну додати таке прив'язку.

Однак існує прив'язка клавіш за замовчуванням для закриття зосередженого вікна *: Mod4- Shift-c . Це залишить інші вікна (якщо такі є) програми незайманими. Він не працює для підвікон ("логічні" вікна, як вкладки, які є частиною одного вікна програми).

* Або "клієнт", як відомо з точки зору X на відміну від користувача.


2
Ви впевнені, що не маєте її назад? Mod4-Shift-cмає вбити поточного клієнта. Закриття підвікна залежить від програми, WM не має нічого спільного з цим
Michael Mrozek

Ну, це працює. Наприклад, якщо зайти у вікно налаштувань Firefox і натиснути його, воно закриє налаштування, а не програму. Те саме з полем пошуку в jEdit. Тож я вважаю, що "Вбивця, орієнтований на клієнта", як це говориться man awesome, вводить в оману.
l0b0

2
Mod4-Shift-cзакриє вікно, орієнтоване на даний момент. Якщо це останнє вікно програми, воно закриє програму. Сторінка чоловіка правильна.
Сардатріон

@Sardathrion Якщо ви порівнюєте "client" з "window", так. Я думаю, що мова про розробників WM.
l0b0

Я взяв на себе сміливість редагувати відповідь, щоб уточнити поняття.
phunehehe

0

Я додав у свою таблицю кнопок клієнтів наступне:

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

Тепер моє клацання колесом прокрутки закриває вікно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.