/* $XConsortium: README /main/3 1996/07/15 14:10:03 drk $ */

                       Motif Workspace Manager - Wsm
                       -----------------------------

************************************************************************
*  This demo only works with Mwm 2.0.  It does not work with Mwm 2.1.  *
************************************************************************

The Motif Workspace Manager uses the new Workspace Manager protocol
supported in the Motif Window Manager (Mwm) 2.0.

Wsm provides a way for users to group windows and applications into
workspaces or rooms.  Only one room or workspace is visible at one
time.  By only viewing windows in one workspace at a time, your
desktop can be greatly reduced of clutter.

With Wsm, it is possible to have one window duplicated in multiple
workspaces. These duplicates can be either references to each other,
where the width, height, stacking order and other attributes are
kept the same in each workspace, or they can be copies, where each
instance can have a different position, size, or other attribute
from its counterparts in the other workspaces.  The term 'Link' is
used to refer to duplicates that each reference the same set of
attributes. The term 'Copy' is used to refer to duplicates that
contain their own attribute sets independent from each other.

There are two methods of accessing all the functionality of the
workspace manager. The first is through commands added by Wsm to Mwm
menus. The second is through the interface provided through the
initial WSM dialog.

The Mwm Menu Interface
----------------------

Wsm will add menu entries to Mwm's menus that provide you with the
needed tools to use the capabilities of Wsm.  Each window menu will be
modified by adding the following items:

	Occupy...
		This will display a dialog window allowing you to 
		select which workspaces the associated window should
		be duplicated into.  The dialog also allows either
		Link or Copy the window to each of the selected
		workspaces.

	Copy To All
		This will cause the window to be copied to each of
		the workspaces.

	Link To All
		This will cause the window to be linked to each of
		the workspaces.

	Remove From Workspace
		This will remove the window from this workspace. If
		the window is only in one workspace, then this
		command will be inactive.  It is not possible to
		remove a window from all workspaces using this
		command.


Wsm will modify the root menu (specified by Mwm's resource 'rootMenu')
by adding the following commands:

	Switch Workspace
		This is a cascade menu which will cascade to a menu
		containing an entry for each workspace.  Selecting 
		an item will cause Wsm to switch to the corresponding
		workspace.

	Hide Workspace Manager
	(Show Workspace Manager)
		This will cause the workspace to be unmapped (mapped)
		and the menu item label to be switched to
		Show Workspace Manager (Hide Workspace Manager).



Wsm Dialog Interface
--------------------

The Wsm dialog window contains a menu bar and a rowcolumn contining a
toggle button associated with each workspace.  A popup menu can also
be displayed by pressing Button3 in the rowcolumn area.

The menu bar contains the following:

	File
	----

	Save
		Saves the state of the workspace manager and the
		information it holds for each window. The data is
		stored in the workspace manager configuration file
		which, by default, is $HOME/.wsmdb.

	Save As...
		Prompts for the name of the file to save the workspace
		manager data into.

	Quit
		Terminates the workspace.  Note that there may be
		a slight delay before the workspace manager fully
		terminates since it does some cleaning-up of Mwm's
		menus and removes the items it added.


	Workspace
	---------

	New Workspace
		Creates a new workspace and adds the associated toggle
		button to the rowcolumn.

	Rename Workspaces...
		Displays a dialog window that allows you you to rename
                each of the workspaces.  It also allows you to enter a fully
		qualified bitmap to use as the label instead of the name.

	Set Background...
		This displays a dialog that allows you to specify the
		background color of the workspace.

	Configure Workspaces...
		This displays a dialog that allows you to move windows
		from one workspace to another.  In the dialog, two
		lists are displayed.  On top of each list is an option
		menu that allows you to select the corresponding workspace
		for the windows in the list.  By selecting a window or
		windows in the left list, you can copy or move the
                window to the workspace specified in the list on the
                right. By selecting Remove, you can, instead, remove
                them from the workspace on the left. The buttons at
                the  bottom, Client and Window, will cause
		either all windows for a client to automatically be
		selected, or individual windows.

	Delete Workspaces...
		This displays a dialog prompting you to select the
		workspace(s) you with to delete.



	View
	----

	Hide Workspace Manager
		This will cause the workspace manager to unmap.
		Make sure that Wsm has inserted the command
		'Hide Workspace Manager' into your root menu.
		If not, then you will not be able to restore the
		workspace manager!



The popup menu, displayed by pressing Button3 in the workspace
rowcolumn contains the following items and matches the descriptions
above:

	New Workspace
	Rename Workspaces...
	Set Background...
	Configure Workspaces...
	Delete Workspaces...
	-------------------
	Hide Workspace Manager
	-------------------
	Save
	Save As...
	-------------------
	Exit



Note, by default the workspace manager does not occupy all workspaces.
You should select 'Copy To All' or 'Link To All' the first time Wsm is
used.  After you have saved your configuration, this is no longer
necessary.



Wsm supports the following resources:

	fileName
		Specifies the name of the workspace manager
		configuration file.

	workspaceList
		Specifies the list of workspaces to use.

	backgroundList
		Specifies the background color to apply to each of
		the workspaces.

	labelPixmapList
		Specifies the label image to use for each of the
		workspace buttons.

	currentWorkspace
		Specifies the default workspace from the list of
		workspaces.

	useMenuBar
		If True, a menuBar is displayed in the Wsm main dialog
		window.  The default is True.


Wsm supports the following command-line options:

	-fileName, -file, -f
		Specifies the name of the workspace manager
		configuration file.

	-workspaceList, -wL
		Specifies the list of workspaces to use.

	-backgroundList, -bL
		Specifies the background color to apply to each of
		the workspaces.

	-labelPixmapList, -labelPL
		Specifies the label image to use for each of the
		workspace buttons.

	-currentWorkspace, -cW
		Specifies the default workspace from the list of
		workspaces.

	-showWSDialog, -s
		If True, a menuBar is displayed in the Wsm main dialog
		window.  The default is True.









