可能我在网上找不到它的原因可能是它太明显了,但我仍然无法弄清楚:
如何配置 XFCE 以便特定程序窗口始终自动在(例如)第二个虚拟桌面上打开?
答案1
我不确定您是否可以在其他工作区中启动它,但您可以使用脚本将其移动到那里。
看看这个页面: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
它并不理想,因为该进程可能有多个窗口(不知道接下来会发生什么),但它应该适用于简单的程序。
答案2
大多数窗口管理器不提供此功能。你可以运行魔鬼派创建窗口时执行操作,例如将该窗口发送到另一个工作区。和恶魔派1~/.devilspie/myprogram.ds
,创建一个包含类似内容的文件
(if (and (is (application_name) "specific-program")
(matches (window_name) "^Program main window:"))
(set_workspace 2))
和魔鬼派 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