On Thu, Feb 11, 2010 at 09:19:48AM +1100, Kathryn Andersen wrote: > On Tue, Feb 09, 2010 at 12:53:32PM +0100, Nathan H?sken wrote: > > A function that refits all windows on the screen by making minmal > > adjustments. > > > Lets say I have 3 windows. I put one in top right, on in bottom right > > and one on the left. > > I do this roughly with the mouse. > > Now if the do not overlap, I can "grow" every one by letting them take > > all free space. > > > > But if they only overlap a little, that would not work. > > > > So a function, that makes the current active windows on the screen take > > all free space without overlap, by moving windows as little as possible > > would be really cool. > > > Does anything like this exist or is possible? > > FvwmRearrange has already been mentioned, but it does not do quite what > you want; as you say, it applies a predetermined layout rather than > keeping your windows close to how you had them.
I looked at your code ages ago -- it would need a massive amount of cleanup to actually be of any use upstream -- thankfully, I know Perl quite well, although some of the design goals don't meet any requirements that FVWM has -- perhaps you're better off trying to emulate XMonad by yourself. When I get 2.6.0 out the door, I'll send you a diff to make it better. The simpler solution would be to check for !Overlapped, and to use any one of the PackFoo* functions found on the Internet to implement this. But I'll reiterate again, FvwmRearrange or your code likely does nothing to solve the original problem. -- Thomas Adam -- "It was the cruelest game I've ever played and it's played inside my head." -- "Hush The Warmth", Gorky's Zygotic Mynci.