Сделать запуск программы на втором виртуальном рабочем столе (XFCE)

Вероятно, причина, по которой я не могу найти ее в Интернете, может быть настолько очевидной, но я все еще не могу понять:

Как настроить XFCE, чтобы окно программы автоматически открывалось на (например) втором виртуальном рабочем столе?

Большинство оконных менеджеров не предлагают эту функцию. Вы можете запустить Devil's Pie для выполнения действий при создании окна, например, для отправки этого окна в другое рабочее пространство. С Devil's Pie 1 создайте файл ~/.devilspie/myprogram.ds содержащий что-то вроде

 (if (and (is (application_name) "specific-program") (matches (window_name) "^Program main window:")) (set_workspace 2)) 

С Devil's Pie 2 создайте файл ~/.devilspie2/myprogram.ds содержащий что-то вроде

 if (get_application_name() == "specific-program" and string.strfind(get_window_name(), "Program main window") == 1) then set_workspace(2); end 

Я не уверен, если вы можете запустить его в другом рабочем пространстве, но вы можете переместить его там со сценарием.

Посмотрите на эту страницу: https://wiki.xfce.org/faq , в подпункте «Как программно переключаться между рабочими пространствами, перемещать окна и т. Д.»?

Таким образом, вы можете запустить свою программу с помощью простого сценария оболочки, например:

 #!/bin/sh yourprogram & PID="$!" #echo $PID sleep 1s #sleep is required because the window takes aome time to open, maybe it can be adjusted WINH="$(wmctrl -l -p | grep "$PID" | cut -d " " -f1)" #echo $WINH wmctrl -i -r $WINH -t 2 

Его не идеально, поскольку процесс может иметь несколько окон (не знаю, что такое eill), но он должен работать для простых программ.