Given I'm a lazy bastard, I tried to write a Bash script that opens at once some daily apps in different desktops. This script should work in Gnome.
I've written that so far:
#!/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
But, it doesn't work. My apps open, but they won't be assigned to the desktops I specify :(.
EDIT: I changed the value of sleep to 15... only firefox & netbeans are assigned correctly, the rest opens in the workspace where I execute the script from...
Thanks to Akira comment, I finally succeeded at making it work (the script runs at startup like a charm) Here is the new 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
checkout DevilsPie, it watches creation of windows and act accordingly.
Devil's Pie can be configured to detect windows as they are created, and match the window to a set of rules. If the window matches the rules, it can perform a series of actions on that window. For example, I can make all windows created by X-Chat appear on all workspaces, and the main Gkrellm1 window does not appear in the pager or task list.
Or you can use a window manager which is able to do the same in-house, eg. fluxbox.
In dconf-editor:
org->gnome->shell->extensions->auto-move-windows
here is what it should look like:
['firefox.desktop:1','pidgin.desktop:2']
what graphical frontend do you use?
for example when you use ubuntu with gnome and compiz you can set the window placement in
System>Preferences>CompizConfig Settings Manager>Window Management>Place windows