[comp.windows.x] TWM, KillClient versus DestroyWindow

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