Команда 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: ~
Первый столбец - это идентификатор окна (который вы предоставляете другим командам); второй столбец - номер рабочего пространства на основе 0.
wmctrl
доступен через одноименный пакет Ubuntu.
Вы даже можете написать скрипт-обертку, который принимает направление (вверх, вниз, влево, вправо) и перемещает все окна из текущего рабочего пространства в одно в этом направлении, а затем связывает его с чем-то вроде Win - Shift - {arrow}.