[comp.windows.x.motif] multi-column mwm menus

david@ics.com (David B. Lewis) (08/18/90)

Skip asks:

>>     > Is there a way to define multi-column menus in mwm? Something that would
>>     > display like:
>>     You might try creating a pulldown, and then changing the number of columns
>>     afterwords.  I don't know if it would work, but it's worth a try.
>> 
>> Creating pulldown menus and changing the number of columns from .Xdefaults
>> or .mwmrc seems a strech. Am I missing something?

>Whoops.  Teach me to skim postings!  I was thinking about pulldowns in
>an application menu.  I have no idea how to do it in mwm.  Sorry.
>						-kee

Use the resource manager to affect the widget:
	$ mwm 	-xrm '*_MwmSystemMenu_.numColumns: 2' 
		-xrm '*_MwmSystemMenu_.packing: pack_column'

Other menus have the names defined in your defaults files; use the names
explicitly instead of wild-carding *numColumns and *packing (there are
other RowColumn widgets that mwm creates.)

Note that the general case of defining these for any menu popup or
pulldown menu (not option, though) works as well; the menu does not need
to be created before these resources are set.

montnaro@moose.crd.ge.com (Skip Montanaro) (08/20/90)

I asked:

    Is there a way to define multi-column menus in mwm?

to which David Lewis responded

    Use the resource manager to affect the widget:
	    $ mwm 	-xrm '*_MwmSystemMenu_.numColumns: 2' 
		    -xrm '*_MwmSystemMenu_.packing: pack_column'

This worked fine in .Xdefaults. I just replaced "_MwmSystemMenu_" with the
names of the menus I wanted to be two-dimensional, and presto!

	Mwm*RemoteMenu.numColumns:	2
	Mwm*RemoteMenu.packing:		pack_column
	Mwm*ToolsMenu.numColumns:	2
	Mwm*ToolsMenu.packing:		pack_column

The only ill effect is that f.title and f.separator fields come out a bit
strange.  For instance, they don't span multiple columns, so you have to
insert them twice, plus they don't always show up where you think they
should. The simple fix there was to remove titles and separators from
multi-column menus.

I haven't tried this for menus with pull-right items.