Задача: Ubuntu Precise, Compiz Wall, несколько приложений в автостарте и желание не раскидывать их по рабочим столам вручную каждый раз при логине.
Решение найдет только очень внимательный, что и стало причиной для поста. Оказалось, что задачу можно решить силами самого compiz`a без каких-либо ухищрений. Все что нужно, это плагин "Place Windows", который есть в поставке по умолчанию.
На второй вкладке есть три секции, нам нужна последняя - "windows with fixed viewport". Задаем идентификатор, лучше всего самый общий - class, окна/приложения, и координаты рабочего стола вида (x, y):
Попутно можно зафиксировать другие свойства окон - положение и режим размещения (на нетбуке с небольшим экраном самое актуальное - развернуть на весь экран). При задании идентификатора есть пикер, так что можно просто ткнуть в интересующее вас приложение. Также доступны логические операции над фильтром (and/or/not).
Теперь при открытии любого окна, подпадающего под фильтры, оно будет размещаться в соответствии с указанными правилами.
P.S. Если вы все таки еще на Gnome то у вас сработает такая приблуда, как DevilsPie2:
- Установим её:
1sudo apt - get install devilspie2 & amp ; & amp ; mkdir ~ / .config / devilspie2 & amp ; & amp ; cd ~ / .config / devilspie2 & amp ; & amp ; touch . / rules .lua & amp ; & amp ; nano . / rules .lua - Для каждого окна задайте правило вида, где "3" - абсолютный номер рабочего стола:
123if ( get_window_name ( ) == "Calculator" ) thenset_window_workspace ( 3 )end - Затем:
1devilspie2 & amp ; - Если все ок - можно поставить его в автозагрузку
Что бы узнать windows/application name поместите в скрипт следующие правила:
1
2
|
debug_print
(
"Window Name: "
.
.
get_window_name
(
)
)
;
debug_print
(
"Application name: "
.
.
get_application_name
(
)
)
|
И запустите в отладочном режиме:
1
|
devilspie2
-
d
|