[comp.windows.x] Monochrome Motif resources

yee@osf.org (Michael K. Yee) (08/11/89)

	There has been a bit of discussion on Motif's 3D appearance (or the
	lack of it) on B/W screens.  After a bit of research, I have come
	up with the following .Xdefaults (Mwm app-defaults) file
	AND .mwmrc (system.mwmrc) file.  There are flags for COLOR,
	POINTER(or explicit mode), NOCLEAN(no cleanText for b/w), REVERSE
	(menus only), and NeXT(Motif on a diet).  If you find bugs or make
	improvements, please send them to me. 

	Enjoy,

	=Mike

= Michael K. Yee =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
= OPEN Software Foundation -- 11 Cambridge Center -- Cambridge, MA 02142
= Phone: 617-621-8831      Email: yee@osf.org or uunet!osf.org!yee    First
"All side effects are effects. We can never do merely one thing." Law of Ecology

After the FF, there are two files (the .Xdefaults and .mwmrc) separated by '-'.


------------------------------------ Mwm ---------------------------------------
!
! SAMPLE app-defaults RESOURCE SPECIFICATIONS FOR MWM
!
!#define MWM_POINTER
!#define MWM_NOCLEAN
!#define MWM_REVERSE
!#define MWM_NeXT

!
! component appearance resources 
!
#ifdef MWM_POINTER
Mwm*keyboardFocusPolicy:		pointer
Mwm*buttonBindings:			PointerButtonBindings
!Mwm*passButtons:			True
!Mwm*focusAutoRaise:			True

#else
! EXPLICIT mode
Mwm*keyboardFocusPolicy:		explicit
Mwm*buttonBindings:			ExplicitButtonBindings
Mwm*startupKeyFocus:			False
Mwm*deiconifyKeyFocus:			True
#endif

#ifdef MWM_NeXT
Mwm*clientDecoration:			-resize -border
Mwm*matteWidth:				4
#endif

! SETUP the rest of the Mwm resources
!Mwm*wMenuButtonClick2:			False
!Mwm*wMenuButtonClick:			False
Mwm*resizeBorderWidth:			7
!Mwm*keyBindings:			DefaultKeyBindings
Mwm*moveThreshold:			3

! ICON stuff
Mwm*iconClick:				False
Mwm*iconAutoPlace:			True
!Mwm*iconImageMinimum:			16x16
Mwm*iconDecoration:			label image
Mwm*useClientIcon:			True
!Mwm*iconImage:				~/mylogo.xbm

! FONT stuff
Mwm*fontList:				variable
! Use smaller fixed font for icons
Mwm*icon*fontList:			fixed

#ifdef COLOR
!Mwm*matteBackground:			LightGray
!Mwm*client*activeBackground:		Gold
!Mwm*client*background:			LightSteelBlue
!Mwm*icon*activeBackground:		Gold
!Mwm*icon*background:			LightGray
Mwm*menu*background:			LightGray
Mwm*feedback*background:		LightGray
!Mwm*feedback*confirmbox*highlightColor:	Red

#else
! MONOCHROME setup

#ifdef MWM_REVERSE
Mwm*menu*background:				Black
Mwm*menu*foreground:				White
Mwm*feedback*background:			Black
Mwm*feedback*foreground:			White
!Mwm*menu*bottomShadowPixmap:			50_foreground
Mwm*feedback*bottomShadowPixmap:		50_foreground
!Mwm*menu*topShadowPixmap:			75_foreground
Mwm*feedback*topShadowPixmap:			75_foreground
#endif

#ifdef MWM_NOCLEAN
Mwm*cleanText:				False
Mwm*icon*activeBackground:	 	black
Mwm*icon*activeForeground: 		white
Mwm*icon*activeBackgroundPixmap:	foreground
Mwm*icon*activeBottomShadowPixmap:	50_foreground
Mwm*icon*backgroundPixmap:		foreground
Mwm*title*activeBackground:	 	black
Mwm*title*activeForeground: 		white
Mwm*title*activeBackgroundPixmap:	foreground
Mwm*title*activeBottomShadowPixmap:	50_foreground
Mwm*title*backgroundPixmap:		foreground
Mwm*feedback*backgroundPixmap:		foreground
Mwm*frame*backgroundPixmap:		50_foreground
Mwm*frame*activeBackgroundPixmap:	50_foreground
Mwm*client*backgroundPixmap:		foreground
!Mwm*client*activeBackgroundPixmap:	75_foreground
!Mwm*menu*backgroundPixmap:		foreground
#else
Mwm*cleanText:				True
Mwm*feedback*backgroundPixmap:		foreground
Mwm*activeBackgroundPixmap:		50_foreground
Mwm*activeTopShadowPixmap:		foreground
Mwm*backgroundPixmap:			75_foreground
Mwm*client*topShadowPixmap:		foreground
Mwm*menu*backgroundPixmap:		foreground
#endif
#endif

! Miscellaneous Resource
!Mwm*windowMenu:				DefaultWindowMenu
!Mwm*useIconBox:				True
!Mwm*iconDecoration:			label
!Mwm*iconbox*selectColor:		black
!!Mwm*iconbox*XmDrawnButton*highlightColor: Black
!Mwm*iconbox*hScrollBar*highlightColor: LightGray
!Mwm*iconbox*vScrollBar*highlightColor: LightGray
!Mwm*iconbox*vScrollBar*width:  10
!Mwm*iconbox*hScrollBar*height: 10
!Mwm*iconbox*clientDecoration:		border

