# Preferences
by Brent Welch

After you have used exmh a little, explore its capabilities: Click on the Preferences button. The preferences scheme has two levels, mainly because there are so many knobs and dials:

1. At the top level, you see a set of buttons that correspond to different modules of the implementation. Clicking on one of the buttons brings up the preferences items for that module.
2. This second-level window has general information about how the preference items affect the module. Each preference item has its own label. You can get more information available about each item by clicking the first mouse button on the item's label. The Figure below has an example.

Figure: A second-level preferences window

You can set three types of options through the Preferences dialog:

- Choices are represented by radio-style buttons; only one button in the set can be enabled at once. Changes take effect immediately.
- Booleans are represented by check-style buttons. A dark checkbox shows that the option is on. Changes take effect immediately.
- Numeric and filename settings have entry widgets in which you can type in a new value. Press <Return> for the change to take effect immediately (or choose Save).

Each type of option is tied to a Tcl variable and an X resource name. Changes in the Preference user interface change the value of the Tcl variable, which affects the exmh runtime behavior.

To cycle through all the preference dialogs, use the `Next` button. `Next` takes you to the next preference section. The `Prev` button brings you back. You should take time, at least once, to go through all the Preference sections and get an idea of what sort of options are available.

If you like your settings, click Save in the main Preferences dialog. That saves the values as X resource settings in your ~/.exmh-defaults file. Click `Reset All` in the main dialog to restore all the settings to those of your last `Save`. Each module's preference dialog has a `Reset` button to reset only that module's settings.

> NOTE: If you click `Dismiss` in the main dialog, some preferences may have been set for the current session, but they won't be saved to your ~/.exmh-defaults file.