Я задал связанный, но более конкретный вопрос. Я хочу знать, есть ли способ указать, где вы хотите запустить программу. Я в основном хочу написать сценарий оболочки, который запускается каждый раз, когда я вхожу в систему, например
google-chrome www.gmail.com -workspace=1 -monitor=1
google-chrome www.facebook.com -workspace=1 -monitor=2
google-chrome www.youtube.com -workspace=1 -monitor=3
gedit a.txt b.txt c.txt -workspace=2 -monitor=1
gedit d.txt e.txt f.txt -workspace=2 -monitor=2
gedit g.txt h.txt i.txt -workspace=2 -monitor=3
mplayer Terminator1.mkv -workspace=3 -monitor=1
mplayer Terminator2.mkv -workspace=3 -monitor=2
mplayer Terminator3.mkv -workspace=3 -monitor=3
, здесь есть программа здесь , но она не срабатывает так многими способами, что Я даже не знаю, с чего начать. В принципе это просто, указать окно и переместить его. Но указание окон непросто, два браузера называются одинаковыми «Google Chrome». Можно использовать их уникальные идентификаторы окон, но получение этой информации не является тривиальным (AFAIK, это не возвращается после выполнения). Затем есть опция :ACTIVE:, которая является последней запущенной программой, но нет гарантии, что окно запускается, когда управление возвращается в командную строку. Чтобы ухудшить ситуацию, нужно указать глобальные координаты, а не дополнительные координаты в рабочей области / мониторе.
Вот такой подход, который я сейчас применяю. Я загрузил некоторые скрипты в GitHub (см. Здесь или здесь), которые используют wmctrl для перемещения окон вокруг.
Вы можете установить, в какую рабочую область запускается программа с помощью графического интерфейса, путем установки CompizConfig Settings Manager из Software Center.
Сначала откройте экземпляр программы, которую вы хотите разместить.
[d2 ] Запустите CCSM и перейдите в «Управление окнами» и активируйте «Место Windows», щелкните по нему и выберите «Место установки неподвижного окна».В разделе «Windows с фиксированным видовым экраном» нажмите «Создать». В появившемся диалоговом окне нажмите кнопку «+». Затем в следующем диалоговом окне нажмите кнопку «Схватить», а затем нажмите запущенную программу и «Добавить». Затем установите значения для видовых экранов: X = 1, Y = 1 - верхний левый, X = 1, Y = 2 - нижний левый, X = 2, Y = 1 - верхний правый, X = 2, Y = 2 - нижний right.
Если вы ничего не сделаете, это установит его для класса окон, но есть другие параметры, такие как ID, Тип и многое другое, но ID - единственный, который вы не можете захватить. [!d4 ]