Allow users to specify a custom font family for the overlay captions via
a new --overlay-font-family flag, defaulting to "Sans". Validation
ensures the font family is not empty. Updated README, config, and tests.
Add `gtk_label_set_width_chars` to set a concrete width for label allocation,
ensuring long sentences wrap within the configured max-chars bubble width
instead of extending off-screen.
Updated the overlay sink and state to apply a gradual fade from white to gray for completed caption lines over their display lifetime. The `FinalMarkup` method replaces plain `FinalText`, generating Pango markup with decreasing brightness. A periodic refresh timer (200 ms) recalculates colors and expiry, improving visual clarity of line recency. README updated to document the new fade behavior.
- Reduce default overlay-final-timeout from 4s to 3s and validate
that non-zero timeout is at least 3s to prevent captions from
disappearing too quickly.
- Limit completed captions to six lines and keep each visible for
at least 3s, improving readability during fast speech.
- Update README to document new VAD behavior and changed defaults.
Set a fixed width on the caption bubble via `gtk_widget_set_size_request()` using
the effective width parameter, and change label alignment from center to left with
fill halign. Update the `--overlay-max-width` help text and README description to
reflect the new fixed-width behavior (still capped at 80% of monitor width).
Move the executable entry point to `src/cmd/captioneer` and split audio, capture, config, caption, and model logic into separate packages under `src/`. Update README with new build/run commands and a package-overview section.
Restructure Go source code into a dedicated `src/` directory, rename the project from "audio-listen" to "Captioneer", and update README accordingly. Add `.gitignore` entry for the built binary `captioneer`.