Мне интересно, как я могу получить такую информацию, как размеры моего рабочего стола, какой рабочий стол в данный момент активен и какие метки (если таковые имеются) установлены для моей среды рабочего стола (DE).
решение1
Используя этот инструмент, wmctrl
вы можете получить всю вышеуказанную информацию, в частности, о -d
переключателе.
Пример
$ wmctrl -d
0 * DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 Workspace 1
1 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826
2 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
3 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
Подробности
Для каждого рабочего стола выводится одна строка, при этом строка разбивается на столбцы, разделенные пробелами.
- Первый столбец содержит целое число номера рабочего стола.
- Второй столбец содержит символ «*» для текущего рабочего стола, в противном случае он содержит символ «-».
- Следующие два столбца содержат фиксированную строку DG:, а затем геометрию рабочего стола как «x» (например, «1280x1024»).
- Следующие два столбца содержат фиксированную строку VP:, а затем позицию области просмотра в формате ',' (например, '0,0').
- Следующие три столбца содержат фиксированную строку WA:, а затем два столбца с геометрией рабочей области в формате «X,Y и WxH» (например, «0,0 1280x998»).
- Оставшаяся часть строки содержит имя рабочего стола (возможно, содержащее несколько пробелов).
Еще несколько интересных вещей, которые можно сделать с помощью wmctrl
список информации о диспетчере окон
$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF
список активных окон
$ wmctrl -l
0x00c00028 -1 grinchy Top Expanded Edge Panel
0x0120001e 0 grinchy x-nautilus-desktop
0x06015fee 0 grinchy saml@grinchy:~
0x06000004 0 grinchy saml@grinchy:~
0x05a000d1 0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
Для каждого окна выводится одна строка, при этом строка разбивается на столбцы, разделенные пробелами.
- Первый столбец всегда содержит идентификатор окна в виде шестнадцатеричного целого числа.
- Второй столбец всегда содержит номер рабочего стола (-1 используется для обозначения закрепленного окна).
- Если
-p
опция указана, следующий столбец будет содержать PID окна в виде десятичного целого числа. - Если
-G
опция указана, то последуют четыре целочисленных столбца: смещение по оси x, смещение по оси y, ширина и высота. - Следующий столбец всегда содержит имя клиентской машины.
- Оставшаяся часть строки содержит заголовок окна (возможно, с несколькими пробелами в заголовке).
-p
пример переключения
0x06015fee 0 3278 grinchy saml@grinchy:~
0x06000004 0 3278 grinchy saml@grinchy:~
0x05a000d1 0 4676 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
-G
пример переключения
0x06015fee 0 3378 128 941 361 grinchy saml@grinchy:~
0x06000004 0 900 142 947 397 grinchy saml@grinchy:~
0x05a000d1 0 0 50 1440 826 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
*ПРИМЕЧАНИЕ:Переключатели -p
и -G
также можно комбинировать!
переключение на другой рабочий стол
$ wmctrl -s 2
ПРИМЕЧАНИЕ:Нумерация рабочих столов начинается с 0, поэтому 1 будет вторым.
уменьшить количество рабочих столов
$ wmctrl -n 3
Теперь их 3 вместо 4.
$ wmctrl -d | wc -l
3
Теперь верните значение 4.
$ wmctrl -n 4
$ wmctrl -d | wc -l
4
Закрытие окна
$ wmctrl -l | grep GVIM
0x02a00003 0 grinchy [No Name] - GVIM
$ wmctrl -c GVIM
$ wmctrl -l | grep GVIM
$