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

Jal*_*eks 4 desktop xfce

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

如何配置 XFCE 以便始终在(例如)第二个虚拟桌面上自动打开特定程序窗口?

rud*_*dib 5

我不确定您是否可以在其他工作区中启动它,但您可以使用脚本将其移动到那里。

看看这个页面: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)

它并不理想,因为该进程可能有多个窗口(不知道会发生什么),但它应该适用于简单的程序。


Gil*_*il' 3

大多数窗口管理器不提供此功能。您可以运行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)