One very annoying thing working with virtual desktops is that ordering them in one line is a very unefficient way to navigate through.
As usual there is a quite easy possibility to eliminate this problem for example by ordering desktops in the form of a square. I have seen this at a screenshot with 49 virtual desktops in a Fvwm environment and so it should also work quite well with my (atm) 9 desktops and openbox. Using this order you can navigate from the center desktop to the others directly and can also reach every other desktop with a maximum of 2 hops.

Reading through the EWMH specifications for window managers I found the following part which explains how it is possible to handle the desktop layout. As openbox is EWHM compliant this should somehow work with openbox (and every other window manager which is EWHM compliant).

Asking in #openbox on irc.oftc.net what would be the easiest way a guy called Mikachu gave me his code for a little program which does exactly what I was looking for without using a pager like netwmpager or obpager (which would also have been a possibility). You will find the sourcecode downloadable at the bottom of this post and in the following a short description how to use it.

first you need to compile it with

# gcc -o setlayout setlayout.c -lX11

second run the binary. You need to tell it via arguments what to do and running it

# ./setlayout

will tell you the following:

The first is layout, 0 is horizontal and 1 is vertical.
Second and third is number of desks horizontally and vertically.
The last is starting corner, 0 = topleft, 1 = topright, 2 = bottomright, 3 = bottomleft.

finally run it with the arguments you need

# ./setlayout 0 3 3 0

and voila, here are my 9 virtual desktops ordered in form of a square :)

screenshot

Big thx to Mikachu from #openbox for writing it and explanations, here is the sourcecode:
Mikachu’s little programm