devilspie - управление состоянием окон
Автор: bicyclist56
Опубликовано: 4444 дня назад (27 февраля 2012)
Рубрика: Жизнь с Иванной продолжается!
Редактировалось: 8 раз — последний 28 февраля 2012
|
0 Голосов: 0 |
Нашел решение, как можно при запуске ОС иметь окно моего будильника на всех рабочих местах, да еще и свернутым в заголовок! И для всех программ можно задавать состояние окон.
Устанавливаем http://debian.nctu.edu.tw/debian/pool/main/d/devilspie/devilspie_0.22-2_i386.deb
Ссылки:
http://www.foosel.org/linux/devilspie
http://help.ubuntu.ru/wiki/devilspie
http://lazysketches.blogspot.com/feeds/posts/default
архив /usr/share/man/man1/devilspie.1.gz
Создаем каталог /root/.devilspie - а в нем для конкретной программы отдельный файл с расширением .ds, в котором содержатся правила поведения окна.
Проверяем в терминале: devilspie
Далее, в /etc/rc.d/rc.local для автозапуска демона devilspie при старте ОС добавляем строку:
devilspie &
Команда в терминале xprop позволит указать нужное окно мышью и выдаст о нем много информации.
Кроме того, можно установить
http://archive.ubuntu.com/ubuntu/pool/universe/w/wmctrl/wmctrl_1.07-6_i386.deb - это еще одна возможность расширенно управлять окнами, раб.столами и т.д.
У меня запуск программ и их размещение теперь организованы с помощью скриптов в Startup.
start-conky :
conky
start-opera :
sleep 7
opera
#(время задержки подобрать в зависимости от вашего соединения)
start-notecase :
sleep 9
notecase
start-waker :
sleep 8
cd /root/MyApps/Waker
exec /root/MyApps/Waker/project1
start-ntupdate :
sleep 10
ntpdate ntp.ubuntu.com
aplay /root/Media/Sounds/Sqeak.wav
devilspie
#(сверка времени, звук.сигнал, выполнение правил для окон)
В /root/.devilspie заданы следующие правила:
notecase.ds :
(if
(is (application_name) "notecase")
(begin
(set_workspace 2)
)
)
#(если имя программы - notecase, то отправить ее окно на 2-й раб.стол)
project1.ds :
(if
(is (application_name) "project1")
(begin
(pin)
(shade)
)
)
#(если имя программы - project1, то сделать окно видимым на всех раб.столах и свернутым в заголовок)
deadbeef.ds :
(if
(is (application_name) "deadbeef")
(begin
(minimize)
)
)
#(если имя программы - deadbeef, то опустить окно)
и т.д.
Таким образом, можно заранее спланировать размещение окон многих программ, на каком раб.месте будут появляться при запуске программы, в каком виде. Потом можно перетаскивать на другое место, конечно, но если выполнить (сделал кнопочку запуска) команду devilspie, то все окна немедленно разбегаются по своим штатным местам, и в нужном виде!
Устанавливаем http://debian.nctu.edu.tw/debian/pool/main/d/devilspie/devilspie_0.22-2_i386.deb
Ссылки:
http://www.foosel.org/linux/devilspie
http://help.ubuntu.ru/wiki/devilspie
http://lazysketches.blogspot.com/feeds/posts/default
архив /usr/share/man/man1/devilspie.1.gz
Создаем каталог /root/.devilspie - а в нем для конкретной программы отдельный файл с расширением .ds, в котором содержатся правила поведения окна.
Проверяем в терминале: devilspie
Далее, в /etc/rc.d/rc.local для автозапуска демона devilspie при старте ОС добавляем строку:
devilspie &
Команда в терминале xprop позволит указать нужное окно мышью и выдаст о нем много информации.
Кроме того, можно установить
http://archive.ubuntu.com/ubuntu/pool/universe/w/wmctrl/wmctrl_1.07-6_i386.deb - это еще одна возможность расширенно управлять окнами, раб.столами и т.д.
У меня запуск программ и их размещение теперь организованы с помощью скриптов в Startup.
start-conky :
conky
start-opera :
sleep 7
opera
#(время задержки подобрать в зависимости от вашего соединения)
start-notecase :
sleep 9
notecase
start-waker :
sleep 8
cd /root/MyApps/Waker
exec /root/MyApps/Waker/project1
start-ntupdate :
sleep 10
ntpdate ntp.ubuntu.com
aplay /root/Media/Sounds/Sqeak.wav
devilspie
#(сверка времени, звук.сигнал, выполнение правил для окон)
В /root/.devilspie заданы следующие правила:
notecase.ds :
(if
(is (application_name) "notecase")
(begin
(set_workspace 2)
)
)
#(если имя программы - notecase, то отправить ее окно на 2-й раб.стол)
project1.ds :
(if
(is (application_name) "project1")
(begin
(pin)
(shade)
)
)
#(если имя программы - project1, то сделать окно видимым на всех раб.столах и свернутым в заголовок)
deadbeef.ds :
(if
(is (application_name) "deadbeef")
(begin
(minimize)
)
)
#(если имя программы - deadbeef, то опустить окно)
и т.д.
Таким образом, можно заранее спланировать размещение окон многих программ, на каком раб.месте будут появляться при запуске программы, в каком виде. Потом можно перетаскивать на другое место, конечно, но если выполнить (сделал кнопочку запуска) команду devilspie, то все окна немедленно разбегаются по своим штатным местам, и в нужном виде!