[comp.windows.x.motif] XtAppCreateShell

carroll@cs.uiuc.edu (Alan M. Carroll) (04/17/91)

Could someone explain to me the difference between XtAppCreateShell()
and using XtCreateWidget() with a class of topLevelShellWidget? My
program creates multiple independent windows, but they are all
functionally identical at the top level (the insides can vary, e.g.
displaying several nodes from a hypertext). I've read the man pages on
XtAppCreateShell(), but they aren't clear on what an "application
shell" is. Thanks.

-- 
Alan M. Carroll          <-- Another victim of applied metaphysics
Epoch Development Team   
Urbana Il.               "I hate shopping with the reality-impaired" - Susan



-- 
Alan M. Carroll          <-- Another victim of applied metaphysics
Epoch Development Team   
Urbana Il.               "I hate shopping with the reality-impaired" - Susan

pd@x.co.uk (Paul Davey) (04/18/91)

>>>>> On 17 Apr 91 13:59:33 GMT, carroll@cs.uiuc.edu (Alan M. Carroll) said:
Alan> Nntp-Posting-Host: ash.cs.uiuc.edu

Alan> Could someone explain to me the difference between XtAppCreateShell()
Alan> and using XtCreateWidget() with a class of topLevelShellWidget? 

XtAppCreateShell creates an applicationShell. This shell class is a
subclass of topLevelShell. It has two extra resources argc and argv.
These hold the command line which started the application (and should
be updated to maintain the command that would restart the application
should a session manager stop and restart it).

A topLevelShell is a widget class to support a full interaction with
the window manager. Ie it will often have a full title bar/borders, as
opposed to temporary shells such as transient shells for menus and
dialogs.

Every application will normally have one applicationShell. Some
applications (such as X.desktop and Epoch) may require multiple full
functionality shells (to display directories or buffers in).

(*Simply* Full functionality  means the ability to iconise the window
independantly of other windows in the application under the window
manager.)

Since applicationShell stores argc and argv there will only be one for
all typical applications. TopLevelShell should be used for further
shell windows other than dialogs/menus etc. 

--
 Regards,			 pd@x.co.uk          IXI Limited
	Paul Davey		 pd@ixi.uucp         62-74 Burleigh St.
				 ...!uunet!ixi!pd    Cambridge  U.K.
 "These are interesting times"   +44 223 462 131     CB1  1OJ      
				 USA: 1 800 XDESK 57