
私のコンピュータでLinuxワークスペースを操作するスクリプトを書くのが好きです。 EWMH/NetWM互換Xウィンドウマネージャとの互換性を探しています。現在、wmctrl
既存のエディタウィンドウを目的のワークスペースに移動するスクリプトを使用しています。
現在のワークスペースのリストを取得し、必要なワークスペースと比較し、必要に応じてワークスペースを移動、追加、または削除し、GUIツールやキーボードコマンドの代わりにスクリプトを使用できるようにしたいと思います。
いろいろな検索語を探してみましたが、管理されていないプログラムを使っているMac OSに最適な検索語を見つけることができたようです。
答え1
wmctrl
現在のワークスペースを表す出力文字-d
とともに現在のワークスペースのリストを取得するには、このオプションを使用します。*
たとえば、私のXfceシステムでは:
[David@Fedora64 ~]$ wmctrl -d
0 * DG: 1920x1080 VP: 0,0 WA: 0,24 1920x1032 Workspace 1
1 - DG: 1920x1080 VP: N/A WA: 0,24 1920x1032 Workspace 2
2 - DG: 1920x1080 VP: N/A WA: 0,24 1920x1032 Espacio de Trabajo 3
3 - DG: 1920x1080 VP: N/A WA: 0,24 1920x1032 Workspace 4
4 - DG: 1920x1080 VP: N/A WA: 0,24 1920x1032 Arbeitsplatz 5
5 - DG: 1920x1080 VP: N/A WA: 0,24 1920x1032 Workspace 6
sed
ここでは、ワークスペース名のリストなど、関心のある項目を解析できます。
ワークスペースの作成と削除に関して、既存の2つのワークスペース間に具体的にワークスペースを作成するなど、特定のワークスペースに影響を与える方法がわかりません。ただし、ワークスペースの数は変更可能ですxdotool
。たとえば、現在5つのワークスペースがある場合は、コマンドを使用して2つのワークスペースを追加できますxdotool set_num_desktops 7
。これにより、2つの新しいワークスペースがリストの最後に追加されます。同様に、既存のワークスペースの数より少ない数を設定すると、リストの末尾からワークスペースが削除されます。