Fix application icon not showing in PyInstaller builds

The icon wasn't working in frozen executables because:
1. LocalTranscription.png wasn't being bundled in the PyInstaller build
2. The code was using Path(__file__).parent which doesn't work in frozen exes

Changes:
- Added LocalTranscription.png to datas in local-transcription.spec
- Updated main.py to use sys._MEIPASS for frozen executables
- Updated gui/main_window_qt.py to use sys._MEIPASS for frozen executables
- Both files now detect if running frozen and adjust icon path accordingly

The icon will now appear correctly in:
- Window titlebar
- Taskbar (Windows) / Dock (macOS)
- Alt-Tab switcher

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-28 20:35:53 -08:00
parent c968eb8a48
commit 95e9e8ebad
3 changed files with 18 additions and 2 deletions

View File

@@ -89,7 +89,14 @@ def main():
app.setOrganizationName("LocalTranscription")
# Set application icon
icon_path = project_root / "LocalTranscription.png"
# In PyInstaller frozen executables, use _MEIPASS for bundled files
if getattr(sys, 'frozen', False):
# Running in PyInstaller bundle
icon_path = Path(sys._MEIPASS) / "LocalTranscription.png"
else:
# Running in normal Python
icon_path = project_root / "LocalTranscription.png"
if icon_path.exists():
from PySide6.QtGui import QIcon
app.setWindowIcon(QIcon(str(icon_path)))