yy <[EMAIL PROTECTED]> wrote:

> 2008/4/8, Anselm R. Garbe <[EMAIL PROTECTED]>:
> > On Tue, Apr 08, 2008 at 01:35:40PM +0200, yy wrote:
> > > 2008/4/8, Anselm R. Garbe <[EMAIL PROTECTED]>:
> > > > Any complains?
> > > >
> > >
> > > If we are coming back to reverse geometries per client, what's the
> > > point of resizing clients in focus changes? I think this will add
> > > unnecesary complexity. But again, I don't think my opinion is
> > > important.
> >
> > What if monocle is used to work on floating clients as well?
> >
> > I pretty much prefer the solution of only preserving the
> > previous window geometry of a client window and not treating
> > floating and managed geometries differently. If monocle works on
> > all clients, this would lead to unrevertable maximised floating
> > clients, which I dislike.
> >
> > On the other hand, preserving the geometry for each layout seems
> > to be too memory-consuming, especially because the layout
> > algorithms are heavily dynamic.
> >
>
> I think I didn't explain myself very well. Let's try again...
> To restore all the clients to their previous position and size when
> you change to the floating layout you will need a per client reverse
> geometry where you store that data, I would call it "floating
> geometry" (e.g.: fx, fy, fw, fh), setted to the initial value by
> manage() like you suggested or by a mouse action. Then, when you
> change to floating layout, all the clients are resized to that value;
> when you change to tiled layout, floating clients are resized to that
> value and tiled clients are tiled; and when you select the monocle
> layout all the clients (or just the tiled ones, depending on the
> lt->isfloating value) are resized to mox, moy, mow, moh.

I vote for the floating geometry idea and prefer the interpretation that
monocle only maximises one client at the same time, so you have only 4
variables containing the previous position and size, because just one
client can be maximised at the same time. If you switch to another
client which is going to be maximised, the geometry of the previously
maximised client is restored and the values of the current client are
stored and can be restored, so it adds no runtime overhead and still
makes per layout storage possible.

Regards
Matthias-Christian

Reply via email to