2010-07-28 8 views
12

Da ich ein fauler Bastard bin, habe ich versucht, ein Bash-Skript zu schreiben, das sofort einige tägliche Anwendungen auf verschiedenen Desktops öffnet. Dieses Skript sollte in Gnome funktionieren. ich bisher geschrieben habe:Öffnen Sie Anwendungen in verschiedenen Arbeitsbereichen in 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 

Aber es funktioniert nicht. Meine Apps werden geöffnet, aber sie werden nicht den Desktops zugewiesen, die ich spezifiziere :(.

EDIT: Ich habe den Wert von Schlaf auf 15 geändert ... nur Firefox & Netbeans sind korrekt zugewiesen, der Rest wird im Arbeitsbereich geöffnet wo ich das Skript ausführen von ...

+0

Welchen Fenstermanager benutzt du, Gnome? –

+0

ja, ich füge das in der Beschreibung hinzu :) – Rolf

+0

verwendest du xinerama? – Anders

Antwort

3

Dank Akira Kommentar, gelang es mir schließlich zu machen, es funktioniert (das Skript ausgeführt wird beim Start wie ein Zauber) Hier ist der neue Code:

#!/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

welche grafischen Frontend verwenden Sie? zum Beispiel, wenn Sie ubuntu mit Gnome und compiz verwenden Sie das Fenster Platzierung in

System können Sie> Einstellungen> Einstellungen CompizConfig Manager> Fensterverwaltung> Fenster platzieren

+0

Hallo, ich verwende nicht Compiz ... – Rolf

2

checkout DevilsPie, es überwacht die Erstellung von Windows und entsprechend handeln.

Devil's Pie kann so konfiguriert werden, dass Fenster bei der Erstellung erkannt werden und das Fenster einem Satz Regeln entspricht. Wenn das Fenster den Regeln entspricht, kann es in diesem Fenster eine Reihe von Aktionen ausführen. Zum Beispiel kann ich alle von X-Chat erstellten Fenster auf allen Arbeitsbereichen erscheinen lassen, und das Hauptfenster von Gkrellm1 erscheint nicht im Pager oder in der Aufgabenliste.

Oder Sie können einen Fenstermanager verwenden, der in der Lage ist, dasselbe zu tun, z. fluxbox.

+0

hi, wenn es ist keine zufrieden stellende Lösung mit wmctrl, ich werde das überprüfen, danke :) – Rolf

+1

Der Grund, warum wmctrl in Ihrem Beispiel nicht funktioniert, ist dies: Das Firefox-Fenster ist noch nicht da, während Sie bereits den wmctrl-Befehl auslösen. der Schlaf ist nicht genug. – akira

+0

Ich habe den Wert von Schlaf auf 15 geändert ... nur Firefox & Netbeans sind korrekt zugeordnet, der Rest öffnet sich im Arbeitsbereich, wo ich das Skript ausführen von ... – Rolf

1

In dconf-Editor:

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

Auch Auto-Move-Windows-Erweiterung muss aktiviert sein. – gkcn

Verwandte Themen