Skip to content

Add Windows port#54

Open
sementerleen wants to merge 1 commit intofarzaa:mainfrom
sementerleen:main
Open

Add Windows port#54
sementerleen wants to merge 1 commit intofarzaa:mainfrom
sementerleen:main

Conversation

@sementerleen
Copy link
Copy Markdown

@sementerleen sementerleen commented Apr 10, 2026

Windows Port of Clicky

Hey! Big fan of the project. Built a Windows
port since the original is macOS-only.

Stack changes

| Component | macOS | Windows
|
|-----------|-------|---------|
| App | Swift | Python + tkinter |
| STT | AssemblyAI | faster-whisper (local)
|
| TTS | ElevenLabs | edge-tts (neural) |
| Mouse | macOS overlay | pyautogui |

Features

  • Voice toggle,
    fresh screenshot per step, 55 step limit
  • Plan first then act, mid-task redirect
  • Smooth mouse, neural TTS
    voice
  • Works in any app (CapCut, Photoshop, FL Studio...)

Setup

pip install -r windows/requirements.txt

@qodo-ai-reviewer
Copy link
Copy Markdown

Hi, Background threads call Tkinter widget methods (config/insert/see), which is not thread-safe and can crash or hang the UI during recording, logging, and agent execution.

Severity: action required | Category: reliability

How to fix: Marshal UI calls to main

Agent prompt to fix - you can give this to your LLM of choice:

Issue description

Tkinter widgets are being updated from background threads via log() and _set_state(). Tkinter is not thread-safe; this can crash or hang the UI.

Issue Context

Threads started for whisper loading, recording, listening, and agent execution call log() / _set_state().

Fix Focus Areas

  • windows/main.py[259-266]
  • windows/main.py[301-316]
  • windows/main.py[466-471]
  • windows/main.py[523-527]

Suggested approach

  • Create a thread-safe queue.Queue() for UI events/log messages.
  • In the main thread, poll the queue using root.after(50, poll_queue) and apply text_log.insert(...) / btn_record.config(...) there.
  • Ensure every background thread only enqueues UI updates, never touches widgets directly.

We noticed a couple of other issues in this PR as well - happy to share if helpful.


Found by Qodo. Free code review for open-source maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants