使程序在第二个虚拟桌面(XFCE)上启动

使程序在第二个虚拟桌面(XFCE)上启动

可能我在网上找不到它的原因可能是它太明显了,但我仍然无法弄清楚:

如何配置 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

相关内容