Conversation
Replaces the pywebview + Jinja2 + Edge WebView2 implementation with a fullscreen tkinter window that draws the backdrop via Pillow and overlays title / misc info / overview as Canvas text. Same public API (run/stop/display_content/get_webview), so the rest of the app needs no changes. Drops four optional dependencies: Jinja2, pywebview, clr-loader, and pythonnet. Only the latter mattered in practice — pythonnet's NuGet self-update step has been failing on Windows + Python 3.14, blocking the Windows CI. Display mirroring's new requirements (tkinter + Pillow) are already brought in by the GUI extra and ship with every supported Python on Windows/Linux/macOS, so display mirroring works on macOS for the first time. Visual fidelity is intentionally simpler than the old HTML template: no rotten-tomatoes badges, no played-percentage ring, no album-mode title/artist split (the old code had FIXME placeholders for those anyway). Title font scales down for long episode names. Wrap width uses the canvas's actual rendered size rather than winfo_screenwidth, which on multi-monitor and Wayland setups returns the combined virtual desktop and broke text wrapping. Net code change: ~830 lines removed across the four-file display_mirror/ package; ~300 lines added in a single display_mirror.py. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
set_osd_settings used to silently skip restoring osd_border_style when border_style was None. If get_osd_settings hit a None at OSDMenu init (older mpv lacking the property, or an early-startup read race), the border style would stay at the menu's "background-box" forever and every subsequent show_text — skip intro toasts, screenshot confirmations, etc. — inherited the menu background. Always restore the property; fall back to "outline-and-shadow" (mpv's modern default) when no original was captured. The inner try/except still tolerates older mpv that lacks the property. Skip-intro prompts could overwrite their own toast when the post-skip position landed inside an outro segment in the very next update tick (common on short test videos where intro and outro markers are close in time). Add a 3-second debounce keyed on _last_intro_msg_time, set by both the toast and prompt paths plus skip_intro itself, so a fresh skip event suppresses the immediate "Seek to Skip Credits" follow-up without affecting normal credits prompts later in the video. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.