{"id":41834891,"url":"https://github.com/koukeneko/finderhover","last_synced_at":"2026-02-20T11:03:07.318Z","repository":{"id":322201968,"uuid":"1088539668","full_name":"KoukeNeko/FinderHover","owner":"KoukeNeko","description":"A beautiful, highly customizable macOS app that displays rich file information when hovering over files in Finder, similar to Windows file preview behavior.","archived":false,"fork":false,"pushed_at":"2025-11-11T06:55:09.000Z","size":1110,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-23T18:07:02.090Z","etag":null,"topics":["exif","finder","macos","metadata","productivity","swiftui","utilities","windows"],"latest_commit_sha":null,"homepage":"https://www.producthunt.com/products/finderhover","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KoukeNeko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-03T05:29:18.000Z","updated_at":"2025-11-18T22:50:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/KoukeNeko/FinderHover","commit_stats":null,"previous_names":["koukeneko/finderhover"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/KoukeNeko/FinderHover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KoukeNeko%2FFinderHover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KoukeNeko%2FFinderHover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KoukeNeko%2FFinderHover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KoukeNeko%2FFinderHover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KoukeNeko","download_url":"https://codeload.github.com/KoukeNeko/FinderHover/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KoukeNeko%2FFinderHover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28750631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T09:00:19.176Z","status":"ssl_error","status_checked_at":"2026-01-25T09:00:04.131Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exif","finder","macos","metadata","productivity","swiftui","utilities","windows"],"created_at":"2026-01-25T09:01:36.121Z","updated_at":"2026-02-20T11:03:07.312Z","avatar_url":"https://github.com/KoukeNeko.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FinderHover\n\n**The missing \"Data HUD\" for macOS.**\nInspect file metadata instantly. No `Cmd+I` required.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.md\"\u003e🇺🇸 English\u003c/a\u003e | \u003ca href=\"README_zh-Hant.md\"\u003e🇹🇼 繁體中文\u003c/a\u003e | \u003ca href=\"README_ja.md\"\u003e🇯🇵 日本語\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"/FinderHover/Assets.xcassets/AppIcon.appiconset/Icon-256.png\" alt=\"FinderHover Icon\" width=\"128\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/macOS-14.0+-000000.svg?style=flat\u0026logo=apple\u0026logoColor=white\" alt=\"macOS 14.0+\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Swift-5.0-F05138.svg?style=flat\u0026logo=swift\u0026logoColor=white\" alt=\"Swift 5.0\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/SwiftUI-007AFF.svg?style=flat\u0026logo=swift\u0026logoColor=white\" alt=\"SwiftUI\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Privacy%20First-00C853.svg?style=flat\u0026logo=apple\u0026logoColor=white\" alt=\"Privacy First\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg?style=flat\" alt=\"License MIT\"\u003e\n\u003c/p\u003e\n\n---\n\n\u003e **🎬 Demo Coming Soon:** We're preparing a GIF/Video demo showing FinderHover in action.\n\u003e *For now, check out the [screenshots below](#-screenshots) to see what it looks like.*\n\n\u003cimg width=\"1926\" height=\"1324\" alt=\"Feature Overview\" src=\"https://github.com/user-attachments/assets/7d27934e-5e11-4196-a6ac-5c7ebc6a1f17\" /\u003e\n\n---\n\n## ⚡️ Why FinderHover?\n\n**The Problem:**\nWant to check image resolution? Video codec? Zip contents? You have to:\n1. Right-click → Get Info (or press `Cmd+I`)\n2. Wait for the window to open\n3. Close it manually\n4. Repeat for every file\n\n**The Solution:**\nFinderHover acts as an **X-ray layer** over Finder. Just hover your mouse over any file, and see the data that matters—instantly.\n\n### Comparison: Get Info vs FinderHover\n\n|  | macOS Get Info (`Cmd+I`) | FinderHover |\n|---|---|---|\n| **Trigger** | Right-click → Get Info (or `Cmd+I`) | Hover mouse |\n| **Speed** | Slow, window stacks up | Instant, auto-hides |\n| **Depth** | Basic (size, kind, dates) | **Deep metadata** (EXIF, codecs, archive contents, Git info) |\n| **Workflow** | Interrupts your flow | Non-intrusive overlay |\n\n---\n\n## ✨ Features\n\n### 🔍 Beyond Finder\nFinderHover reveals metadata that Finder **never shows**:\n\n#### 📦 X-Ray for Archives\nPeek inside `zip`, `rar`, `7z`, `tar.gz`, and `iso` files **without extracting them**.\n- 📋 Instantly see file lists \u0026 file counts\n- 🔐 Detect encryption status (know if it's password-protected before opening)\n- 📊 Check compression ratios and real uncompressed sizes\n\n#### 💻 Developer Centric\nBuilt by a developer, for developers.\n- **Code Insights:** Instant line counts and syntax detection for **38+ languages**\n- **Git Aware:** See current branch, commit count, remote URL, and uncommitted changes on repo folders\n- **Binary Analysis:** Inspect Mach-O headers, architectures (`arm64`/`x86_64`/Universal), code signing status, and SDK versions for executables\n- **Xcode Projects:** View targets, build configurations, Swift version, and deployment targets\n\n#### 📸 Photography \u0026 Media\n- **Photos:** Camera model, lens info, focal length, ISO, aperture, shutter speed, GPS coordinates, IPTC/XMP metadata (author, copyright, keywords, rating)\n- **Videos:** Codec (H.264, HEVC, etc.), resolution, bitrate, frame rate, HDR format (Dolby Vision, HDR10, HLG), chapters, subtitle tracks\n- **Audio:** Track name, artist, album, genre, duration, bitrate, sample rate, channels\n\n---\n\n### 🎨 Smart \u0026 Customizable\n\n#### 🧠 Intelligent Context Awareness\n- **Instant Preview:** Adjustable hover delay (0.1s - 2.0s)\n- **Auto-Hide:** Disappears when renaming files, dragging items, or using context menus\n- **QuickLook Integration:** Native thumbnails for PDFs, images, and documents\n\n#### 🌈 Dual Personalities\n- **macOS Style:** Rich visual presentation with thumbnails, icons, and full metadata\n- **Windows Style:** Minimal tooltip-style display with essential info only\n\n#### 🎛️ Full Control\n- Adjustable window size, opacity (70-100%), and font scaling\n- **Layout Editor:** Drag-to-reorder metadata fields and toggle visibility per category\n- **Localization:** Native support for **English**, **Traditional Chinese (繁體中文)**, and **Japanese (日本語)**\n\n---\n\n### 📊 Rich Metadata Support (120+ File Formats)\n\n| Category | Supported Metadata |\n|----------|-------------------|\n| **📷 Photography** | Camera model, lens, ISO, aperture, shutter speed, GPS, IPTC/XMP data, color profiles, HDR gain maps |\n| **🎬 Video** | Codec, resolution, bitrate, frame rate, HDR formats (Dolby Vision, HDR10, HLG), chapters, subtitle tracks |\n| **🎵 Audio** | Track name, artist, album, genre, duration, bitrate, sample rate, channels |\n| **💻 Code** | Line counts for 38+ languages, file encoding, syntax detection |\n| **📝 Markdown** | Title, frontmatter (YAML/TOML/JSON), heading/image/link/code block counts |\n| **🌐 HTML/Web** | Title, meta description, keywords, author, language, Open Graph tags |\n| **⚙️ Config** | JSON/YAML/TOML key counts, nesting depth, syntax validity |\n| **🎨 Design** | PSD layers/color mode/bit depth, SVG/AI dimensions, font glyphs |\n| **📦 Archives** | Format type, file count, compression ratio, encryption status |\n| **📚 eBooks** | Title, author, publisher, ISBN, language |\n| **🖼️ Vector** | SVG viewBox, EPS color mode, element counts |\n| **📱 App Bundles** | Bundle ID, version, minimum macOS, code signing, entitlements, architectures |\n| **⚡ Executables** | Architecture (arm64/x86_64), code signing, minimum OS, SDK version |\n| **🗄️ SQLite** | Table/index/trigger/view counts, total rows, schema version, encoding |\n| **📂 Git Repos** | Current branch, commit count, remote URL, uncommitted changes, tags |\n| **💿 Disk Images** | Format (DMG, ISO), compression ratio, encryption status, partition scheme |\n| **🧊 3D Models** | Vertex/face counts, mesh/material counts, animations, bounding box |\n| **🛠️ Xcode** | Project name, targets, build configs, Swift version, deployment target |\n| **🏷️ System** | Finder tags, download source, quarantine info, iCloud status, symlink targets |\n\n---\n\n## 🛡️ Privacy First\n\n\u003e **100% Local Processing.**\n\u003e FinderHover uses the macOS **Accessibility API** to detect the file under your cursor. All metadata extraction happens **on your machine**—no network requests, no analytics, no tracking.\n\n- ✅ **Zero Network Access:** All processing happens locally\n- ✅ **Open Source:** Inspect the code yourself on GitHub\n- ✅ **Apple Native:** Built with Swift, AVFoundation, PDFKit, and other native frameworks\n\n**Why Accessibility API?**\nUnlike legacy tools that rely on slow AppleScript polling, FinderHover listens to the system's accessibility event stream for high performance and minimal overhead.\n\n---\n\n## 📦 Installation\n\n### Homebrew (Recommended)\n\n```bash\nbrew install koukeneko/tap/finderhover\n```\n\n**Why Homebrew?** It automatically handles Gatekeeper verification, so you don't need to manually allow the app in System Settings.\n\n---\n\n### Direct Download\n\n1. Download `FinderHover.app.zip` from [Releases](../../releases)\n2. Extract and move to Applications folder\n3. Right-click → Open (to bypass Gatekeeper)\n4. Grant Accessibility permission when prompted\n\n---\n\n### Build from Source\n\n```bash\ngit clone https://github.com/KoukeNeko/FinderHover.git\ncd FinderHover\nxcodebuild -scheme FinderHover -configuration Release\n```\n\n**Requirements:** Xcode 15+ and macOS Sonoma 14.0+\n\n---\n\n## ⚙️ Setup \u0026 Usage\n\n### First Launch\n\n1. Launch FinderHover from Launchpad or Applications\n2. The app appears in your **Menu Bar**\n3. Grant **Accessibility permission** (System Settings → Privacy \u0026 Security → Accessibility)\n4. Hover over any file in Finder to see metadata\n\n### Settings\n\nClick the menu bar icon or press `Cmd+,` to access the settings panel.\n\n**Tip:** Enable \"Launch at Login\" to start FinderHover automatically when you boot your Mac.\n\n---\n\n## 🚀 Technical Highlights\n\n### ⚡️ High-Performance Architecture\n- **Reactive UI Updates:** Leverages **Combine** framework with `debounce` operators to ensure fluid UI updates while keeping CPU usage negligible\n- **Native Frameworks:** Built on Apple's `AVFoundation`, `PDFKit`, `QuickLookThumbnailing`, `SQLite3`, and `CoreGraphics`—no external dependencies\n- **Smart Caching:** Thumbnail and metadata caching reduces redundant processing\n\n### 🛠️ Robust Metadata Engine\nSupports **120+ file formats** with deep inspection capabilities:\n- **Archives:** Reads zip/rar/7z/iso structure without extraction (using `libarchive` and native APIs)\n- **Media:** Extracts video codecs, HDR metadata, and audio specs using `AVFoundation`\n- **Code:** Detects 38+ programming languages with accurate line counting\n- **Git:** Parses `.git` directory for branch, commit, and remote info\n- **Binaries:** Analyzes Mach-O headers for architecture and code signing\n\n---\n\n## 🛠️ Project Structure\n\n```\nFinderHover/\n├── App/          # Application lifecycle (FinderHoverApp, HoverManager)\n├── Core/         # MouseTracker, FinderInteraction, FileInfo\n├── Extractors/   # Metadata extraction logic (ArchiveExtractor, DeveloperExtractor, etc.)\n├── UI/\n│   ├── Windows/  # Floating hover window, settings container\n│   └── Settings/ # Modular settings pages\n└── Utilities/    # Localization, logging, formatting helpers\n```\n\n---\n\n## 📸 Screenshots\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/fe969256-a07d-4db6-8715-a3bb3226782b\" width=\"45%\" /\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/f492dc51-9fd8-49f2-b854-d9fc4ac026a6\" width=\"45%\" /\u003e\n\u003c/p\u003e\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/dc04ba05-2bcb-4308-b0cc-bd5ed2259d07\" width=\"45%\" /\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/140accdd-6034-4b2d-b4d9-ccc55a28586c\" width=\"45%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 📝 What's New\n\n### v1.7.0 - Advanced Metadata Update\n- **New:** 3D model metadata (USDZ, OBJ, GLTF, FBX)\n- **New:** Xcode project inspection (targets, Swift version, deployment target)\n- **New:** Advanced file system metadata (allocated space, resource fork, volume info)\n- **Enhanced:** Archive format support (added ISO, TAR, CPIO)\n- **Enhanced:** System metadata (Finder tags, download source, iCloud status)\n\n[View Full Changelog](CHANGELOG.md)\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how you can help:\n\n- **Add Extractors:** Check out [Core/FileInfo.swift](FinderHover/Core/FileInfo.swift) for metadata extraction logic\n- **UI Improvements:** Explore [UI/Windows/](FinderHover/UI/Windows/) for visual enhancements\n- **Localization:** Add translations in [Localizable.strings](FinderHover/Utilities/Localizable.strings)\n\n**Feature Requests \u0026 Bug Reports:** Open an issue on [GitHub Issues](../../issues).\n\n---\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eMade with ❤️ and Swift\u003c/strong\u003e\u003cbr\u003e\n  Built for Power Users, Developers, and File Hoarders\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoukeneko%2Ffinderhover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoukeneko%2Ffinderhover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoukeneko%2Ffinderhover/lists"}