!#ifdef MWM_NeXT
!Mwm*Clock*clientDecoration:		none
!Mwm*XLoad*clientDecoration:		none
!Mwm*XClock*clientDecoration:		none
!Mwm*XBiff*clientDecoration:		none
!#else
!Mwm*Clock*clientDecoration:		border
!Mwm*XLoad*clientDecoration:		border
!Mwm*XClock*clientDecoration:		border
!Mwm*XBiff*clientDecoration:		border
!#endif

!
!  END OF RESOURCE SPECIFICATIONS
!

---------------------------------- system.mwmrc --------------------------------
#
#  DEFAULT mwm RESOURCE DESCRIPTION FILE (system.mwmrc)
#


#
# menu pane descriptions
#

# Root Menu Description
Menu RootMenu
{
    "Root Menu"		f.title
    "New Window"	f.exec "xterm &"
    "Shuffle Up"	f.circle_up
    "Shuffle Down"	f.circle_down
    "Refresh"		f.refresh
    no-label		f.separator
    "Restart..."	f.restart
}


# Default Window Menu Description

Menu DefaultWindowMenu MwmWindowMenu
{
    "Restore"	_R	Alt<Key>F5	f.normalize
    "Move"	_M	Alt<Key>F7	f.move
    "Size"	_S	Alt<Key>F8	f.resize
    "Minimize"	_n	Alt<Key>F9	f.minimize
    "Maximize"	_x	Alt<Key>F10	f.maximize
    "Lower"	_L	Alt<Key>F3	f.lower
    no-label				f.separator
    "Close"	_C	Alt<Key>F4	f.kill
}


#
# key binding descriptions
#

Keys DefaultKeyBindings
{
    Shift<Key>Escape            icon|window             f.post_wmenu
    Meta<Key>space              icon|window             f.post_wmenu
    Meta<Key>Tab                root|icon|window        f.next_key
    Meta Shift<Key>Tab		root|icon|window        f.prev_key
    Meta<Key>Escape             root|icon|window        f.next_key
    Meta Shift<Key>Escape       root|icon|window        f.prev_key
    Meta Ctrl Shift<Key>exclam	root|icon|window        f.set_behavior
    Meta<Key>F6			window			f.next_key transient
}
 

Keys SampleKeyBindings
{
    Shift<Key>Escape            icon|window             f.post_wmenu
    Meta<Key>space              icon|window             f.post_wmenu
    Meta<Key>Tab                root|icon|window        f.next_key
    Meta Shift<Key>Tab		root|icon|window        f.prev_key
    Meta<Key>Escape             root|icon|window        f.next_key
    Meta Shift<Key>Escape       root|icon|window        f.prev_key
    Meta<Key>Down               root|icon|window        f.circle_down
    Meta<Key>Up                 root|icon|window        f.circle_up
    Meta Ctrl Shift<Key>exclam	root|icon|window        f.set_behavior
    Meta<Key>F6			window			f.next_key transient
}


#
# button binding descriptions
#

Buttons DefaultButtonBindings
{
    <Btn1Down>          frame|icon      f.raise
}


Buttons SampleButtonBindings
{
    <Btn1Down>          frame|icon      f.raise
    <Btn2Down>          frame|icon      f.post_wmenu
    <Btn1Down>          root            f.menu  RootMenu
    Meta<Btn1Down>	icon|window     f.move
    Meta<Btn3Down>	window          f.minimize
}
 
Buttons ExplicitButtonBindings
{
    <Btn1Down>          frame|icon      f.raise
    <Btn2Down>          frame|icon      f.post_wmenu
    <Btn3Down>          frame|icon      f.lower
    <Btn1Down>          root            f.menu  RootMenu
#    <Btn1Down>          icon          f.normalize
    Meta<Btn1Down>	window|icon     f.lower
    Meta<Btn2Down>	window|icon     f.resize
    Meta<Btn3Down>	window|icon     f.move
#    Meta Shift<Btn1Down> window		f.minimize
#    Meta Shift<Btn2Down> window|icon	f.post_wmenu
#    Meta Shift<Btn3Down> window|icon	f.kill
}
 
Buttons PointerButtonBindings
{
    <Btn1Down>          frame|icon      f.raise
    <Btn2Down>          frame|icon      f.post_wmenu
    <Btn3Down>          frame|icon      f.lower
    <Btn1Down>          root            f.menu  RootMenu
#    <Btn1Down>          icon          f.normalize
# If (Mwm*passButtons == False)
    Meta<Btn1Down>	window|icon     f.raise
# Else
#    <Btn1Down>          window          f.raise
#    Meta<Btn1Down>	window|icon     f.lower
    Meta<Btn2Down>	window|icon     f.resize
    Meta<Btn3Down>	window|icon     f.move
#    Meta Shift<Btn1Down> window		f.minimize
#    Meta Shift<Btn2Down> window		f.post_wmenu
#    Meta Shift<Btn3Down> window		f.kill
}


#
#  END OF mwm RESOURCE DESCRIPTION FILE
#

= Michael K. Yee =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
= OPEN Software Foundation -- 11 Cambridge Center -- Cambridge, MA 02142
= Phone: 617-621-8831      Email: yee@osf.org or uunet!osf.org!yee    First
"All side effects are effects. We can never do merely one thing." Law of Ecology