Xfce

使程序在第二個虛擬桌面(XFCE)上啟動

  • November 13, 2020

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

如何配置 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 ,在子項“我如何以程式方式切換工作區、移動視窗等?”

所以你可以用一個簡單的 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

它並不理想,因為該過程可能有多個視窗(不知道會發生什麼),但它應該適用於簡單的程序。

引用自:https://unix.stackexchange.com/questions/344389