Есть ли способ определить текущее рабочее пространство в командной строке в Linux?

719
Tails

Мне нужна команда на linux (мой оконный менеджер - fluxbox), который выдает текущее рабочее пространство в качестве вывода (если возможно, простой вывод, так как мне нужна эта информация для скрипта на python).

Я проверил man Fluxbox (руководство), и он дает мало информации, и при поиске этого онлайн, он только объяснил, как это сделать в другом оконном менеджере.

2
что именно вы подразумеваете под этим? Понравилось полное доменное имя? `hostname` выведет имя фактического компьютера, или вы имеете в виду, например, 4 пробела, какой из 4 вы будете использовать? Matt Clark 8 лет назад 1
Нет, я имел в виду, что мне нужна команда, которая дает мне номер текущего рабочего пространства, в котором я нахожусь, метод Аркадия Драбчика сработал, я просто не знал команду wmctrl. Tails 8 лет назад 0

1 ответ на вопрос

2
Arkadiusz Drabczyk

fluxboxявляется оконным менеджером, совместимым с EWMH, и это означает, что мы можем использовать такие инструменты, как wmctrlвзаимодействие с ним. Чтобы найти текущее рабочее пространство:

$ wmctrl -d | grep '*' | cut -d ' ' -f1 

man wmctrl говорит:

-d Вывести список всех рабочих столов, управляемых оконным менеджером. (...) Второй столбец содержит символ «*» для текущего рабочего стола, в противном случае он содержит символ «-»

РЕДАКТИРОВАТЬ : Я только что проверил, что вы можете назвать рабочую область одной *. В этом случае приведенная выше команда выдаст два результата. Используйте awk:

$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}' 
Спасибо, Аркадиуш, я не знал команду 'wmctrl'. Таким образом, чтобы получить текущее рабочее пространство на fluxbox, вы можете использовать: ** wmctrl -d | awk '' ** Tails 8 лет назад 0

Похожие вопросы