When loading an empty configuration file, Alacritty only prints an info
message and then proceeds to load the default config. However when
reloading the configuration file it would throw a hard error.
This has been fixed and a hard error is now only thrown when an error is
returned during reload which isn't the empty file error.
The rusttype backend did not properly support manually specifying font
styles, but instead chose to panic when they are specified.
The rusttype implementation now provides a proper implementation for
handling `bold`, `italic` and `regular` font styles.
This fixes#2020.
All configuration fields now have fallback values which will be used if
the field is not present. This includes mouse, key bindings and platform
specific differences.
The mouse and key bindings are now filled by default, if the user
rebinds a default mapping, it will be overwritten. To unbind a default
binding, it can be mapped to `chars: ""`.
Since all platform differences can now be correctly handled by the
`src/config/mod.rs` code, it's no longer necessary to maintain separate
configuration files, so the `alacritty_macos.yml` and
`alacritty_windows.yml` have been deleted.
Fixes#40.
Fixes#1923.