Там какой-либо путь состоит в том, чтобы открыть новую рабочую область каждый раз, когда я открываю новое приложение?
Например, у меня есть терминал на рабочей области 1, и я хочу открыть Spotify, но на рабочей области 2, и также когда я открываю Spotify, я хочу автоматически переместиться в рабочую область 2.
Действительно ли это возможно?
Я не реализовал это конкретное приложение, но оно похоже xdotool
сделает то, что Вы хотите.
Попытайтесь запустить свое приложение со сценарием обертки что-то как:
desktops=$(xdotool get_num_desktops)
desktops="$desktops"+1
xdotool set_num_desktops "$desktops"
xdotool set_desktop "$desktops"
run-my-application
Я не учел некоторые детали, которые необходимы для создания этого более устойчивым, поскольку они будут варьироваться немного в зависимости от того, что Вы делаете и затенили бы основную идею:
Каждый xdotool
управляйте возвращает состояние, которое необходимо проверить. Если шаг перестал работать, Вы не хотите продолжать двигаться вслепую.
Можно хотеть определить максимальный номер рабочих столов, которые может создать сценарий.
xdotool
видьте, существует ли окно уже и какой рабочий стол это в настоящее время включено. Это может также переместить окно в другой рабочий стол. Это может также активировать окно, принеся его к переднему плану и в фокус.
Вы, возможно, должны добавить sleep
команды после определенных операций для предоставления рабочего стола и особенно время приложений, чтобы сделать их вещь перед выполнением следующего шага.
Так как Ваш скрипт может быть запущен от рабочего стола (и не только от терминала), можно также хотеть зарегистрировать некоторые сообщения в файл, говоря Вам, что сценарий сделал для создания отладки его легче.
Часть, где это становится немного хитрым, - когда приложение имеет больше чем одно открытое окно. Затем необходимо иметь дело со стопкой экземпляров и так или иначе найти правильный или работу над всеми ними. Например, мой Thunderbird
просит основной пароль, когда он запускается, таким образом, он имеет два открытые окна.
xdotool
также объединение в цепочку команды предложений, куда можно выполнить несколько действий от одного xdotool
команда. Результаты текущего действия продвинуты на стек, считанный следующим действием в команде. Я нашел это трудным визуализировать и отладить, но довольно мощно, если можно заставить это работать.
В то время как xdotool
лучшее пригодное для этой конкретной проблемы, можно также хотеть смотреть на AutoKey, который может помочь Вам автоматизировать все виды действий рабочего стола/GUI путем издания нажатий клавиш и событий от нажатия мыши, которые смотрят точно так же, как Вы делали их вручную, таким образом, они будут работать над большей частью приложения и настольных функций.