Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!mcsun!ukc!acorn!ixi!ixi!pd From: pd@x.co.uk (Paul Davey) Newsgroups: comp.windows.x.motif Subject: Re: XtAppCreateShell() vs. topLevelShellWidgetClass Message-ID: Date: 18 Apr 91 12:51:08 GMT References: <1991Apr17.135933.30023@m.cs.uiuc.edu> Sender: paul@x.co.uk (Paul Davey) Organization: IXI Ltd. Lines: 35 In-Reply-To: carroll@cs.uiuc.edu's message of 17 Apr 91 13:59:33 GMT >>>>> 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