This is the ONLY way to run TalkType in development mode.
✅ .venv created with Python 3.13
✅ All dependencies installed (torch, faster-whisper, sounddevice, etc.)
✅ Uses system PyGObject (can't be installed in venv without python3-devel)
✅ Run script created: run-dev.sh
The user has been using this from the beginning:
Click on "TalkType (Dev)" in your application launcher, or run:
gtk-launch talktype-devDesktop file location: ~/.local/share/applications/talktype-dev.desktop
This launcher:
- Sets
DEV_MODE=1environment variable - Sets proper PYTHONPATH automatically
- Uses the
.venv/bin/pythonfrom the project - Runs
python -m talktype.trayto start the tray icon
./run-dev.shThis script does the same thing as the desktop launcher but from command line
- Dependencies:
.venv/(PyTorch, faster-whisper, sounddevice, etc.) - PyGObject: System package from
/usr/lib64/python3.13/site-packages - TalkType code:
src/talktype/ - Runner:
run-dev.shsets up environment correctly
-
Kill all TalkType processes:
pkill -f talktype rm -f /run/user/$(id -u)/talktype-tray.lock -
Reinstall dependencies (if needed):
rm -rf .venv python3 -m venv .venv .venv/bin/pip install --upgrade pip poetry .venv/bin/poetry config virtualenvs.in-project true .venv/bin/poetry install -
Run again:
./run-dev.sh
- ❌ Don't use
poetry run dictate-tray(won't find PyGObject) - ❌ Don't try to install PyGObject in venv (needs python3-devel)
- ❌ Don't use PYTHONPATH manually (run-dev.sh does it)
- ❌ Don't create multiple venvs (.venv-new, .venv-dev, etc.)
- ✅ Use
./run-dev.shto start TalkType - ✅ Use
.venv/bin/pytestto run tests - ✅ Use
.venv/bin/pythonfor Python scripts (with PYTHONPATH set)
The code in src/talktype/tray.py was fixed to detect dev mode and set PYTHONPATH automatically when starting the dictation service. It should work now.
If it doesn't, check:
# See if service starts manually
PYTHONPATH=./src .venv/bin/python -m talktype.appThis setup is FINAL. Don't change it unless you have a good reason and test completely.