我不确定您是否可以在其他工作区中启动它,但您可以使用脚本将其移动到那里。
看看这个页面:https : //wiki.xfce.org/faq,在子项“如何以编程方式切换工作区、移动窗口等?”
所以你可以用一个简单的 shell 脚本来启动你的程序,比如:
#!/bin/sh
yourprogram &
PID="$!"
#echo $PID
sleep 1s
#sleep is required because the window takes some 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
Run Code Online (Sandbox Code Playgroud)
它并不理想,因为该进程可能有多个窗口(不知道会发生什么),但它应该适用于简单的程序。
大多数窗口管理器不提供此功能。您可以运行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))
Run Code Online (Sandbox Code Playgroud)
使用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
Run Code Online (Sandbox Code Playgroud)