LINUX.ORG.RU

Помощник размещения окон

 ,


0

2

Хочу поделиться некоторыми идеями по юзабилити wm'ов. Далее много букв. Если такое уже где-то есть - пишем «слоупок» :) Навеяно непродолжительным пока ещё использованием awesome.

Итак, хочется такую штуку: графический помощник размещения окон на рабочих столах. Пусть у нас есть набор приложений, допустим это будет IDE и 2 терминала для чтению логов. Задача - скомпоновать их на экране так чтоб IDE занимал 70% по горизонтали, а терминалы оставшиеся 30%, но чтоб один на другим и с соотношением 40/60 по вертикали. Я понимаю, что политикой тайлинга и хоткеями изменения размера такое можно сделать, но это неудобно. Хочется «разметку» рабочего стола делать в графическом режиме. То есть чтобы открывалось окошко с моделью рабочего стола и была возможность этот рабочий стол разбивать на секции, изменять размер секций, и, самое главное, назначать приложения секциям.

Попытаюсь словами описать «механику» работы. Нажали хоткей, появилось окно, в нём схематично изображён рабочий стол (как экраны в arandr). Щёлкнули по нему правой кнопкой - появилась менюшка «разбить по горизонтали», «разбить по вертикали», выбрали первый пункт - рабочий стол разделился на 2 секции со слайдером. Подвинули слайдер, теперь у нас секции нужного размера, дальше проделали разделение правой секции на 2 вертикальные, слайдером между ними изменили размер. Макет размещения готов, можно переходить к размещению приложений по секциям. Банальным драг-н-дропом или выбором из меню, не важно. Нажали «ОК», окна разместились согласно макету.

И тут ещё одна светлая мысль. Новые окна, которые открываются на рабочем столе с активным пресетом, должны оставаться плавающими.

Ну и соответственно сохранение/загрузка пресетов.

Если я правильно понимаю механизмы работы wm'ов, такой внешний помощник сможет работать со всеми нетайловыми wm'ами и с тайловыми с допущениями.

Если такое можно реализовать в awesome хотя бы без графической части, то есть только пресеты размещения фиксированного количества окон, привязки и политику для новых окон, маякните. Вот.

★★★

fluxbox может автоматически (из меню окна) запоминать некоторые параметры окон.

AITap ★★★★★ ()

ЕМНИП в plan9 при запуске программы нужно мышкой указать местоположение и размер окна.

winlook38 ★★ ()

в awesome и subtle такое возможно, но нужно заранее, да, в текстовом режиме править конфиги и результат будет статичен. Такого инструмента («старший менеджер окон») не встречал.

science ★★☆ ()

Самое упоротое размещение окон в dwm. В самом конфиге легко расписываются группы, только каким образом оно тэги определяет, я так и не понял. Ну и с awesome пришлось самому додумывают, потому что нагуглилась какая-то ерунда.

olibjerd ★★★★★ ()

но это неудобно

Вот здесь ошибка. Лично мне в xmonad очень удобно.

pi11 ★★★★★ ()

В awesome можно добавить в rc.lua, например, следующее:

awful.tag.setproperty(tags[1][4], "mwfact", 0.7)
В этом случае главное окно на 4-ом теге 1-го экрана будет занимать 70% (по умолчанию 50%). Помимо mwfact можно задать nmaster - это количество главных окон, ncol - это количество колонок. Как изменить размер неглавных окон я не знаю, и, скорее всего, это невозможно без правки библиотек.

В дефолтном конфиге, конечно, есть горячии клавиши для постепенного изменения этих значений. Но можно добавить свои значения в конфиг, что бы они были по умолчанию для конкретных тегов или для всех тегов. Вообще, почитай документацию по awesome API, там много чего интересного. Вот например по тегам http://awesome.naquadah.org/doc/api/modules/awful.tag.html

serkhay ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.