Я использую несколько рабочих пространств, чтобы иметь разный контекст для разных работ. Поэтому я многократно запускаю один и тот же набор приложений в одной рабочей области. А также я запускаю одно и то же приложение в каждом наборе приложений, поэтому настройка рабочей области по умолчанию, в которой должно выполняться каждое приложение, не работает для этой цели.
Например:
Итак, есть ли способ иметь скрипт или что-то наподобие set_workspace1.sh, который после запуска открывает все нужные программы в определенной рабочей области?
Кстати, я бегу 11.04
Я не думаю, что есть такая функция для стандартного оконного менеджера.
Но Пирог Дьявола может делать то, что ты хочешь.
http://burtonini.com/blog/computers/devilspie/
Цитата с сайта «Пирог дьявола»: «Пирог дьявола можно настроить для обнаружения окон такими, какие они есть». создать и сопоставить окно с набором правил. Если окно соответствует правилам, оно может выполнить ряд действий над этим окном. Например, я могу сделать так, чтобы все окна, созданные X-Chat, появлялись во всех рабочих пространствах, и Главное окно Gkrellm1 не отображается в списке пейджеров или задач. "
Надеюсь, это помогло вам,
Даниэль
Технически говоря, рабочие пространства называются viewports
, конкретным разделом расширенного рабочего стола, с определенными координатами, например 0, 0
- это окно просмотра 1, а 1366, 0
будет тем, которое расположено непосредственно справа. ]
Следует отметить, что CompizConfig Settings Manager имеет опцию «фиксированного» открытия окна в определенной рабочей области, но можно создать скрипт, как вы упомянули. Вот мой пример.
#!/bin/bash
get_viewport()
{
xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}'
}
spawn_viewport_1()
{
nohup gnome-terminal 2>&1 > /dev/null &
nohup chromium-browser 2>&1 > /dev/null &
}
spawn_viewport_2()
{
nohup xterm 2>&1 > /dev/null &
nohup firefox 2>&1 > /dev/null &
}
main()
{
case $(get_viewport) in
"0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important
"1366, 0") spawn_viewport_2 ;;
esac
}
main
По сути дела, у меня есть две функции, каждая для определенной области просмотра. У меня также есть функция, которая проверяет, в каком окне просмотра я сейчас нахожусь. Если я в настоящее время нахожусь в области просмотра 1 (координаты 0,0), это вызовет один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет другой набор приложений.