[openbox] support questions

Mikael Magnusson mangosoft at comhem.se
Thu Mar 22 08:29:33 EDT 2007

On Thu, 22 Mar 2007, Clay Barnes wrote:

> On 20:28 Wed 21 Mar     , Mikael Magnusson wrote:
>> On 20/03/07, Clay Barnes <clay.barnes at gmail.com> wrote:
>>> On 00:06 Wed 21 Mar     , spg wrote:
>>>> well i've been trying to find a good guide or at least more information
>>>> about configuring my desktops as a 3 x 3 grid instead of 1 line.
>>>> Unfortunatly both the docs and the faq has almost no information about
>>>> such a configuration , except that it has something to do with the pager.
>>>> Can anyone , either give me more information , a sample or perhaps a
>>>> good link ?
>>> While OB3 doesn't configure arrangment of desktops (that's the pager's
>>> job), it would be a fairly small change to the code to add syntax for
>>> something like this in rc.xml:
>>> <desktops>
>>>  <desktop_rows>4</desktop_rows>
>>>  <desktop_cols>4</desktop_cols>
>>> </desktops>
>> It is, in fact, not very simple to implement once you consider the
>> fact that putting said configuration in rc.xml makes people running a
>> pager unable to use it to configure desktop layout.
> I assume that (1) people using this option would do so instead of a
> pager, and (2) OB3 would only try to set the desktop arrangment once,
> so a pager could change it to what it wanted after OB3 loaded.  The
> only conflict would be if the pager loaded first, and OB3 changed the
> pager's settings upon its load---but if OB3 conflicted in arrangment,
> it would be no worse than if the same situation happened with someone
> using a pager config that had a different number of desktops in a
> current version of the rc.xml.  Also, perhaps OB3 could test to see if
> there are already multiple desktops (a sign of a running pager) and if
> so, not try to change them.
> Nontrivial, but not very complex, either.

The problem with this approach is that you can't change the setting in OB 
without restarting X.
Some time ago I wrote a tiny program that just sets the layout hints, 
http://mikachu.ath.cx/slask/setlayout.c . It only needs -lX11 to compile.

Mikael Magnusson

PS A pager doesn't set the number of desktops, only the layout. You can 
have a 3x2 layout with only 5 desktops, the bottom right spot being 
"empty" (or another depending on the first and last arguments to the 

More information about the openbox mailing list