## Notice
The following text is directly copied from Menuconfig, and much of the
stuff written in this file will not apply to this version of Mesonconfig.

This place is still a placeholder. File is modified for Markdown support.

## Overview

This interface lets you select features and parameters for the build.  
Features can either be built-in, modularized, or ignored. Parameters  
must be entered in as decimal or hexadecimal numbers or text.

Menu items beginning with following braces represent the following features:

| Symbol | Meaning |
|------|------|
| `[ ]` | can be built in or removed |
| `< >` | can be built in, modularized or removed |
| `{ }` | can be built in or modularized (selected by other feature) |
| `- -` | are selected by other feature |

while `*`, `M` or whitespace inside braces means to build in, build as  
a module or to exclude the feature respectively.

To change any of these features, highlight it with the cursor  
keys and press `<Y>` to build it in, `<M>` to make it a module or  
`<N>` to remove it. You may also press the `<Space Bar>` to cycle  
through the available options (i.e. `Y->N->M->Y`).

Some additional keyboard hints:

## Menus

| Action | Description |
|------|------|
| Use the **Up/Down arrow keys (cursor keys)** to highlight the item you wish to change or the submenu you wish to select and press `<Enter>`. | Submenus are designated by `"--->"`, empty ones by `"----"`. |
| Shortcut | Press the option's highlighted letter (hotkey). Pressing a hotkey more than once will sequence through all visible items which use that hotkey. |
| Scroll | You may also use the `<PAGE UP>` and `<PAGE DOWN>` keys to scroll unseen options into view. |
| Exit menu | Use the cursor keys to highlight the `<Exit>` button and press `<ENTER>`. |
| Exit shortcut | Press `<ESC><ESC>` or `<E>` or `<X>` if there is no hotkey using those letters. You may press a single `<ESC>`, but there is a delayed response which you may find annoying. |
| Tab navigation | The `<TAB>` and cursor keys will cycle between `<Select>`, `<Exit>`, `<Help>`, `<Save>`, and `<Load>`. |
| Help | To get help with an item, use the cursor keys to highlight `<Help>` and press `<ENTER>`. |
| Help shortcut | Press `<H>` or `<?>`. |
| Hidden options | To toggle the display of hidden options, press `<Z>`. |

## Radiolists (Choice lists)

| Action | Description |
|------|------|
| Select option | Use the cursor keys to select the option you wish to set and press `<S>` or the `<SPACE BAR>`. |
| Shortcut | Press the first letter of the option you wish to set then press `<S>` or `<SPACE BAR>`. |
| Help | To see available help for the item, use the cursor keys to highlight `<Help>` and press `<ENTER>`. |
| Help shortcut | Press `<H>` or `<?>`. |
| Tab navigation | The `<TAB>` and cursor keys will cycle between `<Select>` and `<Help>`. |

## Data Entry

| Action | Description |
|------|------|
| Enter value | Enter the requested information and press `<ENTER>`. |
| Hexadecimal note | If you are entering hexadecimal values, it is not necessary to add the `'0x'` prefix to the entry. |
| Help | For help, use the `<TAB>` or cursor keys to highlight the help option and press `<ENTER>`. You can try `<TAB><H>` as well. |

## Text Box (Help Window)

| Action | Description |
|------|------|
| Scrolling | Use the cursor keys to scroll up/down/left/right. |
| VI keys | The **VI editor** keys `h`, `j`, `k`, `l` function here as do `<u>`, `<d>`, `<SPACE BAR>` and `<B>` for those who are familiar with **less** and **lynx**. |
| Exit | Press `<E>`, `<X>`, `<q>`, `<Enter>` or `<Esc><Esc>` to exit. |

## Alternate Configuration Files

Menuconfig supports the use of alternate configuration files for  
those who, for various reasons, find it necessary to switch  
between different configurations.

The `<Save>` button will let you save the current configuration to  
a file of your choosing. Use the `<Load>` button to load a previously  
saved alternate configuration.

Even if you don't use alternate configuration files, but you find  
during a Menuconfig session that you have completely messed up your  
settings, you may use the `<Load>` button to restore your previously  
saved settings from `".config"` without restarting Menuconfig.

## Other information

If you use Menuconfig in an **XTERM** window, make sure you have your  
`$TERM` variable set to point to an xterm definition which supports  
color. Otherwise, Menuconfig will look rather bad. Menuconfig will  
not display correctly in an **RXVT** window because rxvt displays only one  
intensity of color, bright.

Menuconfig will display larger menus on screens or xterms which are  
set to display more than the standard **25 row by 80 column** geometry.  
In order for this to work, the `"stty size"` command must be able to  
display the screen's current row and column geometry. I **STRONGLY**  
RECOMMEND that you make sure you do **NOT** have the shell variables  
`LINES` and `COLUMNS` exported into your environment. Some distributions  
export those variables via `/etc/profile`. Some **ncurses** programs can  
become confused when those variables (`LINES` & `COLUMNS`) don't reflect  
the true screen size.

## Optional personality available

If you prefer to have all of the options listed in a single menu,  
rather than the default multimenu hierarchy, run the menuconfig with  
`MENUCONFIG_MODE` environment variable set to `single_menu`. Example:

```
make MENUCONFIG_MODE=single_menu menuconfig
```

`<Enter>` will then unroll the appropriate category, or enfold it if it  
is already unrolled.

Note that this mode can eventually be a little more CPU expensive  
(especially with a larger number of unrolled categories) than the  
default mode.

## Search

Pressing the forward-slash (`/`) anywhere brings up a search dialog box.

## Different color themes available

It is possible to select different color themes using the variable  
`MENUCONFIG_COLOR`. To select a theme use:

```
make MENUCONFIG_COLOR=<theme> menuconfig
```

Available themes are:

| Theme | Description |
|------|------|
| `mono` | selects colors suitable for monochrome displays |
| `blackbg` | selects a color scheme with black background |
| `classic` | theme with blue background. The classic look |
| `bluetitle` | an LCD friendly version of classic. (default) |