Archive-name: motif-faq/part1 Last-modified: 1 FEB 2002 Posting-Frequency: irregular Organization: Kenton Lee, X/Motif Consultant, http://www.rahul.net/kenton/ URL: http://www.rahul.net/kenton/mfaq.html Version: 8.1 Subject: Motif FAQ (all parts) Newsgroups: comp.windows.x.motif,comp.answers,news.answers Reply-To: kenton@rahul.net (Ken Lee) Summary: Motif Frequently Asked Questions (with answers). Posting-Freq.: irregular (re-posted monthly to comp.windows.x.motif) Organization: Kenton Lee, X/Motif Consultant, http://www.rahul.net/kenton/ URL: http://www.rahul.net/kenton/mfaq.html Motif FAQ [Last changed: 1 FEB 2002] This article contains the answers to some Frequently Asked Questions (FAQ) often seen in comp.windows.x.motif. It is posted to help reduce volume in this newsgroup and to provide hard-to-find information of general interest. This article includes answers to the questions listed below. Key: + questions NEW to this issue; * CHANGES since last issue. This FAQ is maintained by Ken Lee (kenton@nojunk.rahul.net) http://www.rahul.net/kenton/ You can obtain the most recent version of this FAQ via anonymous ftp from a server which will seldom refuse you access. Try any of these URLs: ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ or ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.gz or get the HTML version as one big 600KB file from: ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html or ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html.gz The Motif FAQ is mirrored at several sites around the world. Sites closer to you should load faster. These sites are listed at: http://www.rahul.net/kenton/mfaq.html I also maintain a WWW page of over 700 technical X Window System and OSF/Motif links at: http://www.rahul.net/kenton/xsites.framed.html Send updates and corrections to kenton@nojunk.rahul.net. Please include the phrase "For Motif FAQ" in your subject line. *** SUN READERS *** The Motif FAQ is now included in a different HTML format with Java applets on the premiere issue of the SunSoft Developer CD-ROM. *** CAVEAT *** If an answer does not have a "Last modified" date, it's possible the information may no longer be accurate. Modification dates go back to August 1992. More than half the answers have such a modification date. Note also that the older the "Last modified" date, the more likely the information may be suspect. Pay close attention to version information discussed in answers, since the information may pertain only to that specific release. This posting is Copyright (c) 1997-2002 by Kenton Lee. ALL RIGHTS RESERVED. Permission is hereby granted to read and distribute this posting for non-commercial purposes. Permission to use this material for any other purpose must first be obtained in writing from the author. ----------------------------------------------------------------------------- 0) TOPIC: SUBMITTING SUGGESTIONS, CORRECTIONS, NEW ANSWERS 1) TOPIC: WHAT IS MOTIF? 2)* Is the Motif source code publically available? 3)* What is Motif and how does it relate to the X Toolkit and X Window Sys- tem? 4) Where did the name "Motif" come from? 5) TOPIC: OTHER RELEVANT NEWSGROUPS AND FAQS 6) TOPIC: FAQ and NEWSGROUP FTP ARCHIVES 7) Is the FAQ available via FTP? 8) Can I receive email notification when the Motif FAQ is updated? 9) Is this FAQ accessible via WWW? 10)* Is this newsgroup archived? 11) TOPIC: OSF, MOTIF VERSIONS, CDE, COSE, DCE, The OPEN GROUP 12) How can I contact the Open Group? 13) Where can I find OSF press releases on Motif and DCE? 14)* What versions of Motif are there? 15)* How can I find which version of Motif I have? Xlib or Xt version? 16) Is there a concise features list for Motif 2.0? 17) What are the details about new features in Motif 2.0? 18) Is there a concise features list for Motif 2.1? 19)+ Is there a concise features list for Motif 2.2? 20) Where can I find Motif 2.1 documentation? 21)* Is the official Motif documentation available on-line? 22) I want to use C++ with Motif. Where can I find C++ examples? 23) Is Motif 2.0 backward compatible with Motif 1.2? 24) How compatible are Motif 1.2.* and X11R6? 25) Why aren't the big UNIX vendors shipping Motif 2.0? 26) Where can I get Motif for UNIX, Linux, or Microsoft Windows? 27) Is there a list of Motif bugs? 28) Where can I get a Motif 1.2 Certification Checklist? 29) What is CDE? What is COSE and how does it relate to Motif? 30)* Is there a CDE FAQ or newsgroup? 31) What is the current version of CDE and what are its features? 32) How does Motif relate to X/Open and CDE? 33) What is The Open Group? 34) Is The Open Group assuming responsibility for the X Window System? 35) What are the current correct trademark statements for X and Motif? 36) Will CDE and Motif converge? What is the CDE/Motif JDA? 37)* Has anyone done a public domain Motif lookalike? 38) Does the Open Group have an application compliance validation service? 39) What is the motif-talk mailing list? 40) How does Motif work with X11R5? 41) Where can I find X technical info on the WWW? 42) What is Broadway? I've heard it called "X on the Web". 43) Where's an HTML version of the Motif FAQ on World Wide Web (WWW)? 44) Where can I get the HTML widget used in Mosaic? 45)* What widgets does Netscape use for its bookmarks list and preference panels? 46) TOPIC: BOOKS and JOURNALS 47) Is there a Motif tutorial? Xt tutorial? X11 tutorial? 48) What books are available for Motif application programmers? 49) What relevant journals are available? 50) TOPIC: MWM and the SHELL WIDGET 51) What is the difference between Motif and mwm? 52) Does anyone have an alternative set of 3-D defaults for a monochrome screen? 53) What are some useful mwm resources I can control? 54) How can I configure mwm, such as changing or adding to root menus? 55) How can my program determine which window manager is running? 56) How can I modify the mwm's window decorations with a resource file? 57) How can I programatically modify the mwm's window decorations? 58) Is there an ICCCM compliant way of setting window manager decorations? 59) How can I put decorations on transient windows using olwm? 60) How can I turn off the Motif window manager functions from the system menu? 61) How can I create a multi-colored window manager icon? 62) How can I keep my shell windows fixed in size? 63) Why is XtGetValues of XmNx and XmNy of my toplevel shell wrong? 64) How do I get XmNx and XmNy positions to be honored correctly? 65) How can my application know when the user has quit Mwm? 66) How can I tell if the user has selected "Close" from the system menu? How do I catch the "Close"? 67) Is there an mwm virtual desktop manager? 68) Why does mwm 1.2 crash on startup? 69) How do I obtain the size of a unmanaged shell widget? 70) How can I create a shell widget with a non-default visual type? 71) Can a non-shell Motif widget have a different visual type from its parent? 72) Why do I get BadMatch errors from my menus when I use a non-default visu- al type for my application shell? 73) How do I popup a scrolled list on top of other widgets? 74) How can I keep my application's window always on top of all other appli- cations' windows? 75) How can I maximize my top level shell? 76) TOPIC: MOTIF DEVELOPMENT TOOLS (GUI BUILDERS and UIMS's) 77)* What GUI tools exist to assist in developing Motif applications? 78) TOPIC: GEOMETRY MANAGEMENT 79) Why is geometry management so important? 80) Why don't my labels resize in a RowColumn widget? 81) Does XmRowColumn support multiple columns with different column widths? 82) Why do composite widgets (including dialogs) that were created after their parents were realized appear smaller under 1.2.3 and later? 83) How does the ScrolledWindow manage resizing? 84) Does the XmPanedWindow widget support horizontal paning? 85) TOPIC: TEXT WIDGET 86) How do XmTextField and a single line XmText widget differ? 87) Why does pressing RETURN in a text widget do nothing? 88) Can you reuse the return value from XtParseTranslationTable? 89) When I add text to a scrolling text widget, how can I get the new text to show? 90) How do I scroll text to display the most recently added information? 91) Does the text widget support 16 bit character fonts? 92) How can I stop the text widget from echoing characters typed? 93) How can I replace characters typed with say a `*'? 94) How can I make a text widget insensitive without graying out the text? 95) How can I best add a large piece of text to a scrolled text widget? 96) How can I get the correct colors for scrolled text widget scrollbars (Sun only)? 97) How can I highlight text in the Text widget? 98) How can I select all of the text in a widget programmatically? 99) Can I customize the pointer cursor or insert position indicator used by the text widget? 100) How can I change colours of text in the Text widget? 101) How can I change the font of text in the Text widget? 102) Is there an emacs binding for the text widget? 103) What if I have problems with the backspace/delete keys? 104) How can I use a file as the text source for a Text widget? 105) How can put Text in overstrike mode instead of insert? 106) How can I make the Delete key do a Backspace? 107) Can I change the tab stops in the XmText widget? 108) TOPIC: LIST WIDGET 109) Should I create an XmList widget as a child of automatic XmScrolledWin- dow or use the XmCreateScrolledList() convenience function? 110) How do I best put a new set of items into a list? 111) Can I have strings with different fonts in a list? 112) Can I get a bitmap to show in a list item like I can in a Label? 113) Can I have items with different colors in a list widget? 114) How can I line up columns in a list widget? 115) Can I grey out an item in a list widget? 116) Can I have multi-line items in a list? 117) How can I tell the position of selected items in a list? 118) How can I configure a scrolled list widget to show a horizontal scrollbar when some list items are wider than the window? 119) How can I programatically select all of the items in an XmList? 120) TOPIC: FILE SELECTION BOX WIDGET 121) What is libPW.a and do I need it? 122) What are these compile errors: Undefined symbol _regcmp and _regex? 123) What's wrong with the Motif 1.0 File Selection Box? 124) How can I keep my file selection boxes from resizing when I change directories or filters? 125) What's wrong with the FileSelectionBox under Solaris? 126) TOPIC: FORM WIDGET 127) Why don't labels in a Form resize when the label is changed? 128) How can I center a widget in a form? 129) How do I line up two columns of widgets of different types? 130) TOPIC: PUSHBUTTON WIDGET 131) Why doesn't the enter or return key activate the button with focus? 132) Why can't I use accelerators on buttons not in a menu? 133) TOPIC: TOGGLEBUTTON WIDGET 134) What widgets give the look of push buttons, but behavior of toggle but- tons? 135) Can I customize XmToggleButton to use my own indicator graphic (e.g., a check mark)? 136) TOPIC: ICON WIDGET and PIXMAPS 137) What is XPM? 138) How do I convert my XPM file into a Pixmap? 139) How can I display a multi-color image in a widget? 140) Can I use XmGetPixmap in Motif 1.2 to create colored images? 141) Why does XpmCreatePixmapFromData fail with a pixmap containing a large number of colors? 142) How can I convert a Sun/GIF/TIFF image to a pixmap? 143) How can I use Motif's pre-defined pixmaps? 144) TOPIC: SCALE AND SCROLLBAR WIDGET 145) Can the XmScale widget have arrows or tick marks in Motif 2.0? 146) How can I set the color of a XmScale widget's trough? 147) How does Motif implement mouse button auto-repeat on the scrollbar's ar- row buttons? 148) TOPIC: LABEL WIDGET 149) How can I align the text in a label (button, etc) widget? 150) Why doesn't label alignment work in a XmRowColumn? 151) How can I set a multi-line label? 152) How can I have a vertical label? 153) How can I have a Pixmap in a Label? 154) Why doesn't the XmLabel widget obey the XmNwith and XmNheight that I give it? 155) How do you set the background color of a label widget using XtVa- TypedArg? 156) TOPIC: DRAWING AREA WIDGET 157) How can I send an expose event to a Drawing Area widget? 158) How can I know when a DrawingArea has been resized? 159) How can I create a drawing area widget with a visual type different from its parent? 160) How can I display postscript in a Motif widget, such as XmDrawingArea? 161) TOPIC: MAIN WINDOW WIDGET 162) How can I create a message window in an XmMainWindow? 163) TOPIC: SCROLLED WINDOW WIDGET 164) How do I tell if a scrolled window's scrollbars are visible? 165) How can I programatically scroll a XmScrolledWindow in XmAUTOMATIC mode? 166) What widget does the XmScrolledWindow use for its clip window? 167) How do I create a scrolled window with only one scrollbar? 168) TOPIC: MENUS 169) How can I change the cursor used in Motif menus? 170) How do I put my help menu on the far right of my menubar? 171) Can I change or disable the menu bar accelerator from the default (F10)? 172) How do I set the current choice in a radio box or an option menu? 173) How can I determine the item selected in a a radio box or option menu? 174) How can I change the cascade indicator on an option menu? 175) How do I unset an XmToggleButton in a radio box? 176) Can I place a radio box in a pulldown menu? 177) How do I make a menu choice insensitive if it was created with XmVa- CreateSimplePulldownMenu? 178) What widgets can I put inside a menubar? 179) Can I have a cascade button without a submenu in a pulldown menu? 180) Should I have a cascade button without a submenu in a pulldown menu? 181) What is the best way to create popup menus? 182) How do popup menus work? 183) How can I disable the button 3 grab if I am not using popup menus? 184) Should I use translation tables or actions for popup menus? 185) What are the known bugs in popup menus? 186) Can I have multiple popup menus on the same widget? 187) How can I change the shell title of a tear-off menu? 188) Can I programmatically tear-off a menu? 189) What widgets are valid within Motif menus? 190) Can I create multi-column popup or pulldown menus? 191) How can I keep my program from hanging if a user activates a popup that is a child of an insensitive push button? 192) TOPIC: DRAG AND DROP 193) Where can I find info and examples of the Motif drag and drop protocol? 194) How can I disable Drag and Drop in my Motif 1.2 client ? 195) Can I register client data for the Motif XmDropSite drop callback? 196) Can unmanged widgets be valid (drag-and-drop) drop sites? 197) TOPIC: INPUT FOCUS 198) How can I specify the widget that should have the keyboard focus when my application starts up? 199) How can I specify my own keyboard traversal order? 200) How can I determine which widget has keyboard focus? 201) How can I direct the keyboard input to a particular widget? 202) How can I have a modal dialog which has to be answered before the appli- cation can continue? 203) TOPIC: MEMORY AND SPEED 204) When can I free data structures passed to or retrieved from Motif? 205) What memory leaks are known? Why does my application grow in size? 206) Why do I get so many uninitilized memory read (UMR) errors when I run Purify[tm] on my Motif programs? 207) Why does my application take a long time to start up? 208) My application is running too slowly. How can I speed it up? 209) Why is my application so huge? 210) How can I improve performance when creating and deleting hundreds of text widgets? 211) After I call XtSetValues, when will I see the changes in my GUI? 212) TOPIC: XMSTRING 213) What string functions differ in Motif 1.1 and 1.2? 214)* How can I get the ASCII text out of an XmString? 215) When can XmStrings used as resources be freed? 216) Why doesn't XmStringGetNextSegment() work properly? 217) Why does using XmStringDraw cause a BadFont error? 218) How can I control color of individual strings to show status, etc.? 219) TOPIC: DIALOGS 220) How do I stop my dialog disappearing when I press the help button? 221) How do I make my own dialog? 222) Why do dialog title bars have "_popup" or "<-popup" concatenated onto the widget name? 223) How can I force a dialog window to display? 224) How can I control placement of a popup widget? 225) How can I set the dialog's default button? 226) How can I create a dialog that behaves like, but looks a little dif- ferent from, XmMessageBox? 227) How can I use Motif's message dialog bitmaps in my own dialogs? 228) TOPIC: LANGUAGE BINDINGS 229) What is ViewKit? Is there a free version? 230) Is there a C++ binding for Motif? 231) How can I avoid C++ String class and typedef char *String conflicts? 232) How can I have a C++ member function in a callback? 233) Is there a Common Lisp binding for Motif? 234) Is there an Ada binding for Motif? (Part 1 of 2) 235) Is there an Ada binding for Motif? (Part 2 of 2) 236) Is there a Poplog binding for Motif? 237) TOPIC: SPECIFIC PLATFORMS 238) Is it easy to build Motif for a Sun? 239) How do I build Motif 1.2.2 on Solaris 2.1 with Sun C? 240) What compile errors/warnings might I get in both Sun 3 and Sun 4? 241) On a Sun 3, what are the mwm startup error messages about? 242) Are there problems making shared libraries on a Sun? 243) Why does the OpenWindows server hangs when I popup a menu with Button 3? 244) Has anyone made shared libraries on an IBM RS/6000? 245) What is the error "Unaligned access in XmString" under Ultrix? 246) Can bugs in Sun's OpenWindows server cause Motif clients to crash? 247) Why does Motif on Linux crash when I open a file selection box? 248) Are there compatibility problems between some Linux Motif libraries and libc5 or glibc? 249) How can I install Motif on my PC? 250) TOPIC: KEYSYMS 251) What is causing the messages "unknown keysym name osfDown..."? 252) What happens if I can't install Motif Keysyms? 253) Why has OSF introduced Keysyms into Motif 1.1? 254) Why do accented characters not work with Motif applications linked with X11R6? What is the Compose file? 255) TOPIC: UIL 256) What is UIL and why is it so popular? 257) What is Mrm? 258) How do I specify a search path for ".uid" files? 259) Can I specify callback functions in resource files? 260) How can I set a multi-line label in UIL? 261) Is there a program that can convert a UIL file to tclMotif? 262) Why does my SCO UIL application fail to open 60 UID files? 263) TOPIC: ICONIFICATION and DE-ICONIFICATION 264) How can I keep track of changes to iconic/normal window state? 265) How can I check if my application has come up iconic? 266) How can I start my application in iconic state? 267) How can an application iconify itself? 268) How can an application de-iconify itself? 269) Why doesn't MWM display an iconify button on my dialog windows? 270) TOPIC: SPECIALIZED WIDGETS 271) Where can I get ComboBox, SpinBox, or Tree graph widgets? 272) How can I create a transparent widget? 273) TOPIC: CREATING WIDGETS 274) What are some good references for creating widgets (subclassing widg- ets)? 275) How can I achieve binary compatibility using the XmResolvePartOffset API? 276) TOPIC: MISCELLANEOUS 277) How can an application be informed of signals? 278) How do I control the repeat rate on a SUN keyboard? 279) How can I identify the children of a manager widget? 280) What functions can an application use to change the size or position of a widget? 281) Can I use XtAddTimeOut, XtAddWorkProc, and XtAddInput with XtAppMain- Loop? 282) Why does XtGetValues for XmNx and XmNwidth return extremely large values? 283) Can I use XmGetPixmap() with widgets that have non-default visual types? 284) What is the matter with Frame in Motif 1.2? 285) What is IMUG and how do I join it? 286) How do I set the title of a top level window? 287) How can I disable the color scheme mechanism in CDE or HP VUE? 288) Can I use editres with Motif? Is there an editres tutorial? 289) Where is the editres protocol documented? 290) Why does an augment translation appear to act as replace for some widg- ets? 291) How do you "grey" out a widget so that it cannot be activated? 292) Can I change the graphics drawn by insensitive widgets? 293) Why doesn't the Help callback work on some widgets? 294)* How can I implement "bubble help" or "tool tips" with Motif? 295) Can I specify a widget in a resource file? 296) Why are only some of my translations are being installed? 297) Can I have separate translations for shifted and unshifted keys? 298) What are these "non-existant passive grab" warnings? 299) How do I have more buttons than three in a MessageBox? 300) How do I create a "busy working cursor"? 301) Can I use the hourglass that mwm uses? 302) What order should the libraries be linked in? 303) How do I use xmkmf for Motif clients? 304) How do I use imake with Motif 2.0? 305) How do I make context sensitive help? 306) How do I debug a modal interaction? 307) Why can't I install my own colormap using XInstallColormap? 308) How do I install a private colormap? 309) How do I get correct shadow colors to match other color changes? 310) What color algorithm does Motif use? 311) How can you access the superclass widget from which Motif convenience dialogs are subclassed? 312) Can the Motif 2.0 Notebook widget display non-rectangular "file tabs"? 313) How does the clipboard mechanism work? 314) Why does the xyz application core dump when I cut and paste? 315) Why is XtWindow(widget) == 0? 316) How do I debug X protocol errors (e.g., BadWindow, BadMatch) in Motif applications? 317) Why doesn't XtNameToWidget (widget, "MyName") work? 318) Why does my callback's client data structure contain incorrect values when the callback is called? 319) How can an application manage events on multiple displays? 320) Can a Motif application create windows on mutiple screens (on a multi- screen workstation)? 321) Why do I get "Error: attempt to add non-widget child "dsm" to parent"? 322) Why do I get link errors about "XShape" symbols? 323) Why do I get link errors about "ICE" and "SM" symbols? 324) Why does my X11R6 program crash with undefined symbol "LowerCase"? 325) How do I programatically control xwd to dump a specific window? 326) How can I display an xwd in a window (without using xwud)? 327) Can I write a multi-threaded Motif application? 328) How can I dump my widget instance tree in a way that reflects the hierarchy? 329) How do I get the events for gadgets? Or the name of the gadget? 330) Can I set the foreground and background colors of gadgets (e.g., con- venience dialog buttons)? 331) Can I use a gadget as the parent of a dialog shell? 332) Which other widget features do gadgets lack? 333) Where can I get the xmon or xscope programs to trace my X protocol? 334) What does the error "Couldn't find per display information" mean? 335) Can I set widget fallback resources after I've called XtAppInitialize()? 336) Can I use the newline character in widget names? 337) Is anybody out there selling Windows95 look-alike widgets? 338) How can I convert my OLIT programs to the Motif look & feel? 339) What does this mean: Warning: Cannot find callback list in XtAddCall- back? 340) If a single widget has multiple callback functions, are they all execut- ed? If so, in what order? 341) Why are some widgets still visible after I call XtDestroyWidget() on them? 342) If I call XtGetValues on a resource that does not exist for a given widget, what value is returned? 343) Can I reparent a widget (change its parent)? 344) Are there any "year 2000" issues within Motif? 345) Can I suppress or customize Motif warning and error messages? 346) TOPIC: Motif FAQ HISTORY and ACKNOWLEDGEMENTS ----------------------------------------------------------------------------- Subject: 0) TOPIC: SUBMITTING SUGGESTIONS, CORRECTIONS, NEW ANSWERS [Last modified: May 97] Answer: If you want to add to the FAQ, here's the procedure.... If you have suggestions or corrections for any of these answers or any additional information, please send them to the e-mail address below. The information will be included in the next revision or two. o Send updates, suggestions, corrections, new answers to: kenton@nojunk.rahul.net (Ken Lee) X/Motif Consultant http://www.rahul.net/kenton/ o _Please_ put "For Motif FAQ" in the Subject line! (This is the best way to catch my attention. Really.) o Please include answers with your FAQ questions. (If are looking for an answer to your questions, you may want to hire a consultant. My company can do e-mail consulting.) o For coding-related issues, I would prefer a short textual description of the your design rather than a long code sample. o If you do submit code, make sure it is well tested, portable, and robust. o If you _do not_ want your name or email address listed in the FAQ, explicitly state this. The information contained herein has been gathered from a variety of sources. In many cases attribution has been lost; if you would like to claim responsibility for a particular item, please let us know. ----------------------------------------------------------------------------- Subject: 1) TOPIC: WHAT IS MOTIF? ----------------------------------------------------------------------------- Subject: 2)* Is the Motif source code publically available? [Last modified: Jan 02] Answer: On May 15, 2000 the Open Group released the Motif source code for Motif 2.1, using a public license, to the Open Source community. On January 29, 2002, Open Motif 2.2 was released. For more information on Open Motif, see: http://www.opengroup.org/openmotif/ This web site includes the latest announcements, open source license details, a FAQ and other documentation, and allows you to download the Motif source code. Some other web sites dedicated to Open Motif are: http://www.motifzone.net/ http://www.metrolink.com/openmotif/ ----------------------------------------------------------------------------- Subject: 3)* What is Motif and how does it relate to the X Toolkit and X Window System? [Last modified: Jan 02] Answer: Motif is a widely-accepted set of user interface guidelines developed by the Open Software Foundation (OSF) around 1989 which specifies how an X Window System application should "look and feel". Motif includes the Motif Toolkit (also called "Xm" or the "Motif widgets"), which enforce a policy on top of the X Toolkit Intrinsics ("Xt"). Xt is really a "mechanism not policy" layer, and Xm provides the specific "look and feel". For example, Xt does not insist that windows have titlebars or menus, but it provides hooks for developers of specific toolkits (Motif, OpenLook, Athena widgets) to take advantage of. In addition to widgets, Motif includes the Motif Style Guide document (as well as several others listed in my FAQ) which details how a Motif user interface should look and behave to be "Motif compliant". The X Toolkit Intrinsics are built upon the lowest programming level API called "Xlib" (X library). Both Xlib and Xt are specified by the Open Group (formerly called the MIT X Consortium), which you can reach at: http://www.camb.opengroup.org/tech/desktop/x/ In early 1996, OSF merged with X/Open to form the Open Group. At the beginning of 1997, the X Consortium closed and transfered ownership of its projects to the Open Group. The Open Group continues development and support on the X Window System, Motif, CDE, and other technologies. On May 15, 2000 the Open Group released the Motif source code, using a public license, to the Open Source community. The current version of Open Motif 2.2, which was released January 29, 2002. For more information, see: http://www.opengroup.org/openmotif/ http://www.motifzone.net/ ----------------------------------------------------------------------------- Subject: 4) Where did the name "Motif" come from? [Last modified: Jun 98] Answer: We had a contest inside of what was then The Open Software Foundation to name this thing that we had up to then called the UEC for User Environment Component. Lots of things were suggested, but Motif was suggested by one of the employees. Ken Flowers, k.flowers@opengroup.org FYI - in the art world, a motif is a recurring artistic symbol or theme. The meaning obviously carries over to the GUI world. Ken Lee, http://www.rahul.net/kenton/ ----------------------------------------------------------------------------- Subject: 5) TOPIC: OTHER RELEVANT NEWSGROUPS AND FAQS [Last modified: Aug 98] Answer: This newsgroup is "comp.windows.x.motif". The WWW URL is: news:comp.windows.x.motif Many other X-related newgroups and FAQs are available. For a full list, see http://www.rahul.net/kenton/xsites.framed.html ----------------------------------------------------------------------------- Subject: 6) TOPIC: FAQ and NEWSGROUP FTP ARCHIVES ----------------------------------------------------------------------------- Subject: 7) Is the FAQ available via FTP? [Last modified: Apr 98] Answer: The Motif FAQ is available as a large single file on Kenton Lee's web site: ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.gz ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html.gz A number of FAQ's (including this one) are available via anonymous ftp at rtfm.mit.edu under the directory pub/usenet. The Motif FAQ is available in 9 parts via anonymous ftp in any of the following directories at rtfm.mit.edu: /pub/usenet-by-group/comp.windows.x.motif /pub/usenet-by-group/comp.answers/motif-faq /pub/usenet-by-group/news.answers/motif-faq There is also a mail server called mail-server@rtfm.mit.edu. To retrieve a file send mail to the server with a subject or body similar to send usenet/comp.windows.x.motif/Motif_FAQ_(Part_1_of_9).Z The Motif FAQ is also available via anonymous ftp as a single file: /contrib/faqs/Motif-FAQ from ftp.x.org. (See also "Is this FAQ accessible via WWW?") ----------------------------------------------------------------------------- Subject: 8) Can I receive email notification when the Motif FAQ is updated? [Last modified: Sept 95] Answer: Yes! Simply follow this link to "The URL-minder: Your Own Personal Web Robot!" http://www.netmind.com/URL-minder/URL-minder.html and register the following ftp URL: ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ (text version) or ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html (HTML version) This free service is brought to you by Netmind at: http://www.netmind.com/ ----------------------------------------------------------------------------- Subject: 9) Is this FAQ accessible via WWW? [Last modified: Apr 98] Answer: You can access the HTML version of this FAQ from my web site, either uncompressed (600KB) or compressed (180KB): ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html ftp://ftp.rahul.net/pub/kenton/faqs/Motif-FAQ.html.gz A list of other web sites (including mirror sites around the world) carrying text and HTML versions of this FAQ is available at: http://www.rahul.net/kenton/mfaq.html Ken Lee Thanks to Greg Ercolano (erco@netcom.com) for providing an awk script that converts my Motif FAQ to HTML. ----------------------------------------------------------------------------- Subject: 10)* Is this newsgroup archived? [Last modified: Nov 98] Answer: http://www.google.com/ archives several years of Usenet traffic. ----------------------------------------------------------------------------- Subject: 11) TOPIC: OSF, MOTIF VERSIONS, CDE, COSE, DCE, The OPEN GROUP ----------------------------------------------------------------------------- Subject: 12) How can I contact the Open Group? [Last modified: Aug 97] Answer: For more information on the Open Group, including a list of e-mail and telephone contacts, see their WWW home page: http://www.opengroup.org/ ----------------------------------------------------------------------------- Subject: 13) Where can I find OSF press releases on Motif and DCE? [Last modified: May 97] Answer: The Open Group web page: http://www.rdg.opengroup.org/press/titles.htm contains Motif and DCE press releases dating back to August, 1996. ----------------------------------------------------------------------------- Subject: 14)* What versions of Motif are there? [Last modified: Jan 02] Answer: Motif 1.0 is based on the R3 toolkit. There are patch releases to 1.0: 1.0.1, 1.0.A, 1.0.2 and 1.0.3, 1.0.4, 1.0.5. 1.0.A was a fairly major patch, as it involved a complete re-engineering of UIL and Mrm. Almost everyone who has 1.0.x has either 1.0.A or 1.0.3. Motif 1.1 is based on the R4 toolkit. The intial version was Motif 1.1.0. Motif 1.1.1 has been released as a patch to licensees with Full Support or Technical Update service. Motif 1.1.2 is a patch release which contains the necessary changes to fix over 80 bugs reported against Motif. It is available to support contract holders (including both full support and update service). The 1.1.3 release fixed a further 150 bugs and was available from August 1991 to support contract holders (including both full support and update service). 1.1.4 offers X11R5 support, but is not an X11R5 product. 1.1.5 was released in June 92 to licensees who hold a Motif Full Support or Update Support contract Motif 1.2.0 was released in April 1992 and is based on the X11R5 toolkit. It offers increased compatibility with international standards, PC-style behavior and binary compatibility with Motif 1.1 applications. New features include drag-and-drop, tear- off menus, toolkit enhancements and new documentation. toolkit. The code is totally ANSI C. Motif 1.2.1 was released September, 1992. Due to an optimisation from 1.2.0 to 1.2.1 object code compiled under 1.2.1 (that is, using 1.2.1 header files) will not link with 1.2.0 libraries (and, very probably, clients that use shared libraries and are linked against 1.2.1 won't startup against 1.2). Motif 1.2.2 was released March, 1993. This release contains over 250 bug fixes, improved text, drag-and-drop features and has less than one reported defect per 1000 lines of code. from dbrooks@osf.org Motif 1.2.3 was released on September 13, 1993. The defect density is measured at < 0.8 known reports per thousand lines. In this release, we have paid particular attention to memory leaks, and have improved drag-and-drop performance greatly. Motif 1.2.4 was released April, 1994. from the OSF README: This patch release contains approximately 240 bug fixes for Motif 1.2. The number of CRs resolved in this release is about 330....Apart from the 64-bit changes, all changes made in this release are fixes for reported bugs. Motif 2.0 was released in August, 1994. For details, see the questions "Is there a concise features list for Motif 2.0?" and "What are the details about new features in Motif 2.0?" Due to binary compatibility problems, this release was not very popular with UNIX vendors. Motif 1.2.5 was released June 15, 1995 ONLY to OSF Motif Support Licensees as part of their maintenance agreement. Motif 1.2.5 includes minor enhancements to support CDE 1.0. Vendors not supporting CDE generally ignored this release and continued to use Motif 1.2.4. Motif 2.1 was released February 5, 1997. For details, see the questions "Is there a concise features list for Motif 2.1?" Open Motif 2.2 was released January 29, 2002. For details, see the questions "Is there a concise features list for Motif 2.2?" ----------------------------------------------------------------------------- Subject: 15)* How can I find which version of Motif I have? Xlib or Xt version? [Last modified: Jan 02] Answer: The macro XmVERSION gives you the version number. The macro XmREVISION gives you the major revision number. The macro XmVersion combines these e.g. a value of 1002 is Motif 1.2. In Motif 1.2, the macro XmUPDATE_LEVEL was added to give the minor revision number (also known as the patch level). To find the version of a compiled Motif library: grep XmVERSION_STRING libXm.a To find the Motif version at run-time, use the global variable: xmUseVersion Ken Lee adds the following for determining the Xlib and Xt version: X11/Xlib.h should have macros like this: #define XlibSpecificationRelease 6 meaning X11R6. Similarly, X11/Intrinsic.h has this in X11R6: #define XtSpecificationRelease 6 ----------------------------------------------------------------------------- Subject: 16) Is there a concise features list for Motif 2.0? [Last modified: Sept 94] Answer: New widgets ComboBox. Notebook. Container/IconGadget. SpinBox. CSText. New features Thermometer Scale and tic marks. ScrollBar sliding/arrow and snapback modes. ScrolledWindow autoscroll and childType. Toggle indeterminate state and new visual. Colors in Gadgets. XmIm API for I18N. XmNlayoutDirection resource everywhere. Natural UnitType conversion syntax. XPM3 (colored icon) format support. The Uniform Transfer Model. General Rendition attributes in XmString (color, multiple fonts, etc) Several Display resources for CDE visual/behavior compatibility. New FileSelectionBox mode (again from CDE). Quick navigate in List. Oriented PanedWindow. Popup menus support. and much more... Extensibility Traits. C++ foundry. Widget writer doc. Exm widget source examples. Xme API (useful _Xm). Desktop Virtual MWM. Workspace Manager. TearOff menu in MWM. Client Command Interface. Colored icon pixmaps (from Xm). Performance & Quality No known Memory Leaks. XmString sharing. XmList creation/setup speedup. GC usage improved. Malloc/free usage. Bitmap allowed for pixmap resources. XmManager no longer blindly selects for PointerMotion XmFileSelectionBox better stat cache. Broader use of Hash tables. Better link profile (Trait + remodularization). X11R6 unofficial support. Hundreds of bug fixes. ----------------------------------------------------------------------------- Subject: 17) What are the details about new features in Motif 2.0? [Last modified: Aug 97] Answer: (See the previous question for a more compact features list.) NOTE: This is a posting by Douglas Rand that was composed by one of the OSF business managers, Darrell Crow (crow@osf.org). OSF also published a nice technical overview in the X Journal. A copy of that report is available on-line at: http://www.opengroup.org/tech/desktop/motif/xjournal.htm Date: 11 Jul 94 15:49:27 GMT From: (Douglas Rand) Organization: Open Software Foundation Subject: Motif 2.0 announcement To: uunet!lobo.gsfc.nasa.gov!motif The following was composed by one of our business managers, Darrell Crow (crow@osf.org), questions may be directed to him. ---------------------------------------- With this posting I hope to answer many questions I've been receiving regarding what is in Motif 2.0 and how does if differ from Release 1.2. This posting contains an overview followed by a bullet item listing of the features and benefits added to Motif in this release. If I didn't answer your questions feel free to direct them to me. At the end, I'll list additional documentation available from OSF. If you're also interested in the licensing and pricing information you can also contact me or the official OSF/Motif channel: direct@osf.org. I hope that this information update is of benefit to you. OSF/Motif has become the major Graphical User Interface (GUI) technology for Open Systems, as well as an IEEE 1295 standard. On Tuesday, June 21, OSF announced its next major release of OSF/Motif, Release 2.0. This release, which is the most extensive and colaborative release of Motif since Motif 1.0 was introduced five years ago, includes new features organized around four major themes: I. Extensibility, 2. Consistency, 3. Improvements and 4. CDE Convergence. Motif 2.0 was a collaborative development effort. Contributors to this release include Lotus Development, IBM, Hewlett-Packard, Digital Equipment, Integrated Computer Solutions, Computer Automation, Groupe Bull, HaL Computer Systems and Unix Systems Laboratories. This release had the goal of allowing developers to easily build new widgets and with support for C++ . This required new extensible features such as subclassing, traits, C++ support and detailed documentation. Like all Xt- based toolkits, subclassing requires detailed knowledge, experience and access to the source code to fully understand Motif's class methods. Motif 2.0 simplified this process by providing extensive documentation and allowing subclassing from the Primitive and Manager classes without requiring access to source code. Documentation of Motif's class methods are included in a new book, The OSF/Motif Widget Writer's Guide. This book provides all necessary information to subclass from Primitive and Manager and numerous examples of subclassing are provided. Traits are a new feature with Motif 2.0 which essentially allow a given behaviour to be associated to a widget irrespective of the widget hierarchial relationships. The number of applications developped in C++ is rapidly growing and C++ programmers are now able to derive new subclasses and still have those C++ widgets usable as regular widgets with the standard API in Motif 2.0 CDE (Common Desktop Environment) convergence. The previous version of OSF/Motif (Release 1.2) introduced major new features such as internationalization, drag-and-drop and tear-off menus. Those features were intended to allow application developers to produce interoperable, easy to use applications for a worldwide market. As a result, this technology was selected to become the basis of the Common Desktop Environment jointly developed by HP, IBM, Novell and SunSoft, proposed to become an X/Open standard. These features as well as the GUI extensions added to the CDE specifications have been added to Release 2.0. PC Consistency has been a major theme of this release. This includes improvements and completions to the toolkit that was begun with Motif 1.2 as well as the addition of seven new widgets (Container, Notebook, icon gadget, spinbox, combobox, CSText and thermometer) common to this environment and finally a new Style Guide. Extensive work has been expended to ensure the convergence of the Windows, CUA, CDE and Motif style both in technology and terminology into a single document. The work for this book will be submitted to the X/Open Fast Track process for incorporation into the X/Open set of specifications. Improvements to the OSF/Motif toolkit are far too numerous to adequately list here. However a brief mention of a few of the major improvements includes the addition of the Unified Transfer Model that simplifies data transfer by all Motif's previous methods, XPM support (ability to read colored icon file for pixmap resources), ScrolledWindow partial scroll and autodrag,Toggle checkmark, indeterminate state, documenting the input methods API for internationalization, upgrading UIL to support 64-bit architecture, platform independence, and support of the new extensibility features and widgets, and finally the Motif Window Manager support of virtual screen, workspace management protocol and root menu additions and etc. This release brings together the most requested features from development community with the single purpose of extending application developers' mission of producing portable, consistent and interoperable applications to the open systems community. Listing of the OSF/MotifR 2.0 Features and Benefits I. MORE EFFICIENT APPLICATION DEVELOPMENT Easier application development to meet new business opportunities and deploy applications faster... Benefit Allows easier extensions to Motif for custom user Features: * New, formal Xme API for integrating custom widgets interfaces, without access to Motif source code * All extensions using Xme API are "full citizens" * Widgets may be added to off-the-shelf Motif products, without recompiling Motif source code * Manager and primitive widget subclassing * C++ base classes provided for C++ widget development * C++ is used for inheritance, but X intrinsics are used for other characteristics * Trait mechanism for OSF/Motif widgets, allowing "multiple inheritance" of C class methods * Extensibility fully documented in Widget Writer's Guide, and Reference documentation * New OSF training: Widget Writing with Motif 2.0 * Examples of custom widgets in C and C++ Feature: Makes it easier for C++ developers to use Motif Benefit: * Motif source code compilable by C++ compiler * Ability to integrate C++ widget extensions (above) Feature: Allows easier exploitation of Motif features for end user benefits Benefit: XmNotebook * Subclass of XmManager * Organizes children into pages, tabs, status area and page scroller XmContainer * Subclass of XmManager * Manages IconGadget children XmIconGadget XmComboBox * Subclass of XmManager * Combines capabilities of a single line XmTextField and XmList XmSpinBox * Subclass of XmManager * Manages multiple traversable children XmScale (thermometer) widget * Subclass of XmManager * New resources added for thermometer behavior XmCSText * Subclass of XmPrimitive * Provides facilities which parallel XmText, but using XmString Uniform transfer model for primary transfer, * secondary transfer, cut and paste, drag and drop Uniform API (with backward compatibility) 2 new callback functions for target identifcation Misc. toolkit enhancements: * Menu system Simplified programming of popup menus Source code reorganization * X pix map (XPM) format, with multicolor icons Misc. toolkit enhancements (continued): * New rendering characteristics for XmString: renditions (fonts, color), tabs, localization components, parsing * List -- Quick navigate * Traversal -- drawing area traversable via keys, virtual key associated with multiple real keys * Visuals (in addition to Toggle Button) * XmScreen resources * Resolution independence -- unit conversion UIL enhancements: * Support for new and custom widgets * UID files -- platform independence * 64-bit architecture support Updates to documentation: Programmer's Guide, Reference Updates to OSF training: * Introduction to Programming * User Interface Design * 2.0 Technical Update Feature: Allows easy integration of applications with Common Desktop Environment (CDE) Benefit: * Contains foundation GUI for CDE * Client-command interface allowing other clients to add commands to MWM menus Feature: Allows easy migration of applications to Motif 2.0 Benefit * Upward binary compatibility of Motif 1.2 toolkit API (Motif 1.2 applications need only re-link) Feature Makes applications easier to troubleshoot & maintain Benefit * Overall quality improvements in Motif * Default density lower than 0.5 DPKLOC EASE OF USE Ease of use by individual computer users... at the application user interface level... Feature: Satisfies rising user expectations for ease of use, leveraging experience with other user interfaces Benefit: User interface capabilities equivalent to those on PCs: * Notebook widget * Container widget * ComboBox widget * SpinBox widget * Scale (thermometer) widget * Availability of formatted editable text Compound String text widget Compound String enhancements to support color, tabs, multiple fonts, etc. * Auto Scrolling * Vertical Paned Window * Update to User Guide Ease of use by individual computer users... at the desktop level... Feature: Allows easier integration with the desktop Benefit: * Contains foundation GUI for Common Desktop Environment (CDE) * Tear-off menu support of mwm's root menu Feature: Allows more natural organization of users' work Benefits: * Virtual screen (desktop panning) support * Workspace management protocol (for third party workspace management solutions that allow users to switch computing context "rooms" for different tasks) EASE OF ENTERPRISE COMPUTING Easier integration of Motif and Motif applications into the enterprise computing environment... Feature: Increases consistency of user interface style across platforms & applications; increases user skill portability Benefits: * Motif 2.0 Style Guide work Technical and terminology convergence among Motif, CDE and CUA * New widget support of converged style * Increased similarity to Windows & CUA behavior: Check marks and crosses in Toggle Button Indeterminate state in Toggle Button Ctrl Button 1 takes focus Menu unpost behavior Quick navigate in list Feature: Increases consistency of a complete user environment across open systems Benefits: * Consistency with the X/Open CDE specification, including virtually all CDE Motif vendor extensions: XmCascadeButton activation via BMenu Enhanced XmFileSelectionBox Default XmNshadowThickness to 1 Thermometer-style XmScale Color pixmaps in XPM format Additional virtual key bindings SpinBox, ComboBox Message catalogs for toolkit error messages Other items controlled by a global resource: ColorObject (standarizes colormap allocation for applications, to enable use of Style Manager application) BSelect and BTransfer integration Dragging non-selectable items disabled Use of TAB key -- XmPushButton navigation Visual additions to XmToggleButton Visual modifications to menus (etched in) Visual modifications to default button in dialogs (focus highlight outside of default visual) Visual modifications to MWM Additional drag icons * Compliance with IEEE 1295 standard * Consistency of Motif vendor implementations: AES Rev D for API stability Validation Test Suite 2.0 for certification Updated Quality Assurance Test Suite for consistency in quality * Continued support of the X Window system (based on * X11R5; tested also with X11R6 ) Feature: Ease of integrating Motif and PC environments Benefits: * Favorable licensing terms to support: PC client-server computing Deployment of PC applications using Motif DLLs * Style convergence to support hybrid user environments WORLD-WIDE ACCEPTANCE Even more acceptable as the preferred user interface for Open Systems, worldwide... Feature Applicable to a wider range of computer users Benefits: * Internationalization enhancements: New API for widget writers to make use of input methods Higher level of internationalization for Middle Eastern languages: Bi-directional layout -- left-to-right/right-to-left geometry management Bi-directional text editing -- left-to-right/right-to-left, single level (unsupported) * 64-bit architecture support * Favorable licensing terms to support: Single user systems Embedded systems Cross-vendor Motif upgrades Shared library distribution with applications * Performance Memory usage Start-up time, for list widget Decreased X resource usage Various optimizations ADDITIONAL AVAILABLE DOCUMENTS FROM OSF. OSF/Motif 2.0 Datasheet OSF/Motif 2.0 Price List OSF/Motif 2.0 Licensing Kit OSF/Motif 2.0 Laymen's Explanation OSF/Motif 2.0 FAQ X/Journal July-August Feature Article on Motif 2.0 FOR MORE INFORMATION ABOUT OSF/MOTIF 2.0, PLEASE CONTACT OSF DIRECT CHANNELS AT: (617)621-7300; email: direct@osf.org OSF and Motif are registered trademarks of the Open Software Foundation, Inc. [end of message from Darrell Crow (crow@osf.org)] ----------------------------------------------------------------------------- Subject: 18) Is there a concise features list for Motif 2.1? [Last modified: Aug 97] Answer: The Open Group's press release for Motif 2.1 is available at: http://www.rdg.opengroup.org/press/5feb97.htm A technical report is also available at: http://www.opengroup.org/tech/desktop/motif/motif.data.sheet.htm The major differences from Motif 2.0 are: 1) The CS text widget from Motif 2.0 is not included. 2) Motif 2.0 word-size independent UID files are no longer supported. Only the Motif 1.2 word-size dependent format is supported. 3) To promote convergence with dtwm, mwm's panning, virtual screen, and workspace features have been removed 4) Support was added for the X print server, including a new print dialog widget 5) The Motif libraries are now thread-safe (if the underlying libraries and system are also thread-safe) 6) Several internationalization features were added, including an on-the-spot input method and vertical text writing 7) Motif 2.1 is based on X11R6.2 and will work properly with X11R6.3 ----------------------------------------------------------------------------- Subject: 19)+ Is there a concise features list for Motif 2.2? [Last modified: Jan 02] Answer: The Open Group's press release for Open Motif 2.2 is available at: http://www.opengroup.org/openmotif/openmotif-2.2.html OpenMotif 2.2 updates OpenMotif 2.1.30. The major change is the addition of 10 new widgets: 1) XmButtonBox 2) XmColorSelector 3) XmColumn 4) XmDataField 5) XmExt18List 6) XmFontSelector 7) XmIconBox 8) XmIconButton 9) XmTabStack 10) XmTree In addition, a ToolTips feature is implemented within the XmPrimitive and XmGadget classes. --------------------------------------------------------------------------- END OF PART ONE
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |