On 12/06/2008, A.J. Venter <[EMAIL PROTECTED]> wrote: > This is actually quite a bit trickier than you think - the reason > being that under Linux there is no single way that windows are > controlled nor a single API for doing it with. Various window managers > and widgetsets behave in different ways.
A.J. is correct. It is a bit trickier than under Windows, but should be impossible. Window Manager sometimes behave very different from another, so your mileage my vary. Using Xlib directly will probably be your best bet. Xlib functions you will probably be using are... XMoveResizeWindow(FDisplay, FWinHandle, left, top, w, h); XMoveWindow(FDisplay, FWinHandle, x, y); The FDisplay you can query (X Window supports multiple display surfaces on the same server [this has nothing to do with multiple monitors]). Read up on XOpenDisplay() and XDefaultScreen(). I'm not sure where you are going to get the FWinHandle from. I'm pretty sure you can query the X Server for a list of child windows from XRootWindow(). The rest is easy... But do remember, like A.J. said. When you call xlib functions they tend to create hints and you ask the Window Manager to fullfill that hint (request), but it isn't garaunteed. You are simply asking, not telling it what to do. Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
