ion3 — каркас для создания оконных менеджеров, в прошлом — исследовательский проект. Ядро программы написано на C, а поведение самого WM задаётся скриптами на lua. «Из коробки» сам ion3 представляет собой «мозаичный» (хотя скорее — фреймовый) оконный менеджер с множеством функций. В пакет с ion3, как правило, входит ещё один оконный менеджер — pwm (как демонстрация того, что можно сотворить на ядре ion3).
Хочу обратить внимание на возможность, которой достаточно нечасто пользуются ионщики. В основном потому, что документацию не читают (:
Это плавающее разбиение. Используется для тех окон, которые не должны быть всегда на виду. В моём случае это Transmission. Когда я переключаюсь на него, он показывается в правой части экрана. При потере фокуса прячется обратно. Так можно поступить с ростером, например, или с терминалом. Gimp выглядит так (1.7Mb): http://omploader.org/vMXN5dw/scr1.png, тут в плавающую часть убрана панель инструменов. Хотя можно было сделать её float (как диалоги) и убирать по Tab'у (это стандартная возможность Gimp).
Кроме плавающего разбиения используются знакомые всем scratchpad'ы. Рабочих стола у меня четыре. Можно было всё свести в один, но незачем, поскольку переключаюсь на нужные приложения с помощью горячих клавиш. Причём, если программа не запущена, она запускается. Если запущена в sctratchpad'е — появляется/прячется.
Вот таким, по-моему, должен быть оконный менеджер — минимум усилий от пользователя при порядке на рабочем столе. (:
>>> Просмотр (1440x900, 139 Kb)