2010-07-28 73 views
12

鑑於我是個懶惰的混蛋,我試着編寫一個Bash腳本,該腳本立即在不同的桌面上打開一些日常應用程序。這個腳本應該在Gnome中工作。 我已經寫了到目前爲止:在Gnome中的不同工作區中打開應用程序

#!/bin/bash 
firefox & 
thunderbird & 
/usr/bin/netbeans --locale en & 
amsn & 
gnome-terminal & 
sleep 2 
wmctrl -r firefox -t 0 && wmctrl -r netbeans -t 1 && wmctrl -r gnome-terminal -t 2 && wmctrl -r amsn -t 6 && wmctrl -r thunderbird -t 7 

但是,這是行不通的。我的應用程序打開,但他們不會被分配到我指定的桌面:(。

編輯:我改變了睡眠的價值15 ...只有firefox & netbeans被正確分配,其餘的打開在工作區在我執行腳本...

+0

你使用什麼窗口管理器,Gnome? – 2010-07-28 08:39:34

+0

是的,我會補充說明:) – Rolf 2010-07-28 08:51:12

+0

你使用的是xinerama? – Anders 2010-07-28 08:59:37

回答

3

感謝晃評論,我終於成功地在使其工作(腳本在像一個魅力的啓動運行),這是新代碼:

#!/bin/bash 
wmctrl -n 8 

firefox & 
thunderbird & 
/usr/bin/netbeans --locale en & 
amsn & 
gnome-terminal & 
sleep 15 

wmctrl -r firefox -t 0 
wmctrl -r netbeans -t 1 
wmctrl -r terminal -t 2 
wmctrl -r amsn -t 6 
wmctrl -r thunderbird -t 7 

#focus on terminal 
wmctrl -a terminal 
0

你用什麼圖形前端? 例如,當您使用Ubuntu使用GNOME和Compiz的,你可以設置窗口放置在

系統>首選項> CompizConfig設置管理器>窗口管理>放置窗口

+0

嗨,我不使用Compiz ... – Rolf 2010-07-28 08:56:05

2

結帳DevilsPie,它觀看窗口的創建並相應地採取行動。

惡魔之餡餅可以配置爲在創建窗口時檢測窗口,並將窗口與一組規則進行匹配。如果窗口符合規則,它可以在該窗口上執行一系列操作。例如,我可以使所有由X-Chat創建的窗口出現在所有工作區上,主Gkrellm1窗口不會出現在尋呼機或任務列表中。

或者你可以使用一個窗口管理器,它可以在內部完成相同的操作,例如。 fluxbox

+0

嗨,如果有沒有令人滿意的解決方案,我要檢查,謝謝:) – Rolf 2010-07-28 09:03:28

+1

wmctrl在你的例子中不起作用的原因是:當你已經觸發wmctrl命令時,firefox窗口還沒有出現。睡眠不夠。 – akira 2010-07-28 09:19:40

+0

我改變了睡眠的值爲15 ... 只有firefox&netbeans分配正確,其餘的打開在我執行腳本的工作區... – Rolf 2010-07-28 09:52:31

1

在dconf編輯:

org->gnome->shell->extensions->auto-move-windows 
here is what it should look like: 
['firefox.desktop:1','pidgin.desktop:2'] 
+0

此外,必須啓用自動移動窗口擴展。 – gkcn 2015-03-17 20:28:00

相關問題