Window Murder

Mark Callow msc at ramoth.esd.sgi.com
Tue Nov 27 06:20:03 AEST 1990


In article <9011220303.AA04608 at karron.med.nyu.edu>, karron at KARRON.MED.NYU.EDU writes:
|> 
|> If there is a single window associated with the process,then clicking on the
|> zap icon on the upper right hand corner of the window kills (sends a
|> SIGKILL signal) to the process controlling the window. The window is not
|> a separate process. If you have multiple windows, then the SIGKILL is not
|> sent unless you kill the first window created by the process, the wid of the
|> first winopen(); You can not kill the process by killing subwindows or secondary
|> windows. They process is not really a parent process, nothing is forked for
|> each new window after the initial winopen.

Clicking the lightning bolt is equivalent to selecting "Close" from the window
frame menu.  "Close" does nothing unless you have queued WINSHUT.  In that
case your program receives a WINSHUT token in its queue after "Close" has
been selected.

When you select "Close" on the last remaining window of an application
(or the only window in a single window app.) it does the same thing as
"Quit".  "Quit" sends SIGKILL unless you have queued WINQUIT. In the latter
case your program receives a WINQUIT token.

|> 
|> If there is NO primary window(not really parent window) because the main
|> program loop starts up with a noport() call, then you can not kill the
|> program, except from another shell window and doing an explicit kill or
|> killall.

You can kill it by expressing interest in WINSHUT events (qdevice WINSHUT)
and then have your main loop can exit when it receives WINSHUT from your last
remaining visible window.

I don't know whether the problem with noport() windows and "Close" will be
fixed.  As I said in my earlier posting noport() is basically a hack.
-- 
>From the TARDIS of Mark Callow
msc at ramoth.sgi.com, ...{ames,decwrl}!sgi!msc
"Spirits of genius are always opposed by mediocre minds" - Albert Einstein



More information about the Comp.sys.sgi mailing list