Jak zamknąć dowolne okno w Awesome WM?

22

Twórcy aplikacji komputerowych mają swobodę wyboru skrótów klawiaturowych, które chcą obsługiwać. W systemie Windows konwencja jest dość silna:

  • Alt- F4zamyka większość aplikacji
  • Ctrl- F4zamyka większość głównych podokien
  • Esc usuwa większość okien dialogowych.

W Linuksie nie było tak dużej zbieżności, ale następujące są powszechne:

  • Ctrl- qzamyka większość aplikacji
  • Ctrl- wzamyka większość głównych podokien
  • Esc usuwa większość okien dialogowych.

Niestety wiele aplikacji zdecydowało się pójść własną drogą, albo używając konwencji systemu Windows, albo po prostu robiąc swoje.

  • Alt- F4zamyka chrom
  • Ctrl- Shift- qzamyka GNOME Shell
  • Alt- f xzamyka POMYSŁ

Aby zamknąć okna podrzędne i okna dialogowe, wszystkie zakłady są wyłączone. Widziałem wszystkie te używane:

  • Esc
  • Ctrl-F4
  • Ctrl-w

Niektóre aplikacje nawet nie mają skrótów do zamykania niektórych okien (a przynajmniej żadnych, których udało mi się znaleźć).

Menedżery okien mają moc nadpisywania któregokolwiek z nich i dlatego mogą być bardzo pomocne dla użytkowników klawiatury. Awesome WM jest bardzo przyjazny dla klawiatury, ale czy istnieją globalne skróty do zamykania dowolnego okna i / lub aplikacji w Awesome WM , a jeśli nie, to jak je skonfigurować?

l0b0
źródło
Co jest nie tak z małym X na pasku tytułowym? To powinno być SIGTERM, co oznacza, że ​​nie będzie gorsze niż jakakolwiek inna metoda zewnętrzna; aplikacje powinny to wychwycić i zamknąć tak samo, jak przez „zamknięcie” lub cokolwiek innego. W skrócie: wystarczy zamknąć okno główne, co powinno zamknąć aplikację.
goldilocks
2
@goldilocks To nie działa w wielu WM (takich jak Awesome) i jest mniej wydajne dla osób przyzwyczajonych do nawigacji po klawiaturze.
l0b0
Nie brzmi dla mnie zbyt „niesamowicie”, lol. Zdecydowanie odrzuciłbym twierdzenie, że „nie działa w wielu WM” - z pewnością działa praktycznie we wszystkich z nich, lub są one proste i proste, nie spełniając zamierzonego celu. Najbardziej podstawowa i podstawowa rzecz: udostępniasz okno z paskiem tytułowym i przyciskiem zamykania . Zgadzam się, że wskaż i kliknij jest mniej wydajne niż klawiatura, ale que sera - używasz GUI - i każda przyzwoita WM zapewni ci opcje przypisywania klawiszy do robienia takich rzeczy. Tzn. Musisz dowiedzieć się, jak stworzyć własne skróty.
goldilocks
1
Wymiana stosów ogólnie nie pozwala na pytania z listy, nie pasują one do sposobu działania strony (oczekuje się, że masz konkretny problem, ktoś opublikuje rozwiązanie i je zaakceptujesz). Jeśli mówisz „Jeden ______ na odpowiedź”, to zwykle zły znak
Michael Mrozek
5
@gililocks: Myślę, że źle rozumiesz cel niesamowitych i zajmujących się zarządzaniem oknami w ogóle. Państwo powinno korzystać z nich bez dotykania myszy w ogóle. Większość z nich w ogóle nie ozdobi okien, co jest dobrą rzeczą.
Sardathrion

Odpowiedzi:

21

Stamtąd man awesomenie wydaje się, aby domyślnym powiązaniem klucza było zamknięcie wszystkich okien aplikacji. Możliwe może być ręczne dodanie takiego powiązania.

Istnieje jednak domyślne powiązanie klawisza, aby zamknąć jedno skoncentrowane okno *: Mod4- Shift-c . To pozostawi nienaruszone inne okna (jeśli istnieją) aplikacji. To ma nie pracować dla okien podrzędnych ( „logiczne” okien, takich jak karty, które są częścią jednego okna aplikacji).

* Lub „klient”, jak wiadomo z perspektywy X w przeciwieństwie do użytkownika.

l0b0
źródło
2
Czy jesteś pewien, że nie masz tego wstecz? Mod4-Shift-cpowinien zabić bieżącego klienta. Zamknięcie podokna jest zależne od aplikacji, WM nie ma z tym nic wspólnego
Michael Mrozek
Cóż, to działa. Na przykład przejście do okna preferencji Firefox i naciśnięcie go powoduje zamknięcie preferencji, a nie aplikacji. To samo z polem wyszukiwania w jEdit. Więc myślę, że „zabij skoncentrowanego klienta”, jak to mówi w, man awesomejest mylące.
l0b0
2
Mod4-Shift-czamknie aktualnie zaznaczone okno. Jeśli jest to ostatnie okno aplikacji, zamknie aplikację. Strona podręcznika jest poprawna.
Sardathrion
@Sardathrion Jeśli utożsamiasz „klienta” z „oknem”, tak. Myślę, że to jest język programowania dla WM.
l0b0 16.04.13
Pozwoliłem sobie na edycję odpowiedzi w celu wyjaśnienia pojęć.
phunehehe
0

Dodałem następujące do mojej tabeli przycisków klienta:

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

Teraz moje kliknięcie kółkiem przewijania zamyka okno.

AX Labs
źródło