Dzięki Marco wymyśliłem sposób użycia wmctrl
.
Ponieważ obszary robocze compiz są w rzeczywistości rzutnią pojedynczego pulpitu, więc rozwiązaniem jest przeniesienie bieżącej rzutni, aby obejmowała środkowy obszar pulpitu.
Najpierw zadzwoń, wmctrl -d
aby uzyskać informacje o bieżącym pulpicie:
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
Następnie oblicz początek środkowej rzutni:
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
I przenieś tam rzutnię:
wmctrl -o $center_viewport
wmctrl
może przełączyć rzutnię na pulpicie. Zobacz moją odpowiedź poniżej.compiz-send.py
w folderze domowym.python compiz-send.py vpswitch switch_to_5_key
aby upewnić się, że działa poprawnie. Powinno to spowodować przejście do środkowego obszaru roboczego.Jeśli to działa, utwórz plik o nazwie
.switch_to_center_workspace.sh
w folderze domowym i wklej w nim następujące elementy:zastępując
user
swoją nazwę użytkownika.Otwórz Aplikacje startowe, System -> Preferencje -> Aplikacje startowe .
Kliknij Dodaj iw polu Polecenie: wstaw pozycję
/home/user/.switch_to_center_workspace.sh
. Umieść, co chcesz, w nazwach: i Komentarze: wpisy.Wyloguj się, zaloguj ponownie i sprawdź, czy działa.
źródło
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
część skryptu na wyższą liczbę,sleep 10
aby upewnić się, że compiz już działa, gdy skrypt jest uruchomiony. Używasz Compiz, prawda?Chciałem zadać podobne pytanie, ale dla 3 poziomych obszarów roboczych i również uruchamiam compiz, a dane
wmctrl -d
wyjściowe (na obszar roboczy) wyglądają tak:0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1
Następnie po prostu użyłem
wmctrl -o 1366,0
( wartości VP ), aby ustawić centrum jako mój domyślny obszar roboczy podczas uruchamiania. Może nie dla wszystkich, ale na wszelki wypadek;)źródło
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
Krótka uwaga - używam Natty, a dzięki odpowiedzi @ 谢 继 雷 zauważyłem, że następujące informacje są zgłaszane przez przeniesienie terminala w każdym z czterech „obszarów roboczych” w Unity:
... tzn. nie są to ani oddzielne pulpity, ani przestrzenie robocze - po prostu zmienia się rzutnia!
Tak więc, aby przełączać się między tymi czterema rzutniami, wystarczy wywołać
wmctrl -o
polecenie bezpośrednio zVP
wartościami wymienionymi powyżej, tj .:EDYCJA: Ups, przepraszam, właśnie zobaczyłem, że jest to to samo, co odpowiedź @ wik - scal / usuń odpowiednio.
źródło