[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] Maximize bug ( e17 current cvs )



On 12/09/06, Daniel Kasak <dkasak@nusconsulting.com.au> wrote:
Hi all.

For about the past 2 weeks I've been having a bug with maximizing
applications.

When an app requests that a window get maximized, the window gets placed
too high or low ( depending on whether the shelf is on the top or bottom ).

I noticed this too when trying to vertically maximize my Eterms.
I have my shelf in the top left corner, running down the side of the
screen for 206 pixels, but if my window x,y is below that point then
it doesn't work (this is just one case that its broken in).

I took a look at the source on the weekend, and I think what the
problem is is that in the _e_maximize_border_rects_fill routine the
process is to first maximize out to the left, and then next try to
maximize out to the top. But, because the window is already maximized
to the left side of the screen, the routine decides that this position
intersects with the position of the shelf and so doesn't maximise
upwards. Currently this routine also tries to maximize in all
directions at once. There is also a "FIXME: The right order?" in this
code.

What I was going to do next (but as always, when!? and if someone
doesn't beat me to it) was add an E_Maximize arg to this logic when
calling from e_border_maximize, and then...
a) if the arg is "maximize vertically", only try to maximize the
window vertically
b) if the arg is "maximize horizontally", only try to maximize the
window horizontally (this much will solve my problems, and finally)
c) if the arg is "maximize in both directions", then for starters try
different orders of maximizing horizontally and vertically and select
the result that gives the maximum volume of space for the window
(there may be a smarter way of determining maximum volume, but I've
not thought that far yet).

David