From 149289510f9ae82483a7bf9d89dbe7c486aff52e Mon Sep 17 00:00:00 2001 From: Vitali Graf Date: Sat, 11 Apr 2026 21:30:19 +0200 Subject: [PATCH] feat: create_tray() dispatcht auf Linux zu PystrayApp --- tests/test_tray.py | 15 +++++++++++++-- whisper_local/tray/__init__.py | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/test_tray.py b/tests/test_tray.py index 80c6c85..a148a0c 100644 --- a/tests/test_tray.py +++ b/tests/test_tray.py @@ -254,8 +254,19 @@ class TestCreateTray: tray = create_tray(on_settings=MagicMock(), on_quit=MagicMock()) assert isinstance(tray, PystrayApp) - @pytest.mark.skipif(sys.platform == "win32", reason="NoOpTray nur auf nicht-Windows") - def test_returns_noop_tray_on_non_windows(self): + @pytest.mark.skipif(sys.platform != "linux", reason="Linux-only") + def test_returns_pystray_on_linux(self): + from whisper_local.tray import create_tray + from whisper_local.tray._tray import PystrayApp + + tray = create_tray(on_settings=lambda: None, on_quit=lambda: None) + assert isinstance(tray, PystrayApp) + + @pytest.mark.skipif( + sys.platform in ("win32", "linux"), + reason="NoOpTray nur auf Plattformen ohne Tray-Unterstützung", + ) + def test_returns_noop_tray_on_unsupported_platform(self): from unittest.mock import MagicMock from whisper_local.tray import create_tray from whisper_local.tray._tray import NoOpTray diff --git a/whisper_local/tray/__init__.py b/whisper_local/tray/__init__.py index 114f5ee..023f176 100644 --- a/whisper_local/tray/__init__.py +++ b/whisper_local/tray/__init__.py @@ -11,7 +11,7 @@ def create_tray( on_quit: Callable[[], None], ) -> "PystrayApp | NoOpTray": """Gibt den plattformspezifischen Tray zurück.""" - if sys.platform == "win32": + if sys.platform in ("win32", "linux"): from whisper_local.tray._tray import PystrayApp return PystrayApp(on_settings=on_settings, on_quit=on_quit) return NoOpTray()