From: jimb@rcx1.csd.harris.com (Jim Burmeister)
Newsgroups: comp.windows.x.motif
Subject: Motif Vaporware
Date: 21 Jan 93 22:33:04 GMT
Organization: Harris CSD, Ft. Lauderdale, FL
NNTP-Posting-Host: rcx1.ssd.csd.harris.com

At the X Technical Conference, there was a Motif session at which a 
representative of OSF talked about their plans for the next version of
Motif.  So, for those who didn't make it to the session (or didn't make 
it to the conference!), here's the list of new features:

o The next release of Motif will not wait for X11R6--it will be based on
  X11R5.

o They are developing a new mechanism called "traits" which will let you fake
  functionality similar to multiple inheritance.  A trait is a collection
  of methods serving a purpose, and includes things such as resources,
  callbacks, and actions.  The example given was the "pushable" trait,
  i.e. what you can do with buttons.  You could then apply this trait to
  a widget you create, and it would get button-like behavior, without 
  actually having to be subclassed from a button.

o Many of the useful "_Xm" functions will be documented and published.  They
  will most likely be renamed as "XmE" functions.  Functions beginning with
  "_Xm" are still considered OSF private functions.

o Better documentation for the XmPrimitive and XmManager widgets will be
  developed.  This documentation will be aimed at widget writers.  These
  two widgets were chosen since most widget writers subclass off of these
  widgets.

o New widgets will be added.  OSF's intent is to provide any widgets which
  are available in MS Windows or OS/2 Presentation Manager.  Among the new
  widgets:

  o Container widget.  Contains multiple objects.  Objects can be viewed
    in different ways, such as icon view, tree view, and detail view.
    Reminds me of the way Macintosh Finder windows work.

  o Icon gadget.  Used for icons in Container widget (above).  Icon pixmaps
    will be cached automatically.

  o Notebook widget.  Looks like a book, has "pages" that can be access 
    in various ways, including "tabs" sticking out the edges of the book.
    Initial version will not have user-definable bookmarks.

  o Multi-font, multi-color text widget.  Will have full support for compound
    strings, including international and right-to-left text.  This text widget
    is brand new, and will not immediately replace the old text widget.  
    instead, the old one will be kept around, but will not be updated any more.
    Eventually, the old one will be dropped in favor of the new one.

  o Combination box.  I didn't exactly understand this one, but I think it's
    something like a text field with a pop-up arrow next to it, so you can
    either type a selection into the box or pick it from the pop-up menu.

  o Thermometer.  This is an extension of the current Scale widget.  Instead
    of the thumb, the widget "fills up" with color.  Also, scales and
    thermometers will support tick marks with labels along the scale.

  o Scroll bars will have a new option to have the scroll arrows next to each
    other, like the NeXT does.


o The style guide will be updated.  OSF is working with IBM to get a unified
  style guide between Motif and IBM's product.  They also want it similar to
  MS Windows too, but Microsoft isn't directly involved in the current work.

o Working on various new standards, such as session management, desktop
  management, workspace managmement (i.e. rooms), icon management, and
  data interchange (along the lines of Microsoft's OLE and DDE, and Apple's
  Publish & Subscribe).  Unclear whether any of this stuff will actually
  show up in the next release of Motif.


There was some other, smaller stuff, but these are the high points.  If anyone
wants more detail about any of this, or if I missed something, please
follow-up to this post.

Big Disclaimer: I am not speaking for OSF, merely passing along what I heard
at the conference.  I welcome corrections from anyone more knowledgeable than
myself.

-Jim Burmeister, jimb@csd.harris.com
Newsgroups: comp.windows.x.motif