# Ferrous Menu (fmenu)
Ferrous Menu (or `fmenu` in short) is a minimal choice selection UI program, similar to `dmenu` or `rofi`, written in rust using FLTK.
# Usage
## Basic Usage
```sh
fmenu -o option1 -o option2 -o option3
```
This will show a window for selecting between the three options `option1`, `option2`, `option3`.
The selected option will be printed to stdout upon successful selection.
If no selection was made (for example because the user pressed `ESC` to close the window), the application will exit with error code 75.
## Reading options from stdin
Instead of giving the options via command-line flags you can also provide them via stdin:
```sh
This will show all files in the current directory for selection.
## Filtering
You can filter the options by typing in a string that should appear anywhere in the desired option. If the string appears anywhere in the list of options it will be shown.
## Configuration
Fmenu can be configured through a configuration file. The default location for the configuration file is `$XDG_CONFIG_DIR/fmenu.rc` and can be overwritten with the `-c <configfile>` argument.
Here's an example configuration file showing all options:
```toml
[window]
width: 800 # width of the window [default: 800]
height: 600 # height of the window [default: 600]
positioning: center # positioning strategy of the window [default: center]
[theme]
theme = "black" # FLTK theme [optional]
```
### Themes
Fmenu uses the [fltk-theme](https://github.com/fltk-rs/fltk-theme) to apply themes. Hence the list of available themes is:
- `Black`
- `Dark`
- `Grey`
- `Shake`
- `Tan`