我需要一個在 Linux 上的命令(我的視窗管理器是 Fluxbox),它將當前工作區作為輸出(如果可能的話,一個簡單的輸出,因為我需要這個資訊用於 Python 腳本)。
我檢查了fluxbox的man(手冊),它提供的資訊很少,當在線搜索時,它只解釋瞭如何在另一個視窗管理器上執行此操作。
答案1
fluxbox
是歐洲WMH相容的視窗管理器,這意味著我們可以使用諸如wmctrl
與之互動的工具。若要尋找目前工作區:
$ wmctrl -d | grep '*' | cut -d ' ' -f1
man wmctrl
說:
-d 列出視窗管理器管理的所有桌面。 (...) 第二列包含一個「*」字元表示目前桌面,否則包含一個「-」字符
編輯:我剛剛檢查過您可以將工作區命名為單一*
.在這種情況下,上述命令將傳回兩個結果。使用awk
:
$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}'
答案2
@arkadiusz-drabczyk 的捷徑正在使用此代碼
$ wmctrl -d | awk '$2=="*"'
awk解釋:
'$2=="*"'
, awk 會看到這個模式- print 是 awk 的預設操作,它就像
{print $0}
,所以不需要寫它,除非你想列印特定的參數,例如第一個單字$1
有關此連結中模式的更多詳細資訊:https://www.gnu.org/software/gawk/manual/gawk.html#Pattern-Overview