Ubuntu 9.10/Compiz подкачки окон на рабочих пространствах (например, перестановка на панели задач для рабочих пространств)
Как я могу переместить все окна из одного рабочего пространства в другое рабочее пространство (все сразу)? Это кажется невозможным из апплета панели gnome (переключатель рабочего пространства).
Отдельно, можете ли я начать писать этот софт (например, shuffle панели задач для xp) для Ubuntu? Я предполагаю, что это написано на C / C++?
2 ответа
Команда 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}.
Один за другим вы можете щелкнуть правой кнопкой мыши по окнам, которые вы хотите переместить, и выбрать "Переместить в другое рабочее пространство". Или, если вы поклонник сочетания клавиш, Shift+ Ctrl + Alt + Left/Right Arrow
,
Другие сочетания клавиш тоже хороший вариант.
(Он видит, что вы хотите переместить ВСЕ окна одной командой. Я не знаю, как это сделать, только окна за окном)