<div dir="ltr">Does anyone have experience or interest in enhancing window management support for Linux with Lazarus?<div><br></div><div>I was reading up on the window management systems for Linux like Compiz, KWin, Xcfe and found they and many other support a common protocol for doing things like:</div><div><br></div><div>* altering window z-order</div><div>* making window sticky or above<br></div><div>* switching windows between desktop</div><div>* listing desktops</div><div>* adding or removing desktops</div><div>* switching between desktop</div><div>* listing windows</div><div>* resizing windows</div><div>* activating and deactiving windows for user input</div><div><br></div><div>... and more</div><div><br></div><div>The program wmctrl is an example of such how functionality can be administered programatically.</div><div><br></div><div>I think it would be very useful if some of these functionality could be brought into Lazarus, especially in areas with Lazarus which don't work as desired (Application.BringToFront) on some Linux systems.</div><div><br></div><div>A specification for administering these tasks on X windows is NetWM. Here is some reference material if anyone cares to look at it.</div><div><br></div><div><a href="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html">http://standards.freedesktop.org/wm-spec/wm-spec-latest.html</a></div><div><a href="http://en.wikipedia.org/wiki/Extended_Window_Manager_Hints">http://en.wikipedia.org/wiki/Extended_Window_Manager_Hints</a><br></div><div><a href="http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/netwm_8h.html">http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/netwm_8h.html</a><br></div><div><br></div><div>Maybe we can add this type of functionality to a Lazarus package and perhaps use it to plug a few holes with LCL on Linux.<br></div><div><br></div><div>orĀ </div><div><br></div><div>Maybe we can use this type of functionality to increase our programatic access to window management on Linux.</div><div><br></div><div>A penny for your thoughts.</div></div>