mirror of
https://github.com/Clipy/Clipy.git
synced 2026-04-25 17:15:58 +03:00
[PR #578] Fix system screenshots missing & add support for PNG/JPG formats #558
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Clipy#558
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Clipy/Clipy/pull/578
Author: @pokocat
Created: 1/7/2026
Status: 🔄 Open
Base:
develop← Head:develop📝 Commits (3)
7bb96bbFix: Fix issue where system screenshots and multi-format image history are not displayed3603e24Chore: Update .gitignore to exclude IDE and generated filesa861443update menu settings📊 Changes
16 files changed (+852 additions, -1086 deletions)
View changed files
📝
.gitignore(+10 -0)📝
Clipy.xcodeproj/project.pbxproj(+750 -925)📝
Clipy.xcodeproj/project.xcworkspace/contents.xcworkspacedata(+1 -1)➖
Clipy.xcodeproj/xcshareddata/xcschemes/Clipy.xcscheme(+0 -115)➖
Clipy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist(+0 -8)📝
Clipy/Sources/AppDelegate.swift(+14 -9)📝
Clipy/Sources/Extensions/NSImage+Resize.swift(+12 -16)📝
Clipy/Sources/Extensions/NSPasteboard+Deprecated.swift(+12 -0)📝
Clipy/Sources/Extensions/Realm+Migration.swift(+26 -1)📝
Clipy/Sources/Managers/MenuManager.swift(+1 -1)📝
Clipy/Sources/Models/CPYClipData.swift(+10 -2)📝
Clipy/Sources/Preferences/Panels/Base.lproj/CPYTypePreferenceViewController.xib(+1 -1)📝
Clipy/Sources/Preferences/Panels/zh-Hans.lproj/CPYTypePreferenceViewController.strings(+1 -1)📝
Clipy/Sources/Services/ClipService.swift(+5 -3)📝
Clipy/Sources/Services/ExcludeAppService.swift(+1 -0)📝
Clipy/Sources/Services/PasteService.swift(+8 -3)📄 Description
Summary
This PR restores the missing system screenshot monitoring functionality and significantly improves image clipboard support for modern applications (e.g., IM app, Web Browsers). It also resolves stability issues caused by overly aggressive clipboard polling.
Key Changes
1. Restore System Screenshot Monitoring
ScreenShotObserverDelegateinAppDelegate.swift.RxScreeendependency with a native delegate implementation, ensuring system screenshots (Cmd+Shift+3/4) are automatically detected and saved to history.2. Enhanced Image Format Support
public.png,public.jpeg, andpublic.tiffpasteboard types.NSTIFFPboardType. This caused it to ignore images copied from apps that write modern standard formats (like Chrome "Copy Image" or IM apps).CPYClipData,MenuManager, andClipServiceto recognize these types as valid images and generate thumbnails/titles correctly.3. Stability & Performance Improvements
ClipServicepolling interval from750 microsecondsto750 milliseconds.CPYClipData.hashto include image dimensions (width^height).NSImage+Resize.swiftto add a fallback drawing mechanism whenNSBitmapImageRepis nil, ensuring thumbnails are generated for all image types.Verification
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.