mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 21:22:53 +00:00
96eeadb479df188bf539f9970a245c41c688081d
The corner layout resolves from the window width. Dragging the window narrower than the threshold dropped the layout mid-drag, which re-locked the aspect ratio and auto-fitted the window back to the video size. The fitted width was above the threshold again, so the layout re-entered corner mode and unlocked, and the cycle repeated on every layout pass for the rest of the drag (visible as the window abruptly jumping in size). Aspect lock/unlock requests made during a live resize are now parked and applied in windowDidEndLiveResize, since changing contentAspectRatio or contentResizeIncrements under the cursor makes AppKit's resize handler switch modes and snap the frame. Auto-fit never runs during a live resize, and the corner-layout change handler skips it when the change was caused by the user's drag: the drag owns the size. The free-resize size floor in windowWillResize now clamps width and height independently. Preserving the proposed ratio (correct only under an aspect lock) widened the window while dragging just the bottom edge past the minimum height.
Yattee 2 is in the works! A new version of the app is being built with a refreshed experience. It pairs with the new Yattee Server — a self-hosted backend powered by yt-dlp that supports 1000+ sites. Join the TestFlight beta to try early builds, and check the new documentation site at docs.yattee.stream for guides, roadmap and changelog.
Features
- Native user interface built with SwiftUI with customization settings
- Player queue and history
- Player component with custom controls, gestures and support for 4K playback
- Fullscreen, Picture in Picture and background audio playback
- SponsorBlock, configurable categories to skip
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
96.9%
Ruby
2.7%
C
0.3%
