Czy jest jakiś sposób, aby skrypt bash sprawdził nazwę bieżącego obszaru roboczego (pulpit wirtualny)?
Wydaje się to bardzo przydatne w przypadku dostosowywania zachowań w moim pliku .bashrc na podstawie pulpitu, na którym utworzono powłokę.
Czy jest jakiś sposób, aby skrypt bash sprawdził nazwę bieżącego obszaru roboczego (pulpit wirtualny)?
Wydaje się to bardzo przydatne w przypadku dostosowywania zachowań w moim pliku .bashrc na podstawie pulpitu, na którym utworzono powłokę.
wmctrl -d | grep '*' | sed 's/.* //g'
Odpowiedzi:
Możesz to zrobić,
wmctrl -d
aby wyświetlić listę wszystkich obszarów roboczych.*
Reprezentuje bieżący obszar roboczy:Aby uzyskać tylko bieżący, grep dla
*
:Mam nadzieję że to pomoże!
źródło
wmctrl -d
wmctrl -d
.Rzutnie w Unity
Jeśli używasz Unity , bieżącej rzutni nie można pobrać bezpośrednio z
ponieważ Unity ma rzutnie, które nie są wykrywane bezpośrednio przez
wmctrl -d
. Dane wyjściowe pokażą tylko jeden obszar roboczy:xrandr
)5040x2100
. To znaczy rzutnie 3x2: 5040/1680 = 3 i 2100/1050 = 2.1680,1050
(x, y)Poniższy skrypt oblicza bieżącą rzutnię na podstawie tych informacji:
Używać:
zainstalować
wmctrl
Uruchom go za pomocą polecenia
Wygeneruje 1, 2, 3 lub cokolwiek w bieżącej rzutni. Automatycznie zlicza wiersze / kolumny, które może zawierać konfiguracja rzutni.
Wyjaśnienie
Scenariusz
xrandr
, w tym możliwych dodatkowych monitorów.źródło
Przynajmniej w powłoce Gnome, ale prawdopodobnie także w innych WM, możesz zapytać Xserver bezpośrednio (jeśli w Wayland, nie masz pojęcia).
Zasadniczo polecenie
xprop
powrócia następnie możesz trochę masować informacje, aby uzyskać to, czego potrzebujesz.
źródło
_NET_DESKTOP_NAMES
.