On 25 November 2011 17:53, David Fries <da...@fries.net> wrote: > I took another look and did some tests. DeadPipeCleanup is called > atexit(). With my patch and -transient, the Swallow flag Kill is
The code is clear about this point. > causing the X-server to close to the connection to that client, the > flag Close is doing something less forcefully, but in both cases > stalonetray and xclock have terminated when the button panel closes. Yes. > Compared to the previous XDestroyWindow behavior where the programs in > the tray are killed, the stalonetray window is destroyed (but it keeps > on running because it's too stupid to exit). See previous comments on this. > From what I can tell exiting the loop normally is doing the right > thing with Close and Kill, and unswallowing NoClose windows correctly. > What about about adding a XDestroyWindow call at the end of > DeadPipeCleanup? Would that be sufficient for forcefully destroying > anything left after the other cleanup ran? Nope, no more so than what is currently happening. Also, you're not considering enough of the b->flags in this which would need to be checked before doing anything in DeadPipeCleanup(). Until I look in to this in more detail, I'm perhaps more inclined to think the applications in question need fixing, not FvwmButtons, but we'll see. :) -- Thomas Adam