Small Windows-first Python desktop tool that grabs the currently selected text, translates it from English to Russian, and shows the result in a fast overlay card.
- Registers a global hotkey
- Copies the current text selection with
Ctrl+C - Sends the text to a translation model
- Shows the translated result in a custom overlay in the bottom-right corner
- Can run quietly in the background and auto-start with Windows
clipgloss-overlay/
app.py
background_runner.py
requirements.txt
.env.example
.gitignore
run.ps1
run.bat
start-background.ps1
install-startup.ps1
README.md
- Windows 10 or Windows 11
- Python 3.10 or newer
- Internet access to your translation provider
- A DeepSeek API key or an OpenRouter API key
- Download Python 3.10+ from python.org.
- Run the installer.
- Enable
Add python.exe to PATH. - Finish installation.
- Verify in PowerShell:
py -3 --versionClone the repository and open PowerShell in the project folder:
git clone https://github.com/nayutalienx/clipgloss-overlay.git
cd clipgloss-overlay
Copy-Item .env.example .envEdit .env and set your preferred provider:
TRANSLATION_PROVIDER=deepseek
TRANSLATION_MODEL=deepseek-v4-flash
DEEPSEEK_API_KEY=sk-...
DEEPSEEK_BASE_URL=https://api.deepseek.comTRANSLATION_PROVIDER=openrouter
TRANSLATION_MODEL=deepseek/deepseek-v4-flash
OPENROUTER_API_KEY=sk-or-...
OPENROUTER_APP_NAME=ClipGloss Overlay
OPENROUTER_SITE_URL=http://localhostTRANSLATION_PROVIDER:deepseekoropenrouterTRANSLATION_MODEL: chat model used for translationSOURCE_LANGUAGE: defaultEnglishTARGET_LANGUAGE: defaultRussianHOTKEY: global hotkey, defaultCTRL+3COPY_TRANSLATION_TO_CLIPBOARD: optional, defaultfalseOVERLAY_RESULT_DURATION_MS: how long the translated result stays visibleOVERLAY_STATUS_DURATION_MS: how long short status cards stay visibleOVERLAY_MAX_STACK: how many overlay cards can be stackedMAX_SELECTED_TEXT_CHARS: safety cap for selected text length
- Select English text in any app.
- Press
Ctrl+3. - ClipGloss copies the selection.
- It sends the text to the configured translation model.
- The Russian translation appears in a custom overlay.
The overlay is not a standard Windows notification. It is a custom tkinter overlay, so it feels faster and is not queued through Windows notification center.
.\run.ps1The script creates .venv if needed, installs dependencies, and starts the app.
run.batInstall the scheduled task:
.\install-startup.ps1The task name is:
ClipGloss Overlay
- ClipGloss is Windows-only.
- It uses the clipboard to capture selected text.
- Text clipboard contents are restored when possible.
- If the clipboard previously held non-text data, Windows clipboard state may not be perfectly preserved.
- Very large selections are truncated before translation to control latency and cost.
- Pure code and commands are intended to stay unchanged.
- Make sure the app is running.
- Check that the hotkey is not already used by another app.
- Try another hotkey in
.env, for exampleCTRL+ALT+G.
- Check
DEEPSEEK_API_KEYorOPENROUTER_API_KEY. - Verify the selected provider/model is available on your account.
- Check the log file in
logs\clipgloss.log.
- Verify the app is running in the background.
- Check
logs\clipgloss.log. - Try running
.\run.ps1in foreground first.