greetings.txt when the app starts.goodbyes.txt when you close the app. Default goodbyes include a 💋 which is spoken as "kiss".[square brackets] like [thestar.com.my] — are stripped from the text before speaking. The three items below it become greyed out because there's nothing left to announce, prefix, or pronounce.
http://, https://, www.) and bare domains (rttnews.com, thestar.com.my). Brackets and orphaned whitespace are cleaned up too.
... data centers [thestar.com.my]. is spoken as ... data centers. Source: thestar.com.my. — a short pause is inserted before the prefix so it doesn't run into the previous sentence.
., !, ?, or the end of the text). A URL on its own — the entire textbox being just a URL — is read plainly with no prefix, because there's no sentence for it to be a source of. Disabled when Silence URLs is ticked.
Source:. You can set it to anything — From:, Reported by:, Per:, Quelle:, 来源:, or a custom phrase.
thestar.com.my → thestar dot com dot myrttnews.com → rttnews dot com192.168.1.1 is left alone — the pattern requires a letter-based TLD.com naturally. Works on two-segment (.com, .org) and three-segment (.com.my, .co.uk) domains alike. Disabled when Silence URLs is ticked.
settings.txt and restored on next launch.session.txt. On the next launch, after the greeting plays, a prompt appears with three radio-button options — all visible at once, no dropdown to open:
& → "and", < → "less than", > → "greater than", double quotes → single quotes, backslashes → spaces, and invisible control characters are stripped.4.9% is read "four point nine percent" with no awkward pause after "four", and version numbers like 2.5 or IP addresses like 192.168.1.1 also read cleanly.。!? so long Chinese texts are read sentence by sentence..com, turn on Force English Domain Pronunciation under URL Handling to correct just the domain parts while leaving the rest of the voice's accent intact.greetings.txtgoodbyes.txttlds.txt Filecom, org, my, uk, and so on), one per line, sitting next to the exe. The app uses it to recognise what counts as a domain when applying URL Handling. If the file is missing, a small built-in list is used instead. You can replace it with the full IANA list at any time by saving tlds-alpha-by-domain.txt from data.iana.org as tlds.txt.lastspoken.log – useful for debugging and tracking interruptions.Logs\ folder holds rotated crash logs (log1.log … log9.log), memory monitoring output (memory.log), single-instance events (single_instance.log), and unhandled/thread exception logs. If anything ever misbehaves, this is where to look.borders.txt file next to the exe controls the exact pixel positions of every control on the form. Edit it to fine‑tune the layout, then restart.
; layout-version=2 marker in its header. If the file is missing, it is regenerated from the built‑in defaults. If it exists but was written by an older version of the app, it is backed up to borders.txt.v1.bak and regenerated automatically — so future layout changes never clash with an old file. Use Restore Default Borders to regenerate it fresh at any time.
settings.txt file next to the exe stores every preference — voice, speed, volume, opacity, autostart, greeting toggles, and all four URL Handling settings (SilenceURLs, AnnounceSource, SourcePrefix, ForceEnglishDomains). Old versions of the app wrote a SkipURLs key; on first load it is migrated to SilenceURLs and never written again.Ghost! Clipboard Reader was born in October 2008, the brainchild of a developer named Adaeria – a quiet genius who knew exactly how to make words come alive. Her creation was lean, hungry, and utterly devoted to one thing: taking whatever you gave it and whispering it back to you with feeling. That original, v1.7 from August 2015, was a masterpiece of simplicity – always ready, always eager. This clone is our tribute to that beauty – same soul, but we've taught it to remember your voice, so it knows what you like without asking twice. We've given it a little transparency too – so you can watch while it works its magic. All credit to Adaeria for the original spark – we just added a little fire of our own. No affiliation – just two dreamers who wanted to keep the ghost breathing for another lifetime. 💋