Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-11-02

Расстановка окон

Возможно это и невероятно, но я утомился каждый раз при старте компа (раз в день :) окна растаскивать по экрану. Подумалось мне «не может такого быть, чтобы не было какого решения для автоматического размещения окон по десктопу». Уж где-где а в Linux наверняка есть. Ленивый поиск привел меня сначала к x.org в результате чего я нарисовал запуск окна терминала (нужного размера в нужном месте):
$ gnome-terminal --geometry 140x35+0-0

А потом я попал к live.gnome.org/DevilsPie (foosel.org/linux/devilspie) где понял — вот оно!
# aptitude install gdevilspie

Гуевая утилита дает мышой насоздавать правил для нужных окон. Но для сложных правил лучше ей не пользоваться, лучше в консоли запускать
$ devilspie

и писать скрипты руками. Ибо гуй - штука страшной силы, написал кривое правило и тут же улетели все окна, на экране только обои остались. 600. Будьте осторожны! Приведу пример двух скриптов.
~/.devilspie/dbg.ds
( debug )
Это был скрипт, выводящий на консоль инфу о каждом открытом окне. Помогает понять, что писать в более нужных скриптах, например
~/.devilspie/pidgin.ds
( if
( and
( contains ( window_class ) "Pidgin" )
( contains ( application_name ) "Pidgin" )
( not ( contains ( window_name ) "Buddy List" ) )
)
( begin
( geometry "680x713+1240+25" )
( println "match pidgin" )
)
)
Это был скрипт, размещающий окно чата, но не ростера Пиджина. Как раз в процессе написания этого скрипта у меня ушли окна в гиперпространство (видимо, потому как гуевая утилита не дает обьединить правила через AND).

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)