我想编写一个脚本来操作计算机上的 Linux 工作区。我正在寻找与 EWMH/NetWM 兼容的 X 窗口管理器的兼容性。我目前使用wmctrl
脚本将现有编辑器窗口移动到所需的工作区。
现在我希望能够获得当前工作区的列表,以便我可以与我想要的工作区进行比较,并能够根据需要移动、添加或删除工作区——并且使用脚本而不是 GUI 工具或键盘命令。
我尝试过各种搜索术语,但我似乎能找到最适用于 Mac 操作系统的搜索术语,即使用未维护的程序。
答案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
等。
关于工作区创建和删除,我不知道影响特定工作区的方法,例如专门在两个现有工作区之间创建工作区。但是,可以使用 更改工作区的数量xdotool
。例如,如果您当前有五个工作区,则可以使用命令添加两个工作区xdotool set_num_desktops 7
,其中两个新工作区将添加到列表末尾。同样,设置一个小于现有工作空间数量的数字将从列表末尾删除工作空间。