[0m


WM(1)		    UNIX Programmer's Manual		    WM(1)



[1mNAME
     [0mwm - a simple real-estate-driven window manager

[1mSYNOPSIS
     wm [0m[-display _d_i_s_p_l_a_y]

[1mDESCRIPTION
     [0m_W_m is a very primitive overlapping window manager for _X_1_1.
     It was developed to help with the debugging of the _X_1_1
     server; we do not suggest that the user interface presented
     here is a desired one, and we do not suggest that you try to
     use this program on a regular basis.

     _W_m decorates each mapped appliction window with a banner.
     The banner consists of four fields.  Left-to-right, they
     are:

     _C_i_r_c_u_l_a_t_e _b_u_t_t_o_n - A command button which causes the window
     to change its position in the stacking order.

     _T_i_t_l_e _r_e_g_i_o_n - An area in which an applications name or
     other specified information is displayed.	It is also used
     by the user to move the window.

     _I_c_o_n_i_z_e _b_u_t_t_o_n - A command button which causes the window to
     be replaced by an icon.

     _R_e_s_i_z_e _b_u_t_t_o_n - A command button which allows the user to
     change the size of the window.

     _W_m supports the following user actions:

     Raising or lowering a window in the stack of windows
      Locating the pointer cursor in the Circulate box of a par-
      tially obscured window and clicking with any pointer button
      will raise this window to the top of the stack of windows
      so that it is no longer obscured.  Locating a pointer cur-
      sor in the Circulate box of a window which is currently on
      top of the window stack will send the window to the bottom
      of the stack.

     Iconizing a window
      Locating the pointer cursor in the Iconize box and clicking
      any pointer button will cause the window to be unmapped,
      and the associated icon to become mapped.  The icon will
      appear at its last location, or, if this window has never
      been iconized, under the cursor.	However, if the client
      program initially set an icon position in the WM_HINTS pro-
      perty, then that icon position will be used instead as the
      initial icon position.  To position an icon while iconizing
      the window, locate the cursor in the Iconize box and press
      down any pointer button.	A rubber-band outline of the icon



Printed 29/3/95           1 March 1988				1






WM(1)		    UNIX Programmer's Manual		    WM(1)



      will appear under the cursor.  While holding down the
      pointer button, drag the cursor to the desired location for
      the icon.  The outline will follow the cursor on the
      screen.  When the outline moves to the desired location for
      the icon, release the pointer button.  The client window
      will be unmapped, and its icon will appear at the desired
      location. To cancel this operation while the pointer button
      is down, click another pointer button.

     Deiconizing an icon
      Locating the pointer cursor in an icon and clicking any
      pointer button will cause the icon to be unmapped, and the
      associated window to become mapped. To cancel this opera-
      tion while the pointer button is down, click another
      pointer button.

     Moving a window on the screen
      Locating pointer cursor in the area of the title region and
      pressing any pointer button causes a "rubber-band" outline
      of the window to appear.	As the user moves ("drags") the
      cursor (while holding down the pointer button), the outline
      moves accordingly.  When the button is released, the window
      is repainted in the last location of the rubber-band out-
      line.  If the user presses another pointer button during
      the drag, the operation is cancelled, the rubber-band out-
      line disappears, and the window is not moved.  Note that a
      portion of the title region is constrained to remain on the
      screen.

     Resizing a window.
      Locating the pointer cursor in the resize box and pressing
      any pointer button initiates the spring-loaded resize mode.
      Then as soon a the cursor touches a border (while the
      pointer button is down), that border becomes a rubber-band
      line which follows the cursor until the button is released.
      If the cursor then touches an adjacent border, that border
      also becomes a rubber-band line, and the window can be
      resized in two dimensions at once. If the cursor touches a
      border after having touched the opposite border, the first
      border touched reverts to its original location, and the
      other one becomes a rubber-band line which follows the cur-
      sor.  If the user presses another pointer button during the
      drag, the operation is cancelled, the rubber-band outline
      disappears, and the window does not change size.	Note that
      the pointer cursor has to touch a border to initiate th
      resize action.  As in the move operation, a protion of the
      title region is constrained to remain on the screen.

     Moving an icon on the screen
      To move an icon, press the Shift key and hold it, then
      position the pointer cursor in the icon, press any pointer
      button, and proceed dragging an outline of the icon around



Printed 29/3/95           1 March 1988				2






WM(1)		    UNIX Programmer's Manual		    WM(1)



      by moving the pointer cursor (with the pointer button
      down).  When the outline moves to the desired position,
      release the pointer button and the Shift key.  To cancel,
      click another pointer button during the drag; the icon will
      not move.

[1mNOTES FOR CLIENT PROGRAMS
     [0m_W_m uses the WM_ICON_NAME, WM_NAME, and WM_HINTS properties.
     It keeps the name in the Title region updated as the WM_NAME
     property changes.	It keeps the name in the icon updated as
     the WM_ICON_NAME property changes; if a client does not set
     the WM_ICON_NAME property, _w_m will use the WM_NAME property
     for the icon name.  _W_m allows only text icons, and sets the
     icon sizes to accommodate the icon name.  The maximum name
     length for both the icon name and the Title region name is
     100 characters.

     Of the WMHints, _w_m ignores all but icon_x and icon_y, which
     it uses for initial icon placement.  These need to be set by
     the client before its window is mapped, because _w_m reads
     them only once, when it first encounters the window.

[1mSEE ALSO
     [0mX(1), _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n _C_o_n_v_e_n_t_i_o_n_s _M_a_n_u_a_l

[1mBUGS
     [0mThis program does not necessarily implement the current win-
     dow manager protcols.

[1mDIAGNOSTICS
     [0mIf you try to run _w_m while you are already running a window
     manager, _w_m will let you know.

[1mCOPYRIGHT
     [0mCopyright 1988, Massachusetts Institute of Technology.
     See _X(_1) for a full statement of rights and permissions.

[1mAUTHOR
     [0mHania Gajewska, DEC WSL Dave Rosenthal, Sun Microsystems
















Printed 29/3/95           1 March 1988				3



[0m