| | |
| | | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| | | <title>TagLauncher — Tag-based Mac app launcher</title> |
| | | <meta name="description" content="TagLauncher organizes Mac apps with tags: scrollable grid, multi-tag apps, searchable notes, JSON layout backup—beyond Launchpad folders and pages."> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-website-2880x1800.jpg"> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg"> |
| | | <link rel="stylesheet" href="styles.css"> |
| | | <link rel="alternate" hreflang="en" href="index-en.html"> |
| | | <link rel="alternate" hreflang="zh-Hans" href="index.html"> |
| | | </head> |
| | | <body class="page-home"> |
| | | <header class="site-header site-header--overlay"> |
| | | <div class="inner"> |
| | | <header class="site-header"> |
| | | <div class="layout site-header__bar"> |
| | | <a class="brand" href="index-en.html"> |
| | | <img src="assets/app-icon-256.png" width="36" height="36" alt=""> |
| | | <img src="assets/app-icon-256.png" width="34" height="34" alt=""> |
| | | TagLauncher |
| | | </a> |
| | | <nav aria-label="Main"> |
| | | <nav class="site-nav" aria-label="Main"> |
| | | <a href="index-en.html" aria-current="page">Home</a> |
| | | <a href="support.html">Support</a> |
| | | <a href="support-en.html">Support</a> |
| | | <a href="privacy.html">Privacy</a> |
| | | <a href="https://github.com/shanghai3168/taglauncher/releases" rel="noopener">Help PDFs</a> |
| | | <a href="https://github.com/shanghai3168/taglauncher/releases/download/v7.6.0/Taglauncher-help-en.pdf" rel="noopener" type="application/pdf">Help PDF</a> |
| | | </nav> |
| | | <p class="lang-switch lang-switch--header"> |
| | | <a href="index.html">中文</a> |
| | | <a href="index-en.html" class="active">EN</a> |
| | | </p> |
| | | <div class="lang-switch" role="navigation" aria-label="Language"> |
| | | <a href="index.html" hreflang="zh-Hans">中文</a> |
| | | <a href="index-en.html" class="is-active" hreflang="en">EN</a> |
| | | </div> |
| | | </div> |
| | | </header> |
| | | |
| | | <section class="hero-full" aria-label="TagLauncher hero"> |
| | | <img |
| | | class="hero-full__img" |
| | | src="assets/hero-website-2880x1800.jpg" |
| | | alt="TagLauncher App Grid" |
| | | width="2880" |
| | | height="1800" |
| | | fetchpriority="high" |
| | | decoding="async"> |
| | | <p class="hero-full__tagline">Organize Mac apps with tags—not folders</p> |
| | | <section class="hero" aria-label="TagLauncher hero"> |
| | | <div class="layout hero__split"> |
| | | <div class="hero__copy"> |
| | | <h1 class="hero__headline">Possibly the best Mac app launcher—in the world</h1> |
| | | <p class="hero__lead">Don't mourn Launchpad on macOS 26 Tahoe—it was never truly good anyway.</p> |
| | | </div> |
| | | |
| | | <figure class="hero__art"> |
| | | <img |
| | | src="assets/hero-visual.jpg" |
| | | alt="TagLauncher App Grid with stacked 3D window presentation" |
| | | width="1024" |
| | | height="908" |
| | | fetchpriority="high" |
| | | decoding="async"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | | <main class="wrap content-below"> |
| | | <section class="card"> |
| | | <h2>Why not just Launchpad?</h2> |
| | | <table class="compare"> |
| | | <thead> |
| | | <tr> |
| | | <th></th> |
| | | <th>Launchpad</th> |
| | | <th>TagLauncher</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr> |
| | | <td><strong>Browse</strong></td> |
| | | <td>Pages of icons—hard to scan when you have many apps</td> |
| | | <td>One scrollable grid</td> |
| | | </tr> |
| | | <tr> |
| | | <td><strong>Organize</strong></td> |
| | | <td>Folders; one app, one folder</td> |
| | | <td>Multiple tags per app</td> |
| | | </tr> |
| | | <tr> |
| | | <td><strong>Notes</strong></td> |
| | | <td>No per-app purpose notes</td> |
| | | <td>Searchable app notes</td> |
| | | </tr> |
| | | <tr> |
| | | <td><strong>Backup</strong></td> |
| | | <td>Layout is hard to export</td> |
| | | <td>JSON export / import</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </section> |
| | | <section class="views" aria-label="Four view modes"> |
| | | <div class="layout views__split"> |
| | | <div class="views__gallery"> |
| | | <figure class="views__shot"> |
| | | <img src="assets/views/view-01.jpg" alt="Flat view" width="720" height="468" loading="lazy" decoding="async"> |
| | | </figure> |
| | | <figure class="views__shot"> |
| | | <img src="assets/views/view-02.jpg" alt="Plain container view" width="720" height="468" loading="lazy" decoding="async"> |
| | | </figure> |
| | | <figure class="views__shot"> |
| | | <img src="assets/views/view-03.jpg" alt="Colored container view" width="720" height="468" loading="lazy" decoding="async"> |
| | | </figure> |
| | | <figure class="views__shot"> |
| | | <img src="assets/views/view-04.jpg" alt="Plain grid view" width="720" height="468" loading="lazy" decoding="async"> |
| | | </figure> |
| | | </div> |
| | | |
| | | <section class="card"> |
| | | <h2>Core features</h2> |
| | | <div class="views__copy"> |
| | | <h2 class="views__headline">Four views—everything on one screen</h2> |
| | | <p class="views__lead">No more opening folders one by one or flipping through pages. You're just finding an app—it shouldn't feel like a trek.</p> |
| | | <hr class="views__rule" aria-hidden="true"> |
| | | <div class="views__details"> |
| | | <div class="views__modes-block"> |
| | | <p class="views__label">4 view modes</p> |
| | | <ul class="views__modes"> |
| | | <li>Flat</li> |
| | | <li>Plain containers</li> |
| | | <li>Colored containers</li> |
| | | <li>Plain grid</li> |
| | | </ul> |
| | | </div> |
| | | <div class="views__shortcut"> |
| | | <span class="views__shortcut-label">Quick launch</span> |
| | | <span class="views__shortcut-keys"><kbd>Option</kbd> + <kbd>Shift</kbd> + <kbd>Space</kbd></span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="tags" aria-label="Tag-based organization"> |
| | | <div class="layout tags__split"> |
| | | <div class="tags__copy"> |
| | | <h2 class="tags__headline">Tag-based organization</h2> |
| | | <ul class="tags__points"> |
| | | <li>No more choosing just one folder—an app can belong to multiple tags at once.</li> |
| | | <li><strong>Multi-color tag system</strong> with custom colors</li> |
| | | <li>Drag to categorize: drop on a tag name or container; drop on empty space to remove</li> |
| | | </ul> |
| | | </div> |
| | | |
| | | <figure class="tags__art"> |
| | | <img |
| | | src="assets/tags-management.jpg" |
| | | alt="TagLauncher tag management with multi-tag apps and custom colors" |
| | | width="880" |
| | | height="572" |
| | | loading="lazy" |
| | | decoding="async"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="memo" aria-label="App memos"> |
| | | <div class="layout memo__split"> |
| | | <figure class="memo__art"> |
| | | <img |
| | | src="assets/app-memo.png" |
| | | alt="TagLauncher app memo shown on hover" |
| | | width="1600" |
| | | height="1040" |
| | | loading="lazy" |
| | | decoding="async"> |
| | | </figure> |
| | | |
| | | <div class="memo__copy"> |
| | | <h2 class="memo__headline">Write memos for your apps</h2> |
| | | <p class="memo__lead">Edit usage notes. Hover to reveal—clear at a glance.</p> |
| | | </div> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="search" aria-label="Global Quick Search"> |
| | | <div class="layout search__split"> |
| | | <div class="search__copy"> |
| | | <h2 class="search__headline">Global Quick Search</h2> |
| | | <p class="search__lead">Search app names, tags, and memos—instantly.</p> |
| | | <p class="search__tagline">The experience macOS never gave you—we do.</p> |
| | | <div class="search__shortcut"> |
| | | <span class="search__shortcut-label">Shortcut</span> |
| | | <span class="search__shortcut-keys"><kbd>fn</kbd> + <kbd>Space</kbd></span> |
| | | </div> |
| | | </div> |
| | | |
| | | <figure class="search__art"> |
| | | <img |
| | | src="assets/quick-search.png" |
| | | alt="TagLauncher Quick Search for apps, tags, and memos" |
| | | width="1809" |
| | | height="1357" |
| | | loading="lazy" |
| | | decoding="async"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="backup" aria-label="Backup & Restore"> |
| | | <div class="layout backup__split"> |
| | | <figure class="backup__art"> |
| | | <img |
| | | src="assets/backup-restore.jpg" |
| | | alt="TagLauncher JSON backup and restore for tags and layout" |
| | | width="1024" |
| | | height="558" |
| | | loading="lazy" |
| | | decoding="async"> |
| | | </figure> |
| | | |
| | | <div class="backup__copy"> |
| | | <h2 class="backup__headline">Backup & Restore</h2> |
| | | <p class="backup__lead"><strong>Tags and layout data</strong> support JSON <strong>backup</strong>—export / import so you never lose your setup.</p> |
| | | </div> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="privacy" aria-label="Offline privacy"> |
| | | <div class="layout privacy__split"> |
| | | <div class="privacy__copy"> |
| | | <h2 class="privacy__headline">100% offline, 100% ad-free</h2> |
| | | <p class="privacy__lead">Data stays on your device—no analytics SDK, no ads. Never needs the network.</p> |
| | | |
| | | <div class="privacy__feature"> |
| | | <h3 class="privacy__feature-title"> |
| | | <span class="privacy__feature-icon" aria-hidden="true"></span> |
| | | Privacy matters |
| | | </h3> |
| | | <p class="privacy__feature-text">TagLauncher never touches your privacy. Every line of code is built for local efficiency.</p> |
| | | </div> |
| | | |
| | | <div class="privacy__feature"> |
| | | <h3 class="privacy__feature-title privacy__feature-title--accent"> |
| | | <span class="privacy__feature-icon" aria-hidden="true"></span> |
| | | Pure & native |
| | | </h3> |
| | | <p class="privacy__feature-text">No bloated network components—fast launch, zero background footprint.</p> |
| | | </div> |
| | | </div> |
| | | |
| | | <figure class="privacy__art"> |
| | | <img |
| | | src="assets/shield-check.png" |
| | | alt="" |
| | | width="379" |
| | | height="437" |
| | | loading="lazy" |
| | | decoding="async" |
| | | role="presentation"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="features" aria-label="Core features"> |
| | | <div class="layout"> |
| | | <h2 class="features__headline">Core features</h2> |
| | | <div class="feature-grid"> |
| | | <div class="feature"> |
| | | <strong>App Grid</strong> |
| | | Press <kbd>Option</kbd>+<kbd>Shift</kbd>+<kbd>Space</kbd> for a full-screen-friendly grid. |
| | | <kbd>Option</kbd>+<kbd>Shift</kbd>+<kbd>Space</kbd> opens the grid. |
| | | </div> |
| | | <div class="feature"> |
| | | <strong>Quick Search</strong> |
| | | Search app names, tags, and notes. |
| | | <kbd>fn</kbd>+<kbd>Space</kbd> searches names, tags, and notes. |
| | | </div> |
| | | <div class="feature"> |
| | | <strong>Tags</strong> |
| | | Custom colors; drag icons onto tag names to categorize. |
| | | Custom colors; drag icons onto tags. |
| | | </div> |
| | | <div class="feature"> |
| | | <strong>App notes</strong> |
| | | Remember what each app is for—searchable. |
| | | Remember what each app is for. |
| | | </div> |
| | | <div class="feature"> |
| | | <strong>Layout backup</strong> |
| | | Export and import JSON layouts. |
| | | Export and import JSON. |
| | | </div> |
| | | <div class="feature"> |
| | | <strong>Local-first</strong> |
| | | Data stays on your Mac; no analytics SDK. |
| | | <strong>Smart tag initialization</strong> |
| | | Initializes tag sets for 5000+ popular Mac apps, reducing setup from zero. |
| | | </div> |
| | | </div> |
| | | </section> |
| | | |
| | | <section class="card card-cta"> |
| | | <p>Mac App Store coming soon · macOS 15.0+ · 29 UI languages</p> |
| | | <div class="cta-row"> |
| | | <a class="btn btn-primary" href="support.html">Support & contact</a> |
| | | <a class="btn btn-secondary" href="privacy.html">Privacy policy</a> |
| | | <div class="features__cta"> |
| | | <p>Mac App Store coming soon · macOS 15.0+ · 29 UI languages</p> |
| | | <div class="cta-row"> |
| | | <a class="btn btn-primary" href="support-en.html">Support & contact</a> |
| | | <a class="btn btn-secondary" href="privacy.html">Privacy policy</a> |
| | | </div> |
| | | </div> |
| | | </section> |
| | | </main> |
| | | </div> |
| | | </section> |
| | | |
| | | <footer class="site-footer wrap"> |
| | | <p> |
| | | <a href="mailto:shanghai3168@gmail.com">shanghai3168@gmail.com</a> |
| | | · <a href="support.html">Support</a> |
| | | · <a href="privacy.html">Privacy</a> |
| | | </p> |
| | | <p>© 2026 TagLauncher · Hainan Wanxing Technology Co., Ltd.</p> |
| | | <footer class="site-footer"> |
| | | <div class="layout"> |
| | | <p> |
| | | <a href="mailto:shanghai3168@gmail.com">shanghai3168@gmail.com</a> |
| | | · <a href="support-en.html">Support</a> |
| | | · <a href="privacy.html">Privacy</a> |
| | | </p> |
| | | <p>© 2026 TagLauncher · Hainan Wanxing Technology Co., Ltd. (海南万幸科技有限公司)</p> |
| | | </div> |
| | | </footer> |
| | | </body> |
| | | </html> |
| | | </html> |