2010-01-04 15 views
18

Czy jest polecenie, aby powiedzieć compiz, które chcemy wprowadzić z przodu i ustawić fokus na określone okno? Jak powinniśmy zidentyfikować okno w tym poleceniu?Jak programowo przejść do określonego okna w Compiz?

powodem za to pytanie jest następujące use-case:

Załóżmy, że mamy wiki zachować nuty czegokolwiek ciekawego się dowiedzieć. Byłoby to bardzo wygodne mieć skrót klawiaturowy do wniesienia okno przeglądarki z naszej strony Wiki z przodu i zacząć pisać od razu potem z inną kombinację klawiszy przełącznika do wniosku, że pracowali przed

wiem, że ALT + TAB przełącza między dwoma ostatnio używanymi oknami, ale nie obsługuje bardziej złożonych kombinacji aplikacji. Np Browser + Eclipse + Wiki

Jeśli istnieje komenda jak ten opisany, to łatwo dodać skrót do niego z interfejsem KDE lub GNOME

+0

mógłbyś dodać tag [] menedżerów okienne na to pytanie. Dzięki. – SmileAndNod

Odpowiedz

20

To, czego szukasz, to: wmctrl. Na przykład dodać skrót klawiaturowy, aby wywołać polecenie jak

wmctrl -Fa 'Wiki - Google Chrome' 

podnieść i aktywować okno z tego tytułu.

Istnieją różne sposoby wyboru okna według tytułu, identyfikatora itp. Patrz: man wmctrl. Lista okien można uzyskać uruchomiony

$ wmctrl -l 

nie próbowałem go z Compiz ale wmctrl powinien działać na każdym EWMH zgodnej menedżera okien.

+0

Uratowałeś mnie mnóstwo czasu, dzięki! – dhackner

+0

To nie działa dla mnie. nie pewny dlaczego. – dave1010

+1

Po prostu sidenote: opcja wmctrl -F sprawia, że ​​szuka dokładnego dopasowania w tytule okna. W przeciwnym razie, wystarczy wyszukiwanie podłańcuchowe (które może lepiej pasować do niektórych celów). – rburny

1

znalazłem this web page który ma przykładowy program źródłowy można skompilować że wezmę przynieść okno X na przód.

Kluczem jest funkcja X11 XRaiseWindow.

Wyobrażam sobie, że byłoby całkiem łatwo napisać mały program i napisać skrypt otoki lub po prostu uczynić sam program solidnym, a następnie ustawić Compiz, aby dołączyć to do globalnego skrótu klawiaturowego.

2

Będziesz chciał wysłać wiadomość klienta klienta do okna głównego. Spowoduje to ostrzeżenie dowolnego zgodnego menedżera okien (w tym Compiz), który chcesz aktywować w określonym oknie.

Zobacz EWMH spec, w szczególności section on _NET_ACTIVE_WINDOW.

Należy zauważyć, że w zależności od konfiguracji menedżera okien, może on odmówić spełnienia żądania lub dać użytkownikowi możliwość zignorowania go.

4

ten pracował dla mnie z Compiza:

xdotool windowactivate `xdotool search --onlyvisible --class firefox` 
+0

Pracowałem dla mnie właśnie teraz, pod Ubuntu 12.04 z Unity, podczas gdy wmctrl nie. Dzięki! –

+0

Nie potrzebujesz dwóch oddzielnych poleceń xdotool; możesz użyć% 1, aby odwołać się do pierwszego wyniku wyszukiwania, lub% @, aby odnieść się do wszystkich: xdotool search --onlyvisible - class firefox windowactivate% @ –

0

Wtyczka Widget mógł robić to, co można opisać.

  • Skonfiguruj wtyczkę Widget, aby oznaczyć wybrane okna jako widżety (np. Dopasowując tytuł lub rolę okna).
  • Skonfiguruj wtyczkę Window Rules, aby okna widgetów były obecne na wszystkich obszarach roboczych (przyklejone) i pomijaj pasek zadań.

Zobacz http://wiki.compiz.org/Plugins/Widget

Powiązane problemy