1mNAME0m
       pack - Obsolete syntax for packer geometry manager

1mSYNOPSIS0m
       1mpack after 4m22msibling24m 4mwindow24m 4moptions24m ?4mwindow24m 4moptions24m ...?

       1mpack append 4m22mparent24m 4mwindow24m 4moptions24m ?4mwindow24m 4moptions24m ...?

       1mpack before 4m22msibling24m 4mwindow24m 4moptions24m ?4mwindow24m 4moptions24m ...?

       1mpack unpack 4m22mwindow0m


1mDESCRIPTION0m
       4mNote:24m 4mthis24m 4mmanual24m 4mentry24m 4mdescribes24m 4mthe24m 4msyntax24m 4mfor24m 4mthe24m 1mpack 4m22mcommand24m 4mas24m 4mit0m
       4mexisted24m 4mbefore24m 4mTk24m 4mversion24m 4m3.3.24m  4mAlthough24m 4mthis24m 4msyntax24m  4mcontinues24m  4mto24m  4mbe0m
       4msupported24m  4mfor24m 4mbackward24m 4mcompatibility,24m 4mit24m 4mis24m 4mobsolete24m 4mand24m 4mshould24m 4mnot24m 4mbe0m
       4mused24m 4manymore.24m  4mAt24m 4msome24m 4mpoint24m 4min24m 4mthe24m 4mfuture24m 4mit24m  4mmay24m  4mcease24m  4mto24m  4mbe24m  4msup-0m
       4mported.0m

       The packer is a geometry manager that arranges the children of a parent
       by packing them in order around the edges of  the  parent.   The  first
       child  is  placed  against one side of the window, occupying the entire
       span of the window along that side.  This reduces the  space  remaining
       for  other children as if the side had been moved in by the size of the
       first child.  Then the next child is placed against  one  side  of  the
       remaining  cavity,  and  so  on  until all children have been placed or
       there is no space left in the cavity.

       The 1mbefore22m, 1mafter22m, and 1mappend 22mforms of the 1mpack  22mcommand  are  used  to
       insert  one  or  more children into the packing order for their parent.
       The 1mbefore 22mform inserts the  children  before  window  4msibling24m  in  the
       order;   all  of  the  other  windows must be siblings of 4msibling24m.  The
       1mafter 22mform inserts the windows  after  4msibling24m,  and  the  1mappend  22mform
       appends one or more windows to the end of the packing order for 4mparent24m.
       If a 4mwindow24m named in any of these commands is  already  packed  in  its
       parent,  it  is  removed from its current position in the packing order
       and repositioned as indicated by the command.  All  of  these  commands
       return an empty string as result.

       The  1munpack  22mform  of  the 1mpack 22mcommand removes 4mwindow24m from the packing
       order of its parent and unmaps it.  After the execution of this command
       the packer will no longer manage 4mwindow24m's geometry.

       The  placement  of  each  child  is  actually  a four-step process; the
       4moptions24m argument following each 4mwindow24m consists of a  list  of  one  or
       more  fields  that govern the placement of that window.  In the discus-
       sion below, the term 4mcavity24m refers to the space left in a parent when a
       particular  child  is placed (i.e. all the space that wasn't claimed by
       earlier children in the packing order).  The term 4mparcel24m refers to  the
       space  allocated  to  a  particular child;  this is not necessarily the
       same as the child window's final geometry.

       The first step in placing a child is to determine  which  side  of  the
       cavity  it  will  lie against.  Any one of the following options may be
       used to specify a side:

       1mtop    22mPosition the child's parcel against the top of the cavity, occu-
              pying the full width of the cavity.

       1mbottom 22mPosition  the  child's  parcel against the bottom of the cavity,
              occupying the full width of the cavity.

       1mleft   22mPosition the child's parcel against the left side of the cavity,
              occupying the full height of the cavity.

       1mright  22mPosition  the  child's parcel against the right side of the cav-
              ity, occupying the full height of the cavity.

       At most one of these options should be specified for any given  window.
       If no side is specified, then the default is 1mtop22m.

       The  second  step  is to decide on a parcel for the child.  For 1mtop 22mand
       1mbottom 22mwindows, the desired parcel width is normally the  cavity  width
       and  the  desired  parcel  height  is the window's requested height, as
       passed to 1mTk_GeometryRequest22m. For 1mleft 22mand 1mright 22mwindows,  the  desired
       parcel  height  is  normally the cavity height and the desired width is
       the window's requested width.  However, extra space  may  be  requested
       for the window using any of the following options:

       1mpadx 4m22mnum24m    Add  4mnum24m pixels to the window's requested width before com-
                   puting the parcel size as described above.

       1mpady 4m22mnum24m    Add 4mnum24m pixels to the window's requested height before com-
                   puting the parcel size as described above.

       1mexpand      22mThis  option  requests  that the window's parcel absorb any
                   extra space left over in the parent's cavity after  packing
                   all the children.  The amount of space left over depends on
                   the sizes requested by the other children, and may be zero.
                   If several windows have all specified 1mexpand 22mthen the extra
                   width will be divided equally among all the 1mleft 22mand  1mright0m
                   windows  that specified 1mexpand 22mand the extra height will be
                   divided equally among all the 1mtop 22mand 1mbottom  22mwindows  that
                   specified 1mexpand22m.

       If  the  desired width or height for a parcel is larger than the corre-
       sponding dimension of the cavity, then the cavity's dimension  is  used
       instead.

       The third step in placing the window is to decide on the window's width
       and height.  The default is  for  the  window  to  receive  either  its
       requested  width  and  height  or the those of the parcel, whichever is
       smaller.  If the parcel is larger than  the  window's  requested  size,
       then  the  following  options  may be used to expand the window to par-
       tially or completely fill the parcel:

       1mfill   22mSet the window's size to equal the parcel size.

       1mfillx  22mIncrease the window's width to equal  the  parcel's  width,  but
              retain the window's requested height.

       1mfilly  22mIncrease  the  window's height to equal the parcel's height, but
              retain the window's requested width.

       The last step is to decide the window's location within its parcel.  If
       the  window's  size  equals  the  parcel's size, then the window simply
       fills the entire parcel.  If the parcel is larger than the window, then
       one  of  the  following options may be used to specify where the window
       should be positioned within its parcel:

       1mframe center   22mCenter the window in its parcel.  This is the default if
                      no framing option is specified.

       1mframe n        22mPosition  the  window  with its top edge centered on the
                      top edge of the parcel.

       1mframe ne       22mPosition the window with its upper-right corner  at  the
                      upper-right corner of the parcel.

       1mframe e        22mPosition  the window with its right edge centered on the
                      right edge of the parcel.

       1mframe se       22mPosition the window with its lower-right corner  at  the
                      lower-right corner of the parcel.

       1mframe s        22mPosition the window with its bottom edge centered on the
                      bottom edge of the parcel.

       1mframe sw       22mPosition the window with its lower-left  corner  at  the
                      lower-left corner of the parcel.

       1mframe w        22mPosition  the  window with its left edge centered on the
                      left edge of the parcel.

       1mframe nw       22mPosition the window with its upper-left  corner  at  the
                      upper-left corner of the parcel.

       The packer manages the mapped/unmapped state of all the packed children
       windows.  It automatically maps the windows when it packs them, and  it
       unmaps any windows for which there was no space left in the cavity.

       The  packer  makes geometry requests on behalf of the parent windows it
       manages.  For each parent window it requests a  size  large  enough  to
       accommodate  all the options specified by all the packed children, such
       that zero space would be leftover for 1mexpand 22moptions.


1mKEYWORDS0m
