{"id":47082011,"url":"https://github.com/lumibearstudio/spanfinder","last_synced_at":"2026-04-27T01:01:41.700Z","repository":{"id":341727296,"uuid":"1171240164","full_name":"LumiBearStudio/SpanFinder","owner":"LumiBearStudio","description":"macOS Finder-style Miller Columns file explorer for Windows — multi-tab, split view, 10 themes, keyboard-first, FTP/SFTP","archived":false,"fork":false,"pushed_at":"2026-04-20T05:34:26.000Z","size":22910,"stargazers_count":169,"open_issues_count":0,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-20T07:37:34.445Z","etag":null,"topics":["csharp","dark-theme","desktop-app","dotnet","dual-pane","file-explorer","file-manager","ftp","keyboard-shortcuts","miller-columns","productivity","sftp","split-view","tabs","windows","windows-app-sdk","windows-explorer","windows11","winui3"],"latest_commit_sha":null,"homepage":"https://apps.microsoft.com/detail/9P7NJ351X9TL","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LumiBearStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2026-03-03T02:34:24.000Z","updated_at":"2026-04-20T05:28:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"26855eee-4ab2-43f8-abe4-6c005a137720","html_url":"https://github.com/LumiBearStudio/SpanFinder","commit_stats":null,"previous_names":["lumibearstudio/spanfinder"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/LumiBearStudio/SpanFinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiBearStudio%2FSpanFinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiBearStudio%2FSpanFinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiBearStudio%2FSpanFinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiBearStudio%2FSpanFinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LumiBearStudio","download_url":"https://codeload.github.com/LumiBearStudio/SpanFinder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LumiBearStudio%2FSpanFinder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":["csharp","dark-theme","desktop-app","dotnet","dual-pane","file-explorer","file-manager","ftp","keyboard-shortcuts","miller-columns","productivity","sftp","split-view","tabs","windows","windows-app-sdk","windows-explorer","windows11","winui3"],"created_at":"2026-03-12T07:03:02.034Z","updated_at":"2026-04-27T01:01:41.672Z","avatar_url":"https://github.com/LumiBearStudio.png","language":"C#","readme":"\u003ch1 align=\"center\"\u003e\n  SPAN Finder\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003emacOS Finder's Miller Columns, reimagined for Windows.\u003c/strong\u003e\u003cbr\u003e\n  For power users who switched to Windows but never stopped missing column view.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://apps.microsoft.com/detail/9P7NJ351X9TL\"\u003e\u003cimg src=\"https://img.shields.io/badge/Microsoft_Store-Download-blue?style=for-the-badge\u0026logo=microsoft\" alt=\"Microsoft Store\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/LumiBearStudio/SpanFinder/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/LumiBearStudio/SpanFinder?style=for-the-badge\u0026label=Latest\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/LumiBearStudio/SpanFinder?style=for-the-badge\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/sponsors/LumiBearStudio\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor-%E2%9D%A4-ff69b4?style=for-the-badge\u0026logo=github-sponsors\" alt=\"Sponsor\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://apps.microsoft.com/detail/9P7NJ351X9TL\"\u003e\u003cimg src=\"https://get.microsoft.com/images/en-us%20dark.svg\" width=\"200\" alt=\"Download from Microsoft Store\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  English | \u003ca href=\"README/README.ko.md\"\u003e한국어\u003c/a\u003e | \u003ca href=\"README/README.ja.md\"\u003e日本語\u003c/a\u003e | \u003ca href=\"README/README.zh-CN.md\"\u003e中文(简体)\u003c/a\u003e | \u003ca href=\"README/README.zh-TW.md\"\u003e中文(繁體)\u003c/a\u003e | \u003ca href=\"README/README.de.md\"\u003eDeutsch\u003c/a\u003e | \u003ca href=\"README/README.es.md\"\u003eEspañol\u003c/a\u003e | \u003ca href=\"README/README.fr.md\"\u003eFrançais\u003c/a\u003e | \u003ca href=\"README/README.pt.md\"\u003ePortuguês\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eNEW in v1.3.1\u003c/strong\u003e — \u003cstrong\u003eFile Shelf\u003c/strong\u003e: macOS \u003ca href=\"https://www.yoink-app.com/\"\u003eYoink\u003c/a\u003e-style drag \u0026 drop shelf for Windows. Stash files while you navigate, drop them where you need. (Ctrl+Shift+S)\n\u003c/p\u003e\n\n---\n\n![SPAN Finder — Miller Columns in Action](README/miller-columns.gif)\n\n\u003e **Navigate folder hierarchies the way they were meant to be navigated.**\n\u003e Click a folder, its contents appear in the next column. You always see where you are, where you came from, and where you're going — all at once. No more clicking back and forth.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/LumiBearStudio/SpanFinder/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/LumiBearStudio/SpanFinder?style=social\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  If you find SPAN Finder useful, consider giving it a ⭐ — it helps others discover this project!\n\u003c/p\u003e\n\n---\n\n## Why SPAN Finder?\n\n| | Windows Explorer | SPAN Finder |\n|---|---|---|\n| **Miller Columns** | No | Yes — hierarchical multi-column navigation |\n| **Multi-Tab** | Windows 11 only (basic) | Full tabs with tear-off, re-docking, duplication, session restore |\n| **Split View** | No | Dual-pane with independent view modes |\n| **Preview Panel** | Basic | 10+ file types — images, video, audio, code, hex, fonts, PDF |\n| **Keyboard Navigation** | Limited | 150+ features, 30+ shortcuts, type-ahead search, full keyboard-first design |\n| **Batch Rename** | No | Regex, prefix/suffix, sequential numbering |\n| **Undo/Redo** | Limited | Full operation history (configurable depth) |\n| **Custom Themes** | No | 10 themes — Dracula, Tokyo Night, Catppuccin, Gruvbox, Nord, and more |\n| **Git Integration** | No | Branch, status, commits at a glance |\n| **Remote Connections** | No | FTP, FTPS, SFTP with saved credentials |\n| **Workspaces** | No | Save \u0026 restore named tab layouts instantly |\n| **Cloud Status** | Basic overlay | Real-time sync badges (OneDrive, iCloud, Dropbox) |\n| **Startup Speed** | Slow on large directories | Async loading with cancellation — zero lag |\n\n---\n\n## Features\n\n### Miller Columns — See Everything at Once\n\nNavigate deep folder hierarchies without losing context. Each column represents one level — click a folder and its contents appear in the next column. You always see where you are and where you came from.\n\n- Draggable column separators for custom widths\n- Auto-equalize columns (Ctrl+Shift+=) or auto-fit to content (Ctrl+Shift+-)\n- Smooth horizontal scrolling to keep the active column visible\n\n### Four View Modes\n\n- **Miller Columns** (Ctrl+1) — Hierarchical navigation, SPAN Finder's signature\n- **Details** (Ctrl+2) — Sortable table with name, date, type, size columns\n- **List** (Ctrl+3) — Dense multi-column layout for scanning large directories\n- **Icons** (Ctrl+4) — Grid view with 4 size options up to 256x256 thumbnails\n\n![Four View Modes](README/view-modes.gif)\n\n### Multi-Tab with Full Session Restore\n\n- Open unlimited tabs, each with its own path, view mode, and history\n- **Tab tear-off \u0026 re-docking**: Drag a tab out to create a new window, drag it back to re-dock — Chrome-style ghost tab indicator and semi-transparent window feedback\n- **Tab duplication**: Clone a tab with its exact path and settings\n- Session auto-save: Close the app, reopen it — every tab exactly where you left it\n\n### Split View — True Dual-Pane\n\n- Side-by-side file browsing with independent navigation per pane\n- Each pane can use a different view mode (Miller left, Details right)\n- Separate preview panels for each pane\n- Drag files between panes for copy/move operations\n\n![Split View with 14K+ Items](README/2.jpg)\n\n### Preview Panel — Know Before You Open\n\n![Code Preview with Git Info](README/5.jpg)\n\nPress **Space** for Quick Look (macOS Finder style):\n\n- **Arrow key \u0026 Space navigation**: Browse files without closing Quick Look\n- **Window size persistence**: Quick Look remembers its last size\n- **Images**: JPEG, PNG, GIF, BMP, WebP, TIFF with resolution and metadata\n- **Video**: MP4, MKV, AVI, MOV, WEBM with playback controls\n- **Audio**: MP3, AAC, M4A with artist, album, duration info\n- **Text \u0026 Code**: 30+ extensions with syntax display\n- **PDF**: First page preview\n- **Fonts**: Glyph samples with metadata\n- **Hex Binary**: Raw byte view for developers\n- **Folders**: Size, item count, creation date\n- **File hash**: SHA256 checksum display with one-click copy (opt-in via Settings)\n\n### Keyboard-First Design\n\n30+ keyboard shortcuts for users who keep their hands on the keyboard:\n\n| Shortcut | Action |\n|----------|--------|\n| Arrow Keys | Navigate columns and items |\n| Enter | Open folder or execute file |\n| Space | Toggle preview panel |\n| Ctrl+L / Alt+D | Edit address bar |\n| Ctrl+F | Search |\n| Ctrl+C / X / V | Copy / Cut / Paste |\n| Ctrl+Z / Y | Undo / Redo |\n| Ctrl+Shift+N | New folder |\n| F2 | Rename (batch rename if multi-select) |\n| Ctrl+T / W | New tab / Close tab |\n| Ctrl+Tab / Ctrl+Shift+Tab | Cycle tabs forward / backward |\n| Ctrl+1-4 | Switch view mode |\n| Ctrl+Shift+E | Toggle split view |\n| F6 | Switch split view pane |\n| Ctrl+Shift+S | Save workspace |\n| Ctrl+Shift+W | Open workspace palette |\n| Ctrl+Shift+H | Toggle file extensions |\n| Shift+F10 | Full native shell context menu |\n| Delete | Move to Recycle Bin |\n\n### Themes \u0026 Customization\n\n![Themes \u0026 Customization](README/themes.gif)\n\n- **10 Themes**: Light, Dark, Dracula, Tokyo Night, Catppuccin, Gruvbox, Solarized, Nord, One Dark, Monokai\n- **6-Level Row Height** and **6-Level Font/Icon Size** — independent controls\n- **10 Font Options**: Segoe UI Variable, Consolas, Cascadia Code/Mono, D2Coding, JetBrains Mono, Fira Code, and more — with CJK fallback font chain\n- **3 Icon Packs**: Remix Icon, Phosphor Icons, Tabler Icons\n- **9 Languages**: English, Korean, Japanese, Chinese (Simplified/Traditional), German, Spanish, French, Portuguese\n\n### Developer Tools\n\n![Hex Binary Viewer](README/4.jpg)\n\n- **Git status badges**: Modified, Added, Deleted, Untracked per file\n- **Hex dump viewer**: First 512 bytes in hex + ASCII\n- **Terminal integration**: Ctrl+` opens terminal at current path\n- **Remote connections**: FTP/FTPS/SFTP with encrypted credential storage\n\n### Cloud Storage Integration\n\n- **Sync status badges**: Cloud-only, Synced, Pending Upload, Syncing\n- **OneDrive, iCloud, Dropbox** detection out of the box\n- **Smart thumbnails**: Uses cached previews — never triggers unwanted downloads\n\n### Smart Search\n\n- **Structured queries**: `type:image`, `size:\u003e100MB`, `date:today`, `ext:.pdf`\n- **Type-ahead**: Start typing in any column to filter instantly\n- **Background processing**: Search never freezes the UI\n\n### Recycle Bin Integration *(v1.1.1.0)*\n\n- Dedicated Recycle Bin tab — browse, restore, or permanently delete items\n- **Empty Recycle Bin** button in toolbar\n- Full Miller / Details / List / Icon view support for binned items\n\n### Power User Enhancements *(v1.1.2.0)*\n\n- **Middle-click to open in new tab**: Works on folders, drives, and sidebar favorites\n- **Tab context menu \"Move to New Window\"**: Tear off any tab via right-click\n- **Recent locations AutoSuggest**: Address bar shows recently visited folders on focus\n- **Localized folder navigation**: Type \"Downloads\", \"文書\", \"바탕화면\" etc. in any language — 100+ OS display names resolved via Known Folder cache\n- **Virtual folder navigation**: Type \"Control Panel\", \"This PC\", \"Network\" (10 languages) to navigate shell namespaces\n- **Shell command execution**: Type `cmd`, `powershell`, `calc`, `notepad` in the address bar to launch directly\n- **Run as Administrator**: Right-click `.exe` / `.msi` / `.bat` / `.cmd` for a UAC-elevated launch option\n- **Shift+F10**: Force full native shell context menu regardless of selection\n- **Status bar selection size**: Shows \"3 selected (15.2 MB)\" aggregate for multi-select\n- **Virtual file paste**: Paste files from RDP remote sessions and Outlook attachments (Ctrl+V)\n- **Drive context menu**: Format and Disk Cleanup actions for drives\n- **Background context menu**: Undo and Folder Properties in empty-area right-click menu\n\n### Workspace — Save \u0026 Restore Tab Layouts *(v1.2.1.0)*\n\n- **Save current tabs**: Right-click any tab → \"Save tab layout...\" or press Ctrl+Shift+S\n- **Restore instantly**: Click the workspace button in the sidebar or press Ctrl+Shift+W\n- **Manage workspaces**: Restore, rename, or delete saved layouts from the workspace menu\n- Perfect for switching between work contexts — \"Development\", \"Photo Editing\", \"Documents\"\n\n### Tab Drag \u0026 Drop UX *(v1.2.13.0)*\n\n![Tab Tear-off \u0026 Re-docking](README/tab-drag.gif)\n\n- **Chrome-style ghost tab**: Visual indicator shows exactly where a dragged tab will land\n- **Semi-transparent dock feedback**: Target window becomes translucent during re-docking\n- **Tear-off visual effects**: Opacity and lift animation when dragging a tab out (disabled for single-tab windows)\n- **Stable tab widths**: Chrome-style fixed-width tabs that don't resize to folder name length\n\n---\n\n## Performance\n\nEngineered for speed. Tested with 14,000+ items per folder.\n\n- Async I/O everywhere — nothing blocks the UI thread\n- Batch property updates with minimal overhead\n- Debounced selection prevents redundant work during rapid navigation\n- Per-tab caching — instant tab switching, no re-rendering\n- Concurrent thumbnail loading with SemaphoreSlim throttling\n\n---\n\n## System Requirements\n\n| | |\n|---|---|\n| **OS** | Windows 10 version 1903+ / Windows 11 |\n| **Architecture** | x64, ARM64 |\n| **Runtime** | Windows App SDK 1.8 (.NET 8) |\n| **Recommended** | Windows 11 for Mica backdrop |\n\n---\n\n## Build from Source\n\n```bash\n# Prerequisites: Visual Studio 2022 with .NET Desktop + WinUI 3 workloads\n\n# Clone\ngit clone https://github.com/LumiBearStudio/SpanFinder.git\ncd SpanFinder\n\n# Build\ndotnet build src/Span/Span/Span.csproj -p:Platform=x64\n\n# Run unit tests\ndotnet test src/Span/Span.Tests/Span.Tests.csproj -p:Platform=x64\n```\n\n\u003e **Note**: WinUI 3 apps cannot be launched via `dotnet run`. Use **Visual Studio F5** (MSIX packaging required).\n\n---\n\n## Contributing\n\nFound a bug? Have a feature request? [Open an issue](https://github.com/LumiBearStudio/SpanFinder/issues) — all feedback welcome.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for build setup, coding conventions, and PR guidelines.\n\n---\n\n## Support the Project\n\nIf SPAN Finder makes your file management better, consider:\n\n- **[Sponsor on GitHub](https://github.com/sponsors/LumiBearStudio)** — buy me a coffee, a hamburger, or a steak\n- **Star this repo** to help others discover it\n- **Share** with colleagues who miss macOS Finder on Windows\n- **Report bugs** — every issue report makes SPAN Finder more stable\n- **[Download from Microsoft Store](https://apps.microsoft.com/detail/9P7NJ351X9TL)** — Store reviews help visibility\n\n---\n\n## Privacy \u0026 Telemetry\n\nSPAN Finder uses [Sentry](https://sentry.io) for **crash reporting only** — and you can turn it off.\n\n- **What we collect**: Exception type, stack trace, OS version, app version\n- **What we DON'T collect**: File names, folder paths, browsing history, personal information\n- **No usage analytics, no tracking, no ads**\n- All file paths in crash reports are automatically scrubbed before sending\n- `SendDefaultPii = false` — no IP addresses or user identifiers\n- **Opt-out**: Settings \u003e Advanced \u003e \"Crash Reporting\" toggle to disable completely\n- Source code is open — verify yourself in [`CrashReportingService.cs`](src/Span/Span/Services/CrashReportingService.cs)\n\nSee [Privacy Policy](PRIVACY.md) for full details.\n\n---\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE).\n\n**Microsoft Store Exception**: The copyright holder (LumiBear Studio) may distribute official binaries through the Microsoft Store under its terms, without those terms being considered \"additional restrictions\" under GPL v3 Section 7. This exception applies only to the official distribution and does not extend to third-party forks.\n\n**Trademark**: The \"SPAN Finder\" name and official logo are trademarks of LumiBear Studio. Forks must use a different name and logo. See [LICENSE.md](LICENSE.md) for full trademark policy.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://apps.microsoft.com/detail/9P7NJ351X9TL\"\u003eMicrosoft Store\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/sponsors/LumiBearStudio\"\u003eSponsor\u003c/a\u003e ·\n  \u003ca href=\"PRIVACY.md\"\u003ePrivacy Policy\u003c/a\u003e ·\n  \u003ca href=\"OpenSourceLicenses.md\"\u003eOpen Source Licenses\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/LumiBearStudio/SpanFinder/issues\"\u003eBug Reports \u0026 Feature Requests\u003c/a\u003e\n\u003c/p\u003e\n","funding_links":["https://github.com/sponsors/LumiBearStudio"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flumibearstudio%2Fspanfinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flumibearstudio%2Fspanfinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flumibearstudio%2Fspanfinder/lists"}