Project: Grab and a x11-window in realtime ** Brief description Implement a java component for grabbing a X11-window and move it dynamically on top of a JPanel. ** Usecase Our JAVA Swing Application has to start a native x11 program. This program create a X11-window (like xterm, xclock, firefox, ..) independent to our Swing application. To get a better look and feel, we would like to make this window dependent to our application by moving it dynamically and in real time exactly above a special JPanel. So, the user does not know about the external program. ** Description Implementing a java component which grabs a defined windows (e.g. by window name) from the current X11-display and move it dynamically and in real time exactly at the top of a special JPanel component. Moving the JPanel should also move the x11-window. ** Requirements - Create Swing application with a JFrame f1 and JPanel p1 inside the JFrame - find an existing X11 window w1 by one of the defined characteristic: - x11 windows title - X11 windows id - requirements for JPanel p1 and Windows w1 - JPanel p1 is always as large as window w1, means scale to the size of window w1 dynamically in real time - X11 window w1 is always on top of JPanel p1, means it will hide JPanel p1 dynamically in real time - to fit this requirements - resize the JPanel p1 always to fit the size of w1 - move the x11 window w1 always on top of JPanel p1 - if JFrame f1 moves, move window w1 also - if windows w1 moves, move it back to fit the requirements - if windows w1 grows or shirks, JPanel p1 should also resize - ... ?? - Set size (width, high) of the x11 windows w1 - Set position (x,y) of the x11 windows w1 - Get Information about the target windows w1 like - windows title, id, size, position - the program should also work independent of any running x11 window manager (none, kde, fvwm, ..) - It should be possible to enable/disable this automatic resizing/movement of the the window w1. - if window w1 disappears (e.g. because of terminated x11 application), the "WindowDisappear" listeners should be called. These listeners are registered on startup - additional requirements in abstract DynamicX11Panel.java class ** Interesting links for X11 windows management http://stackoverflow.com/questions/288512/resizing-a-window-to-a-set-size-in-linux http://www.sweb.cz/tripie/utils/wmctrl/