karlicos 30.05.2010 16:08
Есть вопрос! — [РЕШЕНО] Запуск приложения на определенном рабочем столе
Привык я так что на одном столе - браузер, на другом - vim, на третьем - mc и т.д. Есть ли какая-то команда для запуска приложения именно на определенном виртуальном десктопе?Решение - devilspie.
Собственно, устанавливаем.
sudo aptitude install devilspie, ну или как там у вас в вашем менеджере пакетов ;)
Видимо, официальный сайт
Еще немного на русском:
http://inf.by/linux/247
http://lazysketches.blogspot.com/2009/01/blog-post.html
Рассмотрим на примере teamviewer(подставь свое приложение :) ). Мы хотим чтобы он запускался к примеру, на третьем виртуальном рабочем столе(viewport).
Запускаем devilspie в терминале.
Потом запускаем teamviewer и посмотреть что в терминале devilspie по этому поводу написал. К примеру, Application Name: "teamviewer".
Заходим(или создаем) в папочку ~/.devilspie/
Создаем файлик teamviewer.ds (имя неважно, главное чтоб .ds).
В него пишем примерно это:
1 |
|
Скобочки все обязательны, количество открывающих равно количеству закрывающих, а написать, в принципе, можно и в строчку. (set_viewport 3) говорит нам что надо запускать на третьем столе. (maximize) - что на весть экран.
Сохраняем, убиваем devilspie и запускаем снова.
Чтобы все это при автозагрузке делалось можно скриптик написать
1 |
#!/bin/bash
|
Ну и добавляем скрипту права на выполнение и в автозагрузку его) Вроде все)
Весь остальной синтаксис можно почитать по ссылкам выше.
dicson 30.05.2010 16:11 #
+ 8 -
Вам сюда
не ругайте меня, но не вижу смысла. если у тебя несколько рабочих столов(я сам так не могу, так как потом программы путаються на всех столах и я путаюсь), то я понимаю что у тебя порядок и много места (так как на каждом столе своя программа), то почему просто не закрывать программы. и если же ты открываешь программу, ты хочешь ее использовать, а используешь ты ее на определенном столе, значит ты на этом столе уже будешь находиться. хотя будет полезно для автостарта программ, если хочешь раскидать их на свое усмотрение
Ну не ровняй всех по себе. я тоже привык, что у меня основные проги по своим рабочим столам раскиданы - плеер на одном, почтовик - на другом, ИМ - на третьем и т.д. это удобней, имхо, чем тыкать Alt+Tab. И я не собираюсь юзать только что-то одно, аля DOS.
вы попутали. я не против нескольких столов, я за(просто у меня не получиться держать порядок). я не вижу смысла открывать программу на со стола X, чтобы она открылась на столе Y. то есть если я хочу программу ляфуфу на столе 3, и она мне нужна в данный момент, то скорее всего я уже буду на 3ем столе, или имеет смысл открыть ее на втором и потом перейти на первый(так как надо ляфуфуфу, а она там). так что опять, я не против нескольких столов, и чтоб определенные программы были на определенном столе(стоит даже назвать не 1, 2 и т.д., а www, code и соответствено требованию), а не понимаю смысл, чтоб программа открывалась автоматом на определенном столе. так как, повторюсь, открыв ее, ты хочешь с ней работать и на этот стол все равно пойдешь.
аа, про это. Я это при автостарте делаю, потому что, например, плеер, он всегда запущен, а самому его запускать - время тратить, mc - тоже надо самому запускать. В общем, тупо небольшая, но экономия времени)
ну а теперь перепрочитай мой коммент выше. там как раз это и сказал, а в конце добавил, ну есть только для автостарта. специально пытался объяснить как можно более понятнее, что имею ввиду =)
Я тоже раньше не понимал, в чем смысл) но потом понял, что mc, например, у меня открыт 95% времени, создал второй рабочий стол и работал в mc на нем. Потом понял, что мне постоянно нужна консоль питона, ну и т.д) Сейчас пока 4 стола, вроде хватает. Просто если Alt-Tab жать, то окна иногда путаются, и приходится заново искать их. А тут в браузере - документация, например, а на втором десктопе - vin, и быстро переключаться можно. Я забиндил столы на Winkey+1,2,3 и т.д, например)
Всем спасибо, настроил =) Немного помучился, правда, из-за того, что виртуальный рабочий стол это не workspace а viewport оказался)
Фух, прочитав ваш комментарий не понял о чем он, а когда столкнулся с проблемой и разобрался с решением, понял о чем вы говорили =)
Вобщем, в файле нужно писать например так:
Вобщем, в файле нужно писать например так:
(if
(is ( application_name ) "gmpc" )
(begin
(set_viewport 2)
(maximize)
)
)
Ага) Правда, я запускаю mc в gnome-terminal, соответсвенно, командой
gnome-terminal -x mc
но такой терминал с mc никак не отличишь от обычного терминала, поэтому я указывал еще и title:
gnome-terminal --title="Midnight Commander" -x mc
Ну а параметр title в devilspie - это window_name)
gnome-terminal -x mc
но такой терминал с mc никак не отличишь от обычного терминала, поэтому я указывал еще и title:
gnome-terminal --title="Midnight Commander" -x mc
Ну а параметр title в devilspie - это window_name)
Ага. Ну gmpc это вообще клиент к MPD, если вы о нем)
А терминал я себе поставил на кнопку
А терминал я себе поставил на кнопку
Не уверен что то что нужно, но всё же - the-bosha.ru/2010/01/10/firefox-on-need-wspace/
Если активено компиз, то можно настроить открытие некоторых окон на определенном рабстоле, я этим пользуюсь. Делеается в "Управление окнами - Правила поведения окна", там выставляются фиксированные размеры окна и запрет на перемещение и измененеие размеров мышью, и в "Управление окнами - Размещение окон", там выставляются координаты кна при открытии и, собственно, рабочий стол.
Свойства окна определяются встроенной определялкой при редактировании %)
Свойства окна определяются встроенной определялкой при редактировании %)
Прочитал, про devilspie, воодушевился, установил, а оно мне вон чего говорит:_NET_WM_NAME contained invalid UTF-8
Как бороть?
Как бороть?
В последнее время использую teamviewer на Ubuntu 10.04. Все прекрасно, вот только хотелось бы чтобы в автозагрузке она появлялась на 3-м рабочем столе. Подскажите простой способ.
Собственно, установить devilspie, запустить в терминале.
Потом запустить teamviewer и посмотреть что в терминале devilspie по этому поводу написал. К примеру, Application Name: "teamviewer".
Заходим(или создаем) в папочку ~/.devilspie/
Создаем файлик teamviewer.ds (имя неважно, главное чтоб .ds).
В него пишем примерно это:
Скобочки все обязательны, а написать, в принципе, можно и в строчку.
Сохраняем, убиваем devilspie и запускаем снова.
Чтобы все это при автозагрузке делалось можно скриптик написать
Ну и добавляем скрипту права на выполнение и в автозагрузку его) Вроде все)
Ну да, и уже проскакивала подробная статья на русском) http://lazysketches.blogspot.com/2009/01/blog-post.html
Потом запустить teamviewer и посмотреть что в терминале devilspie по этому поводу написал. К примеру, Application Name: "teamviewer".
Заходим(или создаем) в папочку ~/.devilspie/
Создаем файлик teamviewer.ds (имя неважно, главное чтоб .ds).
В него пишем примерно это:
(if
(is ( application_name ) "teamviewer" )
(begin
(set_viewport 3)
(maximize)
)
)
Скобочки все обязательны, а написать, в принципе, можно и в строчку.
Сохраняем, убиваем devilspie и запускаем снова.
Чтобы все это при автозагрузке делалось можно скриптик написать
#!/bin/bash
teamviewer
wait 1 #чтобы окошко успелось создать(не уверен что это нужно, но на всякий случай делаю:) )
devilspie -a #параметр a говорит применить правила к уже отрисованным окнам.
Ну и добавляем скрипту права на выполнение и в автозагрузку его) Вроде все)
Ну да, и уже проскакивала подробная статья на русском) http://lazysketches.blogspot.com/2009/01/blog-post.html