XmScrollBar(3)

NAME

   XmScrollBar  ---  The ScrollBar widget class "XmScrollBar" "widget class"
   "ScrollBar"

SYNOPSIS

   #include <Xm/ScrollBar.h>

DESCRIPTION

   The ScrollBar widget allows the user to view data that is too large  to
   be  displayed  all  at  once.  ScrollBars  are usually located inside a
   ScrolledWindow and adjacent to the widget that contains the data to  be
   viewed. When the user interacts with the ScrollBar, the data within the
   other widget scrolls.

   A ScrollBar consists of two arrows placed at each end of  a  rectangle.
   The  rectangle is called the scroll region. A smaller rectangle, called
   the slider, is placed within the scroll region. The data is scrolled by
   clicking  either arrow, selecting on the scroll region, or dragging the
   slider.  When an arrow is selected, the slider within the scroll region
   is  moved  in  the  direction of the arrow by an amount supplied by the
   application. If the mouse button is held down, the slider continues  to
   move at a constant rate.

   The  ratio  of  the  slider  size  to  the scroll region size typically
   corresponds to the relationship between the size of  the  visible  data
   and  the total size of the data. For example, if 10 percent of the data
   is visible, the slider typically occupies  10  percent  of  the  scroll
   region.  This  provides  the user with a visual clue to the size of the
   invisible data.

   If  the  ScrollBar  parent  is   an   automatic   ScrolledWindow,   the
   XmNtraversalOn default is True. Otherwise, the default is False.

   ScrollBar holds the XmQTnavigator traits.

   Classes
   ScrollBar  inherits  behavior,  resources, and traits from the Core and
   XmPrimitive classes.

   The class pointer is xmScrollBarWidgetClass.

   The class name is XmScrollBar.

   New Resources
   The following table defines a set  of  widget  resources  used  by  the
   programmer  to  specify  data. The programmer can also set the resource
   values for the inherited classes to set attributes for this widget.  To
   reference  a  resource by name or by class in a .Xdefaults file, remove
   the XmN or XmC prefix and use the remaining letters. To specify one  of
   the  defined  values for a resource in a .Xdefaults file, remove the Xm
   prefix and use the remaining letters (in either lowercase or uppercase,
   but  include  any  underscores between words).  The codes in the access
   column indicate if the given resource can be set at creation time  (C),
   set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
   not applicable (N/A).

   
                                  XmScrollBar Resource Set                                
   Name                      Class                   Type            Default      Access 
   
   XmNdecrementCallback      XmCCallback             XtCallbackList  NULL         C      
   
   XmNdragCallback           XmCCallback             XtCallbackList  NULL         C      
   
   XmNeditable               XmCEditable             Boolean         True         CSG    
   
   XmNincrement              XmCIncrement            int             1            CSG    
   
   XmNincrementCallback      XmCCallback             XtCallbackList  NULL         C      
   
   XmNinitialDelay           XmCInitialDelay         int             250 ms       CSG    
   
   XmNmaximum                XmCMaximum              int             100          CSG    
   
   XmNminimum                XmCMinimum              int             0            CSG    
   
   XmNorientation            XmCOrientation          unsigned char   XmVERTICAL   CSG    
   
   XmNpageDecrementCallback  XmCCallback             XtCallbackList  NULL         C      
   
   XmNpageIncrement          XmCPageIncrement        int             10           CSG    
   
   XmNpageIncrementCallback  XmCCallback             XtCallbackList  NULL         C      
   
   XmNprocessingDirection    XmCProcessingDirection  unsigned char   dynamic      CSG    
   
   XmNrepeatDelay            XmCRepeatDelay          int             50 ms        CSG    
   
   XmNshowArrows             XmCShowArrows           XtEnum          XmEACH_SIDE  CSG    
   
   XmNsliderSize             XmCSliderSize           int             dynamic      CSG    
   
   XmNsliderMark             XmCSliderMark           XtEnum          dynamic      CSG    
   
   XmNsliderVisual           XmCSliderVisual         XtEnum          XmSHADOWED   CSG    
   
   XmNslidingMode            XmCSlidingMode          XtEnum          XmSLIDER     CSG    
   
   XmNsnapBackMultiple       XmCSnapBackMultiple     unsigned short  MaxValue     CSG    
   
   XmNtoBottomCallback       XmCCallback             XtCallbackList  NULL         C      
   
   XmNtoTopCallback          XmCCallback             XtCallbackList  NULL         C      
   
   XmNtroughColor            XmCTroughColor          Pixel           dynamic      CSG    
   
   XmNvalue                  XmCValue                int             dynamic      CSG    
   
   XmNvalueChangedCallback   XmCCallback             XtCallbackList  NULL         C      
   
   
   XmNdecrementCallback
             Specifies the list of callbacks that is called when the  user
             takes an action that moves the ScrollBar by one increment and
             the value decreases.  The reason passed to  the  callback  is
             XmCR_DECREMENT.

   XmNdragCallback
             Specifies  the  list  of  callbacks  that  is  called on each
             incremental change of  position  when  the  slider  is  being
             dragged. The reason sent by the callback is XmCR_DRAG.

   XmNeditable
             Specifies  how  ScrollBar  will  react  to  user  input. This
             resource can be True or False values, as follows:

             True      Allows the scrollbar to be sensitive to user input.
                       This is the default value.

             False     Makes  the  Scale  scrollbar  insensitive  to  user
                       input. The visual is not  greyed  out.  This  value
                       would mostly be used in XmTHERMOMETER mode.

             When  XmNeditable is used on a widget it sets the dropsite to
             XmDROP_SITE_ACTIVE.

   XmNincrement
             Specifies  the  amount  by  which  the  value  increases   or
             decreases when the user takes an action that moves the slider
             by one increment.  The actual change in value is  the  lesser
             of XmNincrement and (previous XmNvalue - XmNminimum) when the
             slider moves to the end of the  ScrollBar  with  the  minimum
             value,  and  the  lesser  of  XmNincrement  and  (XmNmaximum-
             XmNsliderSize - previous XmNvalue) when the slider  moves  to
             the  end  of the ScrollBar with the maximum value.  The value
             of this resource must be greater than 0 (zero).

   XmNincrementCallback
             Specifies the list of callbacks that is called when the  user
             takes an action that moves the ScrollBar by one increment and
             the value increases.  The reason passed to  the  callback  is
             XmCR_INCREMENT.

   XmNinitialDelay
             Specifies  the  amount of time in milliseconds to wait before
             starting continuous slider movement while a button is pressed
             in an arrow or the scroll region.  The value of this resource
             must be greater than 0 (zero).

   XmNmaximum
             Specifies the slider's maximum  value.   XmNmaximum  must  be
             greater than XmNminimum.

   XmNminimum
             Specifies  the  slider's  minimum  value.  XmNmaximum must be
             greater than XmNminimum.

   XmNorientation
             Specifies whether the ScrollBar is  displayed  vertically  or
             horizontally.   This  resource  can have values of XmVERTICAL
             and XmHORIZONTAL.

   XmNpageDecrementCallback
             Specifies the list of callbacks that is called when the  user
             takes  an  action  that  moves  the  ScrollBar  by  one  page
             increment and the value decreases.  The reason passed to  the
             callback is XmCR_PAGE_DECREMENT.

   XmNpageIncrement
             Specifies   the  amount  by  which  the  value  increases  or
             decreases when the user takes an action that moves the slider
             by  one  page  increment.   The actual change in value is the
             lesser   of   XmNpageIncrement   and   (previous   XmNvalue -
             XmNminimum) when the slider moves to the end of the ScrollBar
             with the minimum value, and the  lesser  of  XmNpageIncrement
             and  (XmNmaximum- XmNsliderSize - previous XmNvalue) when the
             slider moves to the end of the  ScrollBar  with  the  maximum
             value.   The  value  of  this resource must be greater than 0
             (zero).

   XmNpageIncrementCallback
             Specifies the list of callbacks that is called when the  user
             takes  an  action  that  moves  the  ScrollBar  by  one  page
             increment and the value increases.  The reason passed to  the
             callback is XmCR_PAGE_INCREMENT.

   XmNprocessingDirection
             Specifies  whether  the value for XmNmaximum should be on the
             right or left side of XmNminimum for horizontal ScrollBars or
             above  or  below  XmNminimum  for  vertical ScrollBars.  This
             resource can have values  of  XmMAX_ON_TOP,  XmMAX_ON_BOTTOM,
             XmMAX_ON_LEFT,  and  XmMAX_ON_RIGHT.   If  the  ScrollBar  is
             oriented vertically, the default  value  is  XmMAX_ON_BOTTOM.
             If  the ScrollBar is oriented horizontally, the default value
             depends on the XmNlayoutDirection resource of the widget.

   XmNrepeatDelay
             Specifies the amount of time in milliseconds to wait  between
             subsequent  slider  movements  after  the XmNinitialDelay has
             been processed.  The value of this resource must  be  greater
             than 0 (zero).

   XmNshowArrows
             Specifies  whether  the arrows are displayed and how they are
             to be displayed. This resource can take the following values:

             XmEACH_SIDE
                       Indicates that one arrow is displayed on  each  end
                       of  the  ScrollBar  slider.  This  corresponds to a
                       value of True in previous releases.

             XmMAX_SIDE
                       Indicates that both arrows  are  displayed  on  the
                       XmNmaximum side of the ScrollBar slider.

             XmMIN_SIDE
                       Indicates  that  both  arrows  are displayed on the
                       XmNminimum side of the ScrollBar slider.

             XmNONE    Indicates  that  no  arrows  are  displayed.   This
                       corresponds   to  a  value  of  False  in  previous
                       releases.

             XmEACH_SIDE is the default value.

   XmNsliderMark
             Specifies the shape the slider is to be  displayed  in.  This
             resource can take the following values:

             XmETCHED_LINE
                       Specifies the slider as an etched line.

             XmNONE    Specifies  the  slider as a foregrounded rectangle.
                       This is the default for a regular slider.

             XmROUND_MARK
                       Specifies the slider as a shadowed circle. This  is
                       the default when the slider is a thermometer.

             XmTHUMB_MARK
                       Specifies  the  slider  as a series of three etched
                       lines centered in the middle of the slider.

   XmNslidingMode
             Specifies the  mode  the  slider  works  in.  There  are  two
             possible modes:

             XmSLIDER  Allows  the  slider  to  move  freely  between  the
                       minimum and maximum ends of the scale. This is  the
                       default value.

             XmTHERMOMETER
                       Forces the slider to be anchored to one side of the
                       trough area.

   XmNsliderSize
             Specifies the length of the slider between the  values  of  1
             and  (XmNmaximum -  XmNminimum).  The value is constrained to
             be within these  inclusive  bounds.   The  default  value  is
             (XmNmaximum - XmNminimum) divided by 10, with a minimum of 1.

   XmNsliderVisual
             Specifies  the  color of the slider visual. This resource can
             take the following values:

             XmBACKGROUND_COLOR
                       Specifies  that  the  slider  visual  is   in   the
                       background color.

             XmFOREGROUND_COLOR
                       Specifies   that   the  slider  visual  is  in  the
                       foreground color.

             XmSHADOWED_BACKGROUND
                       Specifies  that  the  slider  visual  is   in   the
                       background  color,  with  a  shadow.   This  is the
                       default for a regular slider.

             XmTROUGH_COLOR
                       Specifies that the slider visual is in  the  trough
                       color.  This  is  the  default when the slider is a
                       thermometer.

   XmNsnapBackMultiple
             Specifies the distance over which the scrollbar slider  snaps
             back  to  its original position when the user drags the mouse
             outside the ScrollBar edge. This distance is defined in terms
             of  multiples  of  the  width  of  the slider. For example, a
             multiple of 0 (zero) causes the slider to snap back  as  soon
             as  the  pointer moves out of the ScrollBar frame, a multiple
             of 1 causes the slider to snap back as soon  as  the  pointer
             moves  beyond  1  ScrollBar  width  of  the  ScrollBar  edge.
             Whenever the slider snaps back, the ScrollBar dragCallback is
             called if there is one.

             The  default  value  is  large  enough  to  prevent  unwanted
             snapBack activity if the mouse is moved within the boundaries
             of  any  reasonable  screen.  To  reset the default, set this
             resource to a large value, such as 10000.

   XmNtoBottomCallback
             Specifies the list of callbacks that is called when the  user
             takes  an  action  that  moves  the  slider to the end of the
             ScrollBar with the maximum value.  The reason passed  to  the
             callback is XmCR_TO_BOTTOM.

   XmNtoTopCallback
             Specifies  the list of callbacks that is called when the user
             takes an action that moves the  slider  to  the  end  of  the
             ScrollBar  with  the minimum value.  The reason passed to the
             callback is XmCR_TO_TOP.

   XmNtroughColor
             Specifies  the  color  of  the  slider  trough.   This  color
             defaults to the color used for selections.

   XmNvalue  Specifies  the  slider's  position,  between  XmNminimum  and
             (XmNmaximum - XmNsliderSize).  The value is constrained to be
             within  these  inclusive  bounds.   The initial value of this
             resource is the larger of 0 (zero) and XmNminimum.

   XmNvalueChangedCallback
             Specifies the list of  callbacks  that  is  called  when  the
             slider  is released after being dragged.  These callbacks are
             also    called    in    place    of     XmNincrementCallback,
             XmNdecrementCallback,               XmNpageIncrementCallback,
             XmNpageDecrementCallback,        XmNtoTopCallback,         or
             XmNtoBottomCallback  when  one  of these callback lists would
             normally  be  called  but  the  value  of  the  corresponding
             resource  is  NULL.   The  reason  passed  to the callback is
             XmCR_VALUE_CHANGED.

   Inherited Resources
   ScrollBar  inherits  behavior  and  resources  from  the   superclasses
   described  in the following tables.  For a complete description of each
   resource, refer to the reference page for that superclass.

   
                                       XmPrimitiveResource Set                                    
   Name                     Class                  Type              Default               Access 
   
   XmNbottomShadowColor     XmCBottomShadowColor   Pixel             dynamic               CSG    
   
   XmNbottomShadowPixmap    XmCBottomShadowPixmap  Pixmap            XmUNSPECIFIED_PIXMAP  CSG    
   
   XmNconvertCallback       XmCCallback            XtCallbackList    NULL                  C      
   
   XmNforeground            XmCForeground          Pixel             dynamic               CSG    
   
   XmNhelpCallback          XmCCallback            XtCallbackList    NULL                  C      
   
   XmNhighlightColor        XmCHighlightColor      Pixel             dynamic               CSG    
   
   XmNhighlightOnEnter      XmCHighlightOnEnter    Boolean           False                 CSG    
   
   XmNhighlightPixmap       XmCHighlightPixmap     Pixmap            dynamic               CSG    
   
   XmNhighlightThickness    XmCHighlightThickness  Dimension         dynamic               CSG    
   
   XmNlayoutDirection       XmCLayoutDirection     XmDirection       dynamic               CG     
   
   XmNnavigationType        XmCNavigationType      XmNavigationType  XmSTICKY_TAB_GROUP    CSG    
   
   XmNpopupHandlerCallback  XmCCallback            XtCallbackList    NULL                  C      
   
   XmNshadowThickness       XmCShadowThickness     Dimension         2                     CSG    
   
   XmNtopShadowColor        XmCTopShadowColor      Pixel             dynamic               CSG    
   
   XmNtopShadowPixmap       XmCTopShadowPixmap     Pixmap            dynamic               CSG    
   
   XmNtraversalOn           XmCTraversalOn         Boolean           dynamic               CSG    
   
   XmNunitType              XmCUnitType            unsigned char     dynamic               CSG    
   
   XmNuserData              XmCUserData            XtPointer         NULL                  CSG    
   
   
   
                                                Core Resource Set                                              
   Name                           Class                          Type            Default               Access 
   
   XmNaccelerators                XmCAccelerators                XtAccelerators  dynamic               CSG    
   
   XmNancestorSensitive           XmCSensitive                   Boolean         dynamic               G      
   
   XmNbackground                  XmCBackground                  Pixel           dynamic               CSG    
   
   XmNbackgroundPixmap            XmCPixmap                      Pixmap          XmUNSPECIFIED_PIXMAP  CSG    
   
   XmNborderColor                 XmCBorderColor                 Pixel           XtDefaultForeground   CSG    
   
   XmNborderPixmap                XmCPixmap                      Pixmap          XmUNSPECIFIED_PIXMAP  CSG    
   
   XmNborderWidth                 XmCBorderWidth                 Dimension       0                     CSG    
   
   XmNcolormap                    XmCColormap                    Colormap        dynamic               CG     
   
   XmNdepth                       XmCDepth                       int             dynamic               CG     
   
   XmNdestroyCallback             XmCCallback                    XtCallbackList  NULL                  C      
   
   XmNheight                      XmCHeight                      Dimension       dynamic               CSG    
   
   XmNinitialResourcesPersistent  XmCInitialResourcesPersistent  Boolean         True                  C      
   
   XmNmappedWhenManaged           XmCMappedWhenManaged           Boolean         True                  CSG    
   
   XmNscreen                      XmCScreen                      Screen *        dynamic               CG     
   
   XmNsensitive                   XmCSensitive                   Boolean         True                  CSG    
   
   XmNtranslations                XmCTranslations                XtTranslations  dynamic               CSG    
   
   XmNwidth                       XmCWidth                       Dimension       dynamic               CSG    
   
   XmNx                           XmCPosition                    Position        0                     CSG    
   
   XmNy                           XmCPosition                    Position        0                     CSG    
   
   
   Callback Information
   A pointer to the following structure is passed to each callback:

   typedef struct
   {
           int reason;
           XEvent * event;
           int value;
           int pixel;
   } XmScrollBarCallbackStruct;

   reason    Indicates why the callback was invoked.

   event     Points to the XEvent that triggered the callback.

   value     Contains the new slider location value.

   pixel     Is used only for  XmNtoTopCallback  and  XmNtoBottomCallback.
             For  horizontal  ScrollBars,  it contains the x coordinate of
             where the  mouse  button  selection  occurred.  For  vertical
             ScrollBars, it contains the y coordinate.

   Translations
   XmScrollBar  includes  translations  from  Primitive.   The XmScrollBar
   translations are described in the following list.

   The following key  names  are  listed  in  the  X  standard  key  event
   translation  table  syntax.   This  format  is the one used by Motif to
   specify the widget actions corresponding  to  a  given  key.   A  brief
   overview  of  the  format  is provided under VirtualBindings(3).  For a
   complete description of the format,  please  refer  to  the  X  Toolkit
   Instrinsics Documentation.

   s c m a <Btn1Down>:
             Select()

   s c m a <Btn1Up>:
             Release()

   s c m a Button1<PtrMoved>:
             Moved()

   s c m a <Btn2Down>:
             Select()

   s c m a <Btn2Up>:
             Release()

   s c m a Button2<PtrMoved>:
             Moved()

   s c m a <Btn1Down>:
             TopOrBottom()

   s c m a <Btn1Up>:
             Release()

   :<Key><osfActivate>:
             PrimitiveParentActivate()

   :<Key><osfCancel>:
             CancelDrag()

   :<Key><osfBeginLine>:
             TopOrBottom()

   :<Key><osfEndLine>:
             TopOrBottom()

   :<Key><osfPageLeft>:
             PageUpOrLeft(Left)

   :c <Key><osfPageUp>:
             PageUpOrLeft(Left)

   :<Key><osfPageUp>:
             PageUpOrLeft(Up)

   :<Key><osfPageRight>:
             PageDownOrRight(Right)

   :c <Key><osfPageDown>:
             PageDownOrRight(Right)

   :<Key><osfPageDown>:
             PageDownOrRight(Down)

   :<Key><osfHelp>:
             PrimitiveHelp()

   :c <Key><osfUp>:
             PageUpOrLeft(Up)

   :<Key><osfUp>:
             IncrementUpOrLeft(Up)

   :c <Key><osfDown>:
             PageDownOrRight(Down)

   :<Key><osfDown>:
             IncrementDownOrRight(Down)

   :c <Key><osfLeft>:
             PageUpOrLeft(Left)

   :<Key><osfLeft>:
             IncrementUpOrLeft(Left)

   :c <Key><osfRight>:
             PageDownOrRight(Right)

   :<Key><osfRight>:
             IncrementDownOrRight(Right)

   s m a <Key>Return:
             PrimitiveParentActivate()

   s m a <Key>Tab:
             PrimitivePrevTabGroup()

   m a <Key>Tab:
             PrimitiveNextTabGroup()

   Action Routines
   The ScrollBar action routines are

   CancelDrag():
             If  the key press occurs during scrolling, cancels the scroll
             and returns the  slider  to  its  previous  location  in  the
             scrollbar,  otherwise,  and  if  the  parent is a manager, it
             passes the event to the parent.

   IncrementDownOrRight(Down|Right):
             With an argument of Down,  or  0  (zero)  for  compatibility,
             moves  the slider down by one increment.  With an argument of
             Right, or 1 for compatibility, it moves the slider  right  by
             one  increment.   If XmNprocessingDirection is XmMAX_ON_RIGHT
             or XmMAX_ON_BOTTOM, movement toward the right or bottom calls
             the      callbacks      for     XmNincrementCallback.      If
             XmNprocessingDirection  is  XmMAX_ON_LEFT  or   XmMAX_ON_TOP,
             movement  toward  the right or bottom calls the callbacks for
             XmNdecrementCallback.  The XmNvalueChangedCallback is  called
             if the XmNincrementCallback or XmNdecrementCallback is NULL.

   IncrementUpOrLeft(Up|Left):
             With  an argument of Up, or 0 (zero) for compatibility, moves
             the slider up by one increment.  With an argument of Left, or
             1  for  compatibility,  it  moves  the  slider  left  by  one
             increment.  If XmNprocessingDirection  is  XmMAX_ON_RIGHT  or
             XmMAX_ON_BOTTOM,  movement  to  the  left  or  top  calls the
             callbacks        for        XmNdecrementCallback.          If
             XmNprocessingDirection   is  XmMAX_ON_LEFT  or  XmMAX_ON_TOP,
             movement  to  the  left  or  top  calls  the  callbacks   for
             XmNincrementCallback.   The XmNvalueChangedCallback is called
             if the XmNincrementCallback or XmNdecrementCallback is NULL.

   Moved():  If the button press occurs within the slider, the  subsequent
             motion  events move the slider to the position of the pointer
             and call the callbacks for XmNdragCallback.

   PageDownOrRight(Down|Right):
             With an argument of Down,  or  0  (zero)  for  compatibility,
             moves  the  slider  down  by  one  page  increment.   With an
             argument of Right, or 1 for compatibility, moves  the  slider
             right  by  one  page increment.  If XmNprocessingDirection is
             XmMAX_ON_RIGHT or XmMAX_ON_BOTTOM, movement toward the  right
             or  bottom  calls the callbacks for XmNpageIncrementCallback.
             If XmNprocessingDirection is XmMAX_ON_LEFT  or  XmMAX_ON_TOP,
             movement    toward    the   right   or   bottom   calls   the
             XmNpageDecrementCallback            callbacks.            The
             XmNvalueChangedCallback       is      called      if      the
             XmNpageIncrementCallback or XmNpageDecrementCallback is NULL.

   PageUpOrLeft(Up|Left):
             With an argument of Up, or 0 (zero) for compatibility,  moves
             the  slider  up  by  one page increment.  With an argument of
             Left, or 1 for compatibility, it moves the slider left by one
             page  increment.  If XmNprocessingDirection is XmMAX_ON_RIGHT
             or XmMAX_ON_BOTTOM, movement to the left  or  top  calls  the
             callbacks       for       XmNpageDecrementCallback.        If
             XmNprocessingDirection  is  XmMAX_ON_LEFT  or   XmMAX_ON_TOP,
             movement     to     the     left    or    top    calls    the
             XmNpageIncrementCallback            callbacks.            The
             XmNvalueChangedCallback       is      called      if      the
             XmNpageIncrementCallback or XmNpageDecrementCallback is NULL.

   PrimitiveHelp():
             Calls the callbacks for  XmNhelpCallback  if  any  exist.  If
             there  are  no  help  callbacks  for this widget, this action
             calls the help callbacks for the nearest  ancestor  that  has
             them.

   PrimitiveNextTabGroup():
             Traverses  to  the  first  item in the next tab group. If the
             current tab group is the last entry in the tab group list, it
             wraps to the beginning of the tab group list.

   PrimitiveParentActivate():
             If the parent is a manager, passes the event to the parent.

   PrimitivePrevTabGroup():
             Traverses  to  the  first item in the previous tab group.  If
             the beginning of the tab group list is reached, it  wraps  to
             the end of the tab group list.

   Release():
             If  the  button press occurs within the slider and the slider
             position     is     changed,      the      callbacks      for
             XmNvalueChangedCallback are called.

   Select(): In  arrow: Moves the slider by one increment in the direction
             of the arrow.  If XmNprocessingDirection is XmMAX_ON_RIGHT or
             XmMAX_ON_BOTTOM,  movement  toward  the right or bottom calls
             the callbacks for XmNincrementCallback, and movement  to  the
             left or top calls the callbacks for XmNdecrementCallback.  If
             XmNprocessingDirection  is  XmMAX_ON_LEFT  or   XmMAX_ON_TOP,
             movement  toward  the right or bottom calls the callbacks for
             XmNdecrementCallback, and movement to the left or  top  calls
             the      callbacks     for     XmNincrementCallback.      The
             XmNvalueChangedCallback is called if the XmNincrementCallback
             or XmNdecrementCallback is NULL.

             In  scroll  region between an arrow and the slider: Moves the
             slider by one page increment in the direction of  the  arrow.
             If     XmNprocessingDirection     is     XmMAX_ON_RIGHT    or
             XmMAX_ON_BOTTOM, movement toward the right  or  bottom  calls
             the  callbacks  for XmNpageIncrementCallback, and movement to
             the    left    or    top    calls    the    callbacks     for
             XmNpageDecrementCallback.    If   XmNprocessingDirection   is
             XmMAX_ON_LEFT or XmMAX_ON_TOP, movement toward the  right  or
             bottom  calls the callbacks for XmNpageDecrementCallback, and
             movement  to  the  left  or  top  calls  the  callbacks   for
             XmNpageIncrementCallback.    The  XmNvalueChangedCallback  is
             called      if      the      XmNpageIncrementCallback      or
             XmNpageDecrementCallback is NULL.

             In slider: Activates the interactive dragging of the slider.

             If the button is held down in either the arrows or the scroll
             region longer than the XmNinitialDelay resource,  the  slider
             is  moved  again by the same increment and the same callbacks
             are called.  After the initial delay has been used, the  time
             delay   changes   to   the   time  defined  by  the  resource
             XmNrepeatDelay.

   TopOrBottom():
             <Ctrl><Btn1Down> in an arrow or in the scroll region  between
             an  arrow  and the slider moves the slider as far as possible
             in the direction of the arrow. If  XmNprocessingDirection  is
             XmMAX_ON_RIGHT  or XmMAX_ON_BOTTOM, movement toward the right
             or bottom calls the callbacks  for  XmNtoBottomCallback,  and
             movement   to  the  left  or  top  calls  the  callbacks  for
             XmNtoTopCallback. If XmNprocessingDirection is  XmMAX_ON_LEFT
             or  XmMAX_ON_TOP,  movement  toward the right or bottom calls
             the callbacks for XmNtoTopCallback, and movement to the  left
             or  top  calls  the  callbacks  for XmNtoBottomCallback.  The
             XmNvalueChangedCallback is called if the XmNtoTopCallback  or
             XmNtoBottomCallback is NULL.  Pressing <Key><osfBeginLine> or
             <Key><osfBeginData> moves the slider to the minimum value and
             invokes  the  XmNtoTopCallback. Pressing <Key><osfEndLine> or
             <Key><osfEndData> moves the slider to the maximum  value  and
             invokes the XmNtoBottomCallback.

   Virtual Bindings
   The  bindings  for  virtual  keys are vendor specific.  For information
   about bindings for virtual buttons and keys, see VirtualBindings(3).

RELATED

   Core(3), XmCreateScrollBar(3), XmPrimitive(3), XmScrollBarGetValues(3),
   XmScrollBarSetValues(3),           XmVaCreateScrollBar(3),          and
   XmVaCreateManagedScrollBar(3).

                                                            XmScrollBar(3)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.