Yesterday at 4:24pm, Sean 'Shaleh' Perry said: > > > > Here are a few of my intial findings. The proposed algorithm relies on > > knowing the location of all windows. It then creates a list of the > > uncovered desktop area expressed in rectangles. This means that there > > would need to be notifications sent on all window placements and moves. > > I will begin work on a coding a basic implimentation of the alogrithm > > soon.
> nifty. Thanks for the time. IMHO It's not necessary for bb to keep the list in memory. It may be possible to use the window list Blackbox keeps, and query the X server for the locations and sizes of them each time a new window should be "smart-placed". After the new window has been placed that list can be thrown away I think. This is much faster than the current algorithm, which queries the locations and sizes of each window for every pixel-row and column on the screen. (see Workspace.cc) Isn't it possible to implement the algorithm without changing anything in the BlackboxWindow class? (e.g. just frame.x, frame.y, frame.width and frame.height are needed, and it seems that (in Window.hh/cc) these values already are being kept track of. So I don't think the notifications stuff would be necessary. (but I'm not an experienced X or C++ programmer) thanks, and regards, Wilbert -- Wilbert Berendsen (http://www.xs4all.nl/~wbsoft/) "To build an apple pie from scratch, you must first invent the universe." Carl Sagan, Cosmos
