Хочу поделиться некоторыми идеями по юзабилити wm'ов. Далее много букв. Если такое уже где-то есть - пишем «слоупок» :) Навеяно непродолжительным пока ещё использованием awesome.
Итак, хочется такую штуку: графический помощник размещения окон на рабочих столах. Пусть у нас есть набор приложений, допустим это будет IDE и 2 терминала для чтению логов. Задача - скомпоновать их на экране так чтоб IDE занимал 70% по горизонтали, а терминалы оставшиеся 30%, но чтоб один на другим и с соотношением 40/60 по вертикали. Я понимаю, что политикой тайлинга и хоткеями изменения размера такое можно сделать, но это неудобно. Хочется «разметку» рабочего стола делать в графическом режиме. То есть чтобы открывалось окошко с моделью рабочего стола и была возможность этот рабочий стол разбивать на секции, изменять размер секций, и, самое главное, назначать приложения секциям.
Попытаюсь словами описать «механику» работы. Нажали хоткей, появилось окно, в нём схематично изображён рабочий стол (как экраны в arandr). Щёлкнули по нему правой кнопкой - появилась менюшка «разбить по горизонтали», «разбить по вертикали», выбрали первый пункт - рабочий стол разделился на 2 секции со слайдером. Подвинули слайдер, теперь у нас секции нужного размера, дальше проделали разделение правой секции на 2 вертикальные, слайдером между ними изменили размер. Макет размещения готов, можно переходить к размещению приложений по секциям. Банальным драг-н-дропом или выбором из меню, не важно. Нажали «ОК», окна разместились согласно макету.
И тут ещё одна светлая мысль. Новые окна, которые открываются на рабочем столе с активным пресетом, должны оставаться плавающими.
Ну и соответственно сохранение/загрузка пресетов.
Если я правильно понимаю механизмы работы wm'ов, такой внешний помощник сможет работать со всеми нетайловыми wm'ами и с тайловыми с допущениями.
Если такое можно реализовать в awesome хотя бы без графической части, то есть только пресеты размещения фиксированного количества окон, привязки и политику для новых окон, маякните. Вот.