我怎样才能将一个工作区中的所有窗口移动到另一个工作区(一次性移动)?从 gnome-panel 小程序(工作区切换器)似乎无法做到这一点。
另外,可以教我如何为 ubuntu 编写此软件(如 xp 的任务栏随机播放)吗?我猜它是用 c/c++ 编写的?
答案1
命令wmctrl
可以在工作区之间移动单个窗口。您可以编写一个脚本(在bash
、perl
等中),解析其列表(wmctrl -l
),然后将一个工作区上的所有窗口移动到另一个工作区。其输出非常规则,例如
$ wmctrl -l
0x01a00019 -1 chef xfce4-panel
0x0300001a -1 chef x-nautilus-desktop
0x04e467f8 0 chef Edit - Super User - Google Chrome
0x05600003 2 chef swedish@chef: ~
0x056002ce 1 chef swedish@chef: ~
0x05603304 0 chef swedish@chef: ~
第一列是窗口 ID(您提供给其他命令);第二列是基于 0 的工作区编号。
wmctrl
可通过以下方式获得同名的 ubuntu 软件包。
您甚至可以编写一个包装脚本,它采用一个方向(上、下、左、右)并将所有窗口从当前工作区移动到该方向的工作区,然后将其绑定到类似Win- Shift-{arrow} 的内容。
答案2
您可以逐个右键单击要移动的窗口,然后选择“移动到另一个工作区”。或者,如果您喜欢使用键盘快捷键,Shift+ Ctrl + Alt + Left/Right Arrow
。
(看来您想用一个命令移动所有窗口。我不知道该怎么做,只能一个窗口一个窗口地移动)