josh@viewlog.UUCP (Josh Marantz) (12/05/89)
Let's say I'm writing an application that uses several top-level X Windows. I want to support using a window manager to kill one of the windows, without affecting the other windows. But TWM's f.destroy function seems to do a KillClient, which it seems I can't recover from. This seems like a fairly extreme policy. I'd like to be able to negotiate saving window data with the user, and continue processing other windows. How come TWM doesn't simply call XDestroyWindow on the appropriate Window ID? Wouldn't I then just get a Window Destroyed event on that window, and continue operations for my other windows? Is this just a TWM quirk, or is this an ICCCM reality that I must accept? Of course, the user will eventually learn not to destroy a window with TWM unless it wants all of that application's windows destroyed without further warning. Maybe TWM should just provide a second function that just does an individual window without blasting the client. Maybe it already does and I just need to be reminded of its f.name! -- Joshua Marantz Viewlogic Systems, Inc. cloud9!viewlog!josh@bu-cs.bu.edu
toml@ninja.Solbourne.COM (Tom LaStrange) (12/05/89)
> affecting the other windows. But TWM's f.destroy function seems to do a > KillClient, which it seems I can't recover from. This seems like a fairly > extreme policy. I'd like to be able to negotiate saving window data with > the user, and continue processing other windows. > > How come TWM doesn't simply call XDestroyWindow on the appropriate Window ID? > Wouldn't I then just get a Window Destroyed event on that window, and continue > operations for my other windows? Is this just a TWM quirk, or is this an > ICCCM reality that I must accept? The R4 version of twm supports both the WM_SAVE_YOURSELF and WM_DELETE_WINDOW protocols as set forth in the ICCCM. This will be the proper way to tell the window manager to not use XKillClient. -- Tom LaStrange Solbourne Computer Inc. ARPA: toml@Solbourne.COM 1900 Pike Rd. UUCP: ...!{boulder,sun}!stan!toml Longmont, CO 80501