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. As a personal preference, I wouldn't restore x and y values in non floating windows. I hope to have explained my idea better this time, I can write the patch if you want to give it a try. And about the setlayout behaviour, you are right that I was thinking in the maximize toggle with Mod1-m (or the float toggle with Mod1-Space), but as I told I don't really matter. slds, -- - yiyus || JGL .