Jak ustawić skrót do „Zawsze na wierzchu” w oknie?


27

W 12.04 (Unity) chciałbym przypisać skrót do opcji „zawsze na wierzchu” dla okna. Prawdopodobnie coś takiego jak Ctrl+ Shift+, Homeaby włączyć i Ctrl+ Shift+, Endaby wyłączyć, lub cokolwiek innego. Czy jest jakaś opcja, aby to zrobić gdzieś w Menedżerze ustawień Compiz?

Ten (stary) post twierdził, że

Dla compiz, Włącz dodatkowe akcje WM. Sprawdź właściwości i wstaw ALT+ Ado pola Klucz, aby włączyć akcję Zawsze na wierzchu.

Ale nie mogłem tego znaleźć.


1
Czy ktoś tutaj zdołał sprawić, by działało to w Ubuntu 12.10 bez użycia ccsm? dzięki
Suhaib,

Odpowiedzi:


32

Powinien działać na każdym systemie Ubuntu od wersji 9.04 bez instalowania czegokolwiek, modyfikując tworzenie jakichkolwiek skrótów.

Spróbuj Alt+ Space, T

  • Alt+ Space jako pierwszy skrót wyświetla menu myszy kliknięte prawym przyciskiem myszy

  • T wybiera funkcję „Always On Top”.


1
To jest absolutnie najlepsza odpowiedź na stronie.
dotancohen

Potwierdzono pracę nad Unity 14.04. Fakt, że alt + spacja aktywuje rozwijane menu, pomaga szczególnie w przypadku rzadko używanych funkcji.
Frank M

To powinna być wybrana odpowiedź. Dziękuję Ci!
Nam G VU

1
Zostało to opublikowane 2 lata po pytaniu, ale teraz stanowi najlepszą odpowiedź, więc zmieniam przyjętą odpowiedź.
Ian Hincks

2
nie działa 18.04, T nie wybiera już funkcji „Zawsze na wierzchu”.
rvbarreto

14

Ponieważ nikt jeszcze o tym nie wspominał, zostawię rozwiązanie, które działało dla mnie na Ubuntu 12.04.

Możesz skonfigurować zwykły skrót klawiaturowy i użyć wmctrl, aby przełączyć opcję „Zawsze na wierzchu ”.

Idź do Ustawienia systemowe> Klawiatura> Skróty> Własne skróty . Naciśnij + i nadaj skrótowi nazwę. Następnie wprowadź następujące polecenie.

wmctrl -r :ACTIVE: -b toggle,above

Jeśli jeszcze go nie masz, możesz zainstalować wmctrl z repozytoriów za pomocą

sudo apt-get install wmctrl

Powinieneś mieć coś, co wygląda podobnie do tego.

Zrzut ekranu przedstawiający ekran konfiguracji niestandardowego skrótu klawiaturowego

Kliknij Zastosuj i powinieneś być gotowy!

To rozwiązanie pochodzi z dyskusji na forach Ubuntu .


@ Suhaib Ta część jest już w odpowiedzi. :)
Kasisnu

Lol przepraszam. Nie wiem, jak mi tego brakowało xD
Suhaib

7

Jeśli nie, zainstaluj CCSM i dodatkowe wtyczki Compiz poprzez:

sudo apt-get install compizconfig-settings-manager compiz-plugins-extra

Uważaj proszę. CCSM może zabić Unity3D na niektórych systemach.

Jeśli nie masz jeszcze zainstalowanych dodatków plug-in Compiz, musisz ponownie uruchomić Compiz, aby je załadować (nawet jeśli są wyświetlane w CCSM dobrze przed ponownym uruchomieniem) za pomocą Alt+ F2i

compiz --replace

Możesz zobaczyć Dodatkowe akcje WM w sekcji Zarządzanie Windows w CCSM, jak wyjaśniono w znalezionym poście. Możesz łatwo ustawić żądaną akcję.


W rzeczywistości zrestartowanie compiz jest potrzebne tylko po to, aby poznać nowe wtyczki. Następnie możesz zmieniać skróty w locie (tzn. Nie musisz ponownie uruchamiać Compiz po każdej zmianie skrótu)
sup

Dziękuję za informację @sup. Właśnie wyjaśniłem to za pomocą podanego postu. Właściwie sam tego nie próbowałem.
heartsmagic

Cóż, przeredagowałem to, aby było jeszcze jaśniej :-).
sup

2

Innym, moim zdaniem, lepszym rozwiązaniem jest dodanie Alt+ Ajako skrótu do przełączania właściwości okna „Zawsze na wierzchu”. Można to zrobić za pomocą edytora gconf . Postępuj zgodnie z prostymi instrukcjami podanymi w tym filmie .

