Hello, I'm trying to find out how to have multiple windows sharing the same frame. I'm playing with FvwmTabs but I also want to experiment with a simpler implementation on my own. I wrote something like the following in the main fvwm code.
Add tab: (client is the fw->wins.client from another frame) XReparentWindow(dpy, client, fw->wins.parent, 0, 0); XResizeWindow(dpy, client, fw->frame_g.width, fw->frame_g.height); XLowerWindow(dpy, client); XUnmapWindow(dpy, client); Next tab: (fw->wins.client is advanced by a linked list) XMapWindow(dpy, fw->wins.client); XRaiseWindow(dpy, fw->wins.client); XSaveContext(dpy, fw->wins.client, FvwmContext, (caddr_t) fw); rectangle frame_g = fw->frame_g; frame_force_setup_window( fw, frame_g.x, frame_g.y, frame_g.width, frame_g.height, True); When I switch to another tab, the window works as normal except it doesn't recieve FocusIn/Out events. This stops the focus decor from changing when the mouse is in the window. When I switch back to the first tab, it works properly. There seems to be something special about the first client window because it was originally in that frame. I thought setting FvwmContext would give each client the exact same structure but it doesn't. HandleFocusIn is never called except for the first window. I'm just wondering, what is the solution to this? David