[openbox] Smart Window Placement?
George De Bruin
sndchaser at gmail.com
Sun Feb 3 23:24:42 EST 2008
Dana Jansens wrote:
> I'm not sure what you're asking for, a formal explanation of the
> placement algorithm?
>
Well, an explanation for one, and whether this is a bug or not for another.
> It doesn't top to bottom or left to right. It collects rectangles of
> space on the screen and sorts them by size (I believe by their area),
> and it does this individually for each monitor, choosing the monitors
> in an order which can be tweaked with the new <monitor> option in
> 3.4.6, but is based on where input focus is, and where the mouse is,
> where are windows in its group/parent/children sets. If you want
> stuff to show up in the top left of its assigned rectangle, that is
> what the placement <center> option is. Have you looked at the
> <placement> section of the default rc.xml at all?
>
I've looked at both the default rc.xml from my package, which has:
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>no</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
</placement>
Which didn't make me think that the placement would be at all random.
And I looked at the website documentation (from:
http://icculus.org/openbox/index.php/Configuration):
Placement
<placement>
<policy>Smart</policy>
</placement>
*policy* can be either /Smart/ or /UnderMouse/.
* /Smart/ will cause new windows to be placed automatically by Openbox.
* /UnderMouse/ makes new windows to be placed under the mouse cursor.
> And when something doesn't fit in any of the rectangles, it is placed completely randomly.
>
Boy, I thought by "smart" you meant in the adjective form: witty,
clever, intelligent. It's obvious now that you meant it more like the
intransitive verb form: "to cause or be the cause or seat of a sharp
stinging pain; /also/ *:* to feel or have such a pain"
Now I understand: smart = painful = random.
> If you really want to know exactly how it works take a look at place.c
> I've wanted to improve it with FVWM's MinOverlapPercent algorithm,
> but usually it seems just fine being random, heh, so I haven't been
> itched enough to do so.
>
Except I don't compile from source. Don't want to break my package
management. And, even if I did compile from source, it's unlikely that
I would go digging through the code to figure out how it works. I
haven't been a coder for a good fifteen years now (beyond a few small
shell scripts, and a little PHP dabbling), and haven't done any linux or
X coding at all.
Personally, I was trying to understand this because I am writing a
review of window managers and this behavior didn't make sense. I mean
personally, if I open and close a window N times, I expect the placement
to be the same N times (assuming nothing else changes on the screen).
But in the case of OpenBox, I was getting up to N different placements,
and not seeing a pattern. Personally, at first I thought I was
imagining things...but that FireFox placement just proved that I wasn't
imagining things.
So, I don't know about this. It doesn't really give me a whole lot of
confidence in being able to say that the usability of OpenBox is there.
I can't think of a case where this could qualify as a good user
interface design.
// George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SndChaser.vcf
Type: text/x-vcard
Size: 135 bytes
Desc: not available
URL: <http://icculus.org/pipermail/openbox/attachments/20080203/c9082e67/attachment.vcf>
More information about the openbox
mailing list