Is there a way to start multiple applications at once and arrange their windows?

Once upon a time, you could use a command line parameter like -geometry wxh+x+y. It looks like this is still possible, but some programs (like gnome-terminal) require --geometry instead.

Note that gnome-terminal uses units of characters; other programs generally use units of pixels.

So all you need to do is write a script that starts each program in the background with your desired geometry settings. Something like this:

#!/bin/sh

gnome-terminal --geometry 80x24+0+0 &
gnome-terminal --geometry 80x24+82+0&
google-chrome --geometry ... &
# etc.

(I'm not sure if Chrome supports this - you'll need to check)

Finally, set your script to run automatically on startup.


Compiz supports such functionality.

You will need to install compizconfig-settings-manager. Once installed, run ccsm.

You can now use ccsm to configure/enable Grid and Place Windows, under Window Management.

Once you've set up where to open the windows, you can use Startup Applications found under System Tools > Preferences.


if "desktops (or whatever the heck they are officially known as)" is what KDE calls "virtual desktops", i.e. you define e.g. 8 desktops and have different windows on each, but "sticky" windows are shown on all desktops, then the answer (at least with KDE) is to use kstart. It has a --desktop option to specify the desktop:

kstart --desktop 3 chromium-browser
kstart --desktop 3 konsole -geometry 600x400+0+0

It's not very robust though. It first launches the program and then waits for the window to appear. If the window title is not what it guesses you have to use the --window option. When the window appears it is relocated to the given desktop.

kstart also has a --geometry option to specify the window geometry but in my case it was ignored. Instead I specified the geometry with application specific geometry options, see Robie Basak's answer above