EDYCJA: Skopiowano z wideo

  1. jeśli używasz 12.04 i 12.10, musisz zainstalować gconf-editor

    sudo apt-get install gconf-editor

  2. Wpisz gconf-editorterminal.

  3. Kliknij aplikacje

  4. Idź do metacity

  5. Window_keybindings

  6. kliknij prawym przyciskiem myszy w prawym polu i kliknij new key

  7. Wybierz stringz listy rozwijanej.

  8. Dodaj słowo toggle_above

  9. Wpisz dowolne polecenie. tzn .: A i naciśnij OK

Gotowy :-)


to nie działało :-(
Suhaib,

Tak, to nie działa również dla 12.10.
sup

Powinien być edytorem dconf w 14.04 ... ale też nie działa.
Ed Villegas

1

Próbowałem użyć wmctrlprzełącznika polecenia, ale nie działało to w mojej konfiguracji Ubuntu. Przełącznik włącza się, ale nie wyłącza. (Myślę, że może tak być, ponieważ używam środowiska graficznego gnome, na którym wmctrlAFAIK jest nieco uszkodzony).

W każdym razie, po wielu badaniach i opracowaniu, jak napisać odpowiedni kod w bash, stworzyłem jedno polecenie, które używa wmctrlpoleceń w warstwie logicznej, aby skutecznie przełączać stan „zawsze na górze” na bieżącym pulpicie GNOME. Opublikowałem tę odpowiedź na Ask Unix / Linux, ale pomyślałem, że opublikuję ją tutaj, na wypadek, gdyby ktoś miał ten sam problem.

Oto polecenie:

bash -c 'wmctrl -r :ACTIVE: -b $([[ $(xprop -id $(xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}") _NET_WM_STATE) =~ "ABOVE" ]] && echo "remove" || echo "add"),above'

Sprawdza właściwość stanu aktywnego okna „_NET_WM_STATE” za pomocą xprops, a jeśli zawiera tekst „POWYŻEJ”, oznacza to, że opcja „zawsze na wierzchu” jest aktywna. Następnie po prostu uruchamia wmctrlpolecenie z parametrem addlub removeodpowiednio.


Podział poleceń (każde polecenie jest wstawiane do następnego, zastępując symbol zastępczy):

  • Uzyskaj identyfikator aktywnego okna:

    xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}"
    
  • Uzyskaj stan okna xpropza pomocą identyfikatora:

    xprop -id $(■) _NET_WM_STATE
    
  • Sprawdź, czy stan zawiera „POWYŻEJ”, co wskazuje, że okno jest ustawione na „zawsze na wierzchu”:

    [[ $(■) =~ "ABOVE" ]]
    
  • Zwróć „usuń”, jeśli to prawda, w przeciwnym razie zwróć „dodaj”:

    ■ && echo "remove" || echo "add"
    
  • uruchom wmctrlpolecenie, używając zwróconej wartości jako parametru:

    wmctrl -r :ACTIVE: -b $(■),above
    
  • Wyślij wszystko bash, abyś mógł użyć podstawiania poleceń ${ ... }, oceny logicznej bash [[ ... ]]i operatora dopasowania wyrażenia regularnego =~:

    bash -c '■'
    

    W szczególności ten ostatni krok zajął mi bardzo dużo czasu. Dopóki nie zdałem sobie sprawy, że skróty klawiaturowe domyślnie nie działały w trybie bash, nie miałem pojęcia, dlaczego polecenia działały w konsoli, ponieważ je testowałem, ale po cichu zawiodły, gdy działały bezpośrednio jako skrót klawiaturowy. Przez wieki doprowadzał mnie do szału!

Uwaga: ponieważ potrzebujesz cytatów wokół polecenia, które wysyłasz do basha, musiałem być ostrożny przy pisaniu polecenia, że ​​nigdy nie poszedłem głębiej niż o jeden poziom więcej (używając podwójnych cudzysłowów). Każde dalsze zagnieżdżanie ciągów w cudzysłowach wymagałoby wielu mylących ukośników odwrotnych, aby uniknąć cudzysłowów.


0

Być może jest już za późno, ale jeśli ktoś ponownie go poszuka i przyjdzie tutaj, istnieje, jak dla mnie, prostsze rozwiązanie:

W Ubuntu i wielu innych dystrybucjach korzystających z GTK (w większości korzystają one z panelu ustawień), możesz przejść do Ustawienia -> Klawiatura> Skrót. Na „liście” skrótu znajdziesz nieprzypisany wpis, aby okna były na wierzchu. Nie jestem pewien nazwy w języku angielskim, ale w języku francuskim to „Activer / Désactiver la mise au premier plan de la fenêtre”.

Ustaw i to wszystko :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.