
$XConsortium: README /main/4 1996/06/20 09:47:10 rswiston $

Conditional Compilation 
-----------------------

The following is a listing of the conditional compilation switches that
are "not obvious." Excluded are hardware or OS identifiers (e.g. __ultrix),
header file include flags, and macros (e.g. ABS).

    ALTERNATE_POSTMENU
	This turns on menu posting by a simple call to XtManageChild.
	Normally, some underbar routines are called.

    DT_LEFT_JUSTIFY_TITLE
	This causes the text in the window titles to be left justified 
	instead of centered. NOTE that WSM must also be turned on for
	this to take effect.

    CONCAT_TEXTLIST
	If turned on, then all members of compound text window 
	properties (WM_NAME, WM_ICON_NAME) are converted to XmStrings
	and concatenated together. Normally, only the first member
	is taken.

    CONFIG_RELATIVE_TO_CLIENT
	If defined, then programmatic window configurations are
	absolute. Normally, the window frame offset is taken into
	account if it would have been during a user-driven config.

    DEBUG
	Turns on code that prints out error messages (specifically
	protocol errors).

    DEBUGGER
	Turns on code to help debugging Help-on-item.

    DEBUG_ICON_BOX
	Turns on code that alters iconbox spacing to help debug iconbox.
	(?)

    DEBUG_RESOURCE_DATABASE
	Turns on code that dumps out dtwm's local resource database 
	to aid in debugging resource problems.

    DEBUG_SESSION_HINTS
	If defined, the session hints property is left on the root
	window after being read. Normally, it is deleted.

    DISALLOW_DEEP_ICONS
	Turns off code that allows icon pixmaps of depth greater than
	one.

    DONT_FILTER_ICON_WINDOWS
	This disables code that tries to prevent an icon window from being
	managed as a normal toplevel window.

    FUTURE
	This appears to enable code that will allow item help to work
	over window icons. I suspect that this is not completely
	implemented.

    HP_VUE
	This enables code that provides compatibility with HP_VUE. 

    ICCC_COMPLIANT
        This enables stricter ICCCM compliance. Specifically, some
	clients didn't get WM_PROTOCOLS quite right.

    INTEGRATION_TESTING_
	Swaps assignment of black and white on wait state cursor as
	a quick indicator of which client is showing the wait state.

    LARGECURSORS
	Allows cursors larger than 16x16.

    MCCABE
	Conditional compile for McCabe complexity metrics.

    MESSAGE_CAT
	Enables message catalog code for local language support.

    MINIMAL_DT
	Enables some code for "light weight" version of dtwm. (This
	isn't meaningful any more since we've dumped the BMS.)

    MOTIF_DEFAULT_ICON
	Enables the default window icon with four buttons.

    MOTIF_ONE_DOT_ONE
	Enables compatibility with Motif 1.1 libraries.

    NO
	Vestigal/experimental code for position help dialog (WmHelp.c).

    NOTDONE
	Vestigal/experimental code to reduce output to feedback window
	(WmFeedback.c).

    NO_MULTIBYTE
	If defined, then code to support multibyte character sets is
	removed. 

    NO_OL_COMPAT
	If defined, then code to read and interpret Open Look window
	manager hints is removed.

    NO_SETPGRP
        If defined, then child processes started by f.exec are not
	put into their own process group.

    NO_SHAPE
	If defined, then the shape extension is not supported.

    NO_WMQUERY
	If defined, the code to provide the WM_QUERY functionality is
	removed.

    NO_DT
	If defined, then code that references the Dt library is removed.

    OLD
	Vestigal code in WmHelp.c

    OLD_CODE
	Vestigal code.

    OLD_COLORMAP
	Vestigal code.

    OLD_TAKE_FOCUS
	Vestigal code.

    PANACOMM
	HP Panacom division modification to support clients running
	in their X terminals.

    PANELIST
	Front panel code.

    PARANOID
	If enabled, the a server grab is done around a property read. 
	(This is probably not necessary.)

    PORT_NOVFORK
	Enable for systems that don't have the vfork() call.

    PORT_OLDXLIB
	Enables code that works around an old bug in XGetClassHint().

    R2_COMPAT
	Enables support for old clients that still pass window geometry
	hint information in WM_NORMAL_HINTS.

    REV_INFO
	Revision information.

    ROOT_ICON_MENU
	Experimental code to provide MS Windows-like traversal of focus
	between root icons with menus posted.

    SGI_FOCUS_PATCH
	Fixes a specific window focus problem.

    UNMAP_ON_RESTART
	All windows are unmapped on restart.

    VERBOSE_REV_INFO
	Revision information.

    WSM
	Workspace manager code.

    _BMS
	Formerly used to denote code that interfaced to the HP Broadcast
	message server. This code has been switched over to ICCC
	messaging. The ifdef's should be removed, the code should stay.

    _CMDINV
	The #ifdef is somewhat vestigal--it's not even put in
	correctly. This brackets code that is partly used to send the
	ready message. It should be removed, the code should stay. 

    _NO_PROTO
	If turned on, then pre-ANSI function prototypes are used.

    _NO_WM
	Enables testing code in WmPanel.c that allows it to be compiled
	with a test program outside of the window manager.

    notdef
	Enables more complete resource comparison in WmResource.c which
	could make resource utilization more optimal. This is currently 
	turned off to avoid some problems with the pixmap resources.
