[openbox] resize maximized windows

Tanjeff-N. Moos tanjeff at not-another-server.net
Thu Apr 12 03:45:10 EDT 2007


On Wed, 11 Apr 2007 04:16:42 -0700
Clay Barnes <clay.barnes at gmail.com> wrote:

> I agree it's a useful case to be able to maximize a window and then
> take a little space from it on some edge.  The real question is what
> happens for the maximize state?  Do we toggle only dimensions that
> have changed (still horizontally maximized if we only make the window
> shorter, or do we make it just floating again?)
When I change the size of a maximizes window, it is
no longer maximized. By my experience it is annoying when the
maximized-state is kept; when I press the maximize-button I want the
window to fit my screen (if it doesn't at that moment) rather than
unmaximizing it.

By the way: I found that a VertMaximized window isn't maximized when the
maximize-Button is Left-Clicked. Rather it is completely unmaximized.
That is not what I expected (although it might be what the developers
prefer).

The behavior I would expect is simplest explained by describing
internal handling, although an implementation might handle it
differently:

When maximizing Vert or Horz, the state VertState resp. HorzState is
set to true and the last height/width is stored. When a maximized
window is resized horizontally or vertically, the respective State is
set to false, the other state is unchanged. If the window is rezised in
both directions (using a corner), both states are set to false.

Maximizing a window fully is achieved by maximizing it horizontally and
vertically, and there is no additional state. Both states VertState and
HorzState are set to true, (if they aren't already). Only when both
states are already true, both are set to false and the original size is
restored. When resizing a fully maximized window, it will act as if the
user had maximized it Vert and Horz himself.

Please get my point: this it not what I want you to do definitively, it
only is a suggestion. Note that I'm not a native english speaker, so I
may be not well articulated.

> Similar question:  do we toggle out of states for the move?  Do we
> just snap between screens?  What about different-sized heads?
I suggest the way metacity does it. When moving, the window is
unmaximized and restored to its previous size. When it is dragged to
the upper border of one screen, it is maximized to fill that screen.
Just start gnome and try it ;-) Alternatively moving can be done as
fluxbox does it: when moving a maximized window, the maximized state is
disabled, but the window keeps its size. Also, when dragging it to
another screen it should be resized to fit that screen
re-maximizing it (that is not what fluxbox does).

> If well done, it could be a boon to OB3 to have these features (I
> think), but keep in mind people like OB3 the way it is too, so if you
> code it, make sure to make it a configurable feature!
Full ack.

Tanjeff



More information about the openbox mailing list