Repository: sindresorhus/sindresorhus.github.com Branch: main Commit: 6311d853d37e Files: 159 Total size: 742.6 KB Directory structure: gitextract_c4ya43z6/ ├── .editorconfig ├── .gitattributes ├── .github/ │ └── workflows/ │ └── deploy.yml ├── .gitignore ├── AGENTS.md ├── astro.config.js ├── license ├── note-to-self.md ├── package.json ├── public/ │ ├── CNAME │ ├── apps/ │ │ └── heic-converter/ │ │ └── heic-example.heic │ ├── feedback/ │ │ └── index.html │ └── keybase.txt ├── readme.md ├── source/ │ ├── components/ │ │ ├── apps/ │ │ │ ├── AppsByPlatform.astro │ │ │ ├── AppsCategory.astro │ │ │ └── AppsList.astro │ │ ├── blog/ │ │ │ ├── List.astro │ │ │ ├── ListItem.astro │ │ │ ├── Pagination.astro │ │ │ ├── Post.astro │ │ │ └── Tags.astro │ │ ├── core/ │ │ │ ├── MetaTags.astro │ │ │ └── ToggleMenu.astro │ │ └── widgets/ │ │ ├── Announcement.astro │ │ ├── Footer.astro │ │ ├── Header.astro │ │ ├── HeaderLink.astro │ │ ├── OverflowMenu.astro │ │ ├── PressQuotes.astro │ │ └── RelatedApps.astro │ ├── config.mjs │ ├── content/ │ │ ├── apps/ │ │ │ ├── actions.md │ │ │ ├── ai-actions.md │ │ │ ├── aiko.md │ │ │ ├── amazing-ai.md │ │ │ ├── any-text.md │ │ │ ├── app-buddy.md │ │ │ ├── ask-ai.md │ │ │ ├── battery-indicator.md │ │ │ ├── black-out.md │ │ │ ├── blear.md │ │ │ ├── camera-preview.md │ │ │ ├── caprine.md │ │ │ ├── command-x.md │ │ │ ├── dato.md │ │ │ ├── day-progress.md │ │ │ ├── default-browser.md │ │ │ ├── doodle-draw.md │ │ │ ├── ds-store-inspector.md │ │ │ ├── favorites-widget.md │ │ │ ├── floating-clock.md │ │ │ ├── folder-peek.md │ │ │ ├── gifski.md │ │ │ ├── googly-eyes.md │ │ │ ├── heic-converter.md │ │ │ ├── hyperduck.md │ │ │ ├── icon-preview.md │ │ │ ├── imago.md │ │ │ ├── jiffy.md │ │ │ ├── lungo.md │ │ │ ├── memo-widget.md │ │ │ ├── menu-bar-calendar.md │ │ │ ├── menu-bar-spacing.md │ │ │ ├── menu-drop.md │ │ │ ├── one-task.md │ │ │ ├── one-thing.md │ │ │ ├── online-check.md │ │ │ ├── pandan.md │ │ │ ├── pasteboard-viewer.md │ │ │ ├── photo-widget.md │ │ │ ├── plain-text-editor.md │ │ │ ├── plash.md │ │ │ ├── pure-paste.md │ │ │ ├── quick-launch.md │ │ │ ├── quickgpt.md │ │ │ ├── randa.md │ │ │ ├── recordia.md │ │ │ ├── scratchpad.md │ │ │ ├── second-clock.md │ │ │ ├── shareful.md │ │ │ ├── short-run.md │ │ │ ├── shortcutie.md │ │ │ ├── simple-color-palette.md │ │ │ ├── spaced.md │ │ │ ├── speediness.md │ │ │ ├── supercharge.md │ │ │ ├── system-color-picker.md │ │ │ ├── text-lens.md │ │ │ ├── today.md │ │ │ ├── touch-bar-simulator.md │ │ │ ├── utc-time.md │ │ │ ├── velja.md │ │ │ ├── week-number.md │ │ │ └── zone-bar.md │ │ └── blog/ │ │ ├── empathy-in-open-source.md │ │ ├── goodbye-nodejs-buffer.md │ │ ├── issue-bumping.md │ │ ├── micro-benchmark-fallacy.md │ │ ├── shortcutie-setapp.md │ │ └── small-focused-modules.md │ ├── content.config.ts │ ├── data/ │ │ └── apps-extra.json │ ├── env.d.ts │ ├── layouts/ │ │ ├── BaseLayout.astro │ │ ├── BlogLayout.astro │ │ ├── MarkdownLayout.astro │ │ ├── PageLayout.astro │ │ └── SimplePageLayout.astro │ ├── pages/ │ │ ├── 404.astro │ │ ├── [...apps]/ │ │ │ ├── [slug]/ │ │ │ │ ├── privacy-policy.astro │ │ │ │ ├── release-notes.astro │ │ │ │ └── rss.xml.js │ │ │ └── [slug].astro │ │ ├── [...blog]/ │ │ │ ├── [...page].astro │ │ │ ├── [slug].astro │ │ │ └── _[tag]/ │ │ │ └── [...page].astro │ │ ├── _apps-extra.astro │ │ ├── _apps-heatmap.astro │ │ ├── about.md │ │ ├── apps/ │ │ │ ├── affiliates.md │ │ │ ├── archived.astro │ │ │ ├── discounts.md │ │ │ ├── faq.md │ │ │ ├── free.astro │ │ │ ├── ios.astro │ │ │ ├── macos.astro │ │ │ ├── menu-bar.astro │ │ │ ├── older-versions.astro │ │ │ ├── paid.astro │ │ │ ├── random.astro │ │ │ ├── setapp.astro │ │ │ ├── shortcuts.astro │ │ │ ├── terms.md │ │ │ ├── visionos.astro │ │ │ └── watchos.astro │ │ ├── apps.astro │ │ ├── contact.astro │ │ ├── donate.md │ │ ├── feedback.astro │ │ ├── feeds.astro │ │ ├── index.astro │ │ ├── og/ │ │ │ └── [slug].png.js │ │ ├── repos.md │ │ ├── rss-apps.xml.js │ │ ├── rss-repos.xml.js │ │ ├── rss.xml.js │ │ ├── supporters.md │ │ └── tiny-apps.md │ └── utils/ │ ├── apps.js │ ├── permalinks.js │ ├── posts.js │ ├── rehype-kbd-separator.js │ ├── remark-heading-meta.js │ ├── remark-inject-feedback-faq.js │ ├── remark-inject-feedback-faq.test.js │ └── utils.js ├── styles/ │ └── global.css └── tsconfig.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ root = true [*] indent_style = tab end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.yml] indent_style = space indent_size = 2 ================================================ FILE: .gitattributes ================================================ * text=auto eol=lf ================================================ FILE: .github/workflows/deploy.yml ================================================ name: Deploy on: push: branches: - main workflow_dispatch: schedule: - cron: '0 0 * * *' # Runs every night at midnight UTC jobs: build: permissions: contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: withastro/action@v5 deploy: needs: build permissions: pages: write id-token: write runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 ================================================ FILE: .gitignore ================================================ node_modules yarn.lock /dist /.output *.sublime-project *.sublime-workspace .astro .cache ================================================ FILE: AGENTS.md ================================================ # Codebase Notes ## FAQ Suggestions on /feedback The feedback page shows relevant FAQ links as the user types their message. ### Data sources - **General FAQs** — a curated subset of `source/pages/apps/faq.md` headings, filtered by slug via `feedbackFaqSlugs` in `feedback.astro`. - **App-specific FAQs** — all FAQ headings from the selected app's markdown file (via `?product=` URL param), passed through `faqHeadings` in `apps.js`. ### Heading metadata (``) Any markdown heading with a `{#id}` can be annotated with directives on the lines immediately below: ```md ### The app does not show up in the menu bar {#app-not-showing-in-menu-bar} ``` - Parsed by the `remarkHeadingMeta` plugin (`source/utils/remark-heading-meta.js`), which runs after `remarkCustomHeaderId` so heading IDs are already set. - Injected into `file.data.astro.frontmatter.headingMeta` and accessed in `feedback.astro` as `faqMd.frontmatter.headingMeta`. - Values are always arrays (split on whitespace). - Multiple directives per heading work by looking back past consecutive `` nodes to find the owning heading. - The `@faq.` namespace is consumed by the feedback page. Other namespaces can be added for future uses. **`@faq.keywords`** — extra words that make a FAQ matchable by queries that don't use the same words as the heading text. **`@faq.platforms`** — restricts the FAQ to apps that support at least one of these platforms. FAQs without this annotation are shown for all apps. ### Matching algorithm (`feedback.astro`, second `

Redirecting…

================================================ FILE: public/keybase.txt ================================================ ================================================================== https://keybase.io/sindresorhus -------------------------------------------------------------------- I hereby claim: * I am an admin of https://sindresorhus.com * I am sindresorhus (https://keybase.io/sindresorhus) on keybase. * I have a public key with fingerprint 9167 E91F 3DA4 65D0 020A 48B3 5A35 FFDB 8B07 983A To do so, I am signing this object: { "body": { "key": { "eldest_kid": "01203b7530668e317929a6e3448ee9caaa430129790178d70b438441c367513baf7f0a", "fingerprint": "9167e91f3da465d0020a48b35a35ffdb8b07983a", "host": "keybase.io", "key_id": "5a35ffdb8b07983a", "kid": "0101cb611ee03ce62c90d7bb7e8ee3aba2c539d8bbb07c3be2ce6e01371539d94ba50a", "uid": "b6eaadc02135408a3c296cd49dabdb19", "username": "sindresorhus" }, "service": { "hostname": "sindresorhus.com", "protocol": "https:" }, "type": "web_service_binding", "version": 1 }, "ctime": 1531853124, "expire_in": 157680000, "prev": "cbab6bb516e46064f0efe0c1c7d5463fa994de8e6a4afb91b4bcb9359bd3ba0c", "seqno": 36, "tag": "signature" } which yields the signature: -----BEGIN PGP MESSAGE----- Version: Keybase OpenPGP v2.0.77 Comment: https://keybase.io/crypto yMNsAnicbZJ9UFRVGMZBSSZSWDG+EpSu6Cy4LPf7Y1GQ0hTKWHFIg5LOuffc5cay u9xdBNxBJUNhGKdFA8SvbIqhCWIAKRVzcCUC8w8aGcQRHZtpMoIYK4micaJ7mfzP O3Pmzjnn9zzned9zvlm2OCAkMI+ZH68LPmEJvOE/VxqQ/7qw2YtBp1SBWbxYEVr4 IbuE3J6CIkXCLBhOkDgFOYbCWZZHFMEJpABYRNE0j5AgAgBoSmMETsAJjpc4HNIU T9OESLEcQ1AQyJyMA8yEyYrDhlSXqjg8mq1AsBwSCJmSAM0yEo6TOKB5SDGAYmRZ gjzEOYGndGGh060rtHAQuJFZcWpr2qRgId5T+Ce5cUKELEEghFMiYklRwCUOQg5p uSkAASkylCDxEGpKkYKI1CCEExRH6OsCDQGzkLt0wQ6yCABJxEmCYmicB5RICqwo 0YIEoAQJQQfdSHWAYqTRbsUhqcjtVAtL3VilCdN29ioi0purV/MUyiw6izUPl+r0 OEWnXdst9Hhcbouu9lS4dLwMwYL/jQqgJtX6qSn2ItWtOB2YhdBI0aPozloFBK8N kjZhqNylqKhA0QmGY3lc+/Rz0F7NUoQAshAyBItoFmdpGUcywkVC5CSGZikZCAIt aQ1jAQ1kKBCQhiIUKEaAknazuIjppZU4nJiFYrWcwLZQlc0BPKUqwiqv+d8KCggM CVjyzCL9oQWEPGt48vzie8LmpY4101Zy++KDOcEZvz5aYjGM2Dqq/lZawSZr+I8P bpTtiZ6B6OCZ818cWZM/dCL1Zr/5UvrLoWil4jky8XOSzPpPN6Nbq9jMt81539lW rx987/j7xueL1p3xZoXtjF8qfdyWMnw9bqIv+Y/wpoenZpu8h3yXbhkH2lef9P0b d2/QcMUSkxiyrS2hqKknMvqjVNwfMZ7cFttRs3yopPyN/A3xh1MeG3/rqp28P7Lr +zvNuy7kTbb3Vg7nSclbU+aX1fXP7a/OPPtm2Yah2vqdppXW1yLGZgZc9vrWtUP2 TZ2+qajPT1293EkyQcHTL228G2/8oKs4ua67y1n9SvaOlplu3+TEh5fpfdMJW1TY lWOYrq3/U+arIrvmvvUz1XuMkSH/GKaaY7q3egdfqPQ2nLQb73qnGo29ab907r9w /dWkvot/GRMGjmaUFNp9lUGPsar8hFHLufSvR6+EZVtvm2rwsZaLG1vLY9M7D3z2 Se9Pjf27VwTdizifRNV3b5M9xHOJPR2+tT80PJqLbZhEL6aOC6ov851jMccP3FzX sSM3bjBlhTxWs6qt80vvV9l9o/TmLN6fmzJiMtfVDvtvVxQ++DQ6YzZ30btC/pbT zFUyy3E4iW85GtUaM2sduhM+MxI18vv60GNR+2wO7po1r3F5Wm+a0WzYfp+Te0Md D5e2z+8+m5NI/Adyjbj7 =h6oE -----END PGP MESSAGE----- And finally, I am proving ownership of this host by posting or appending to this document. View my publicly-auditable identity here: https://keybase.io/sindresorhus ================================================================== ================================================ FILE: readme.md ================================================ # [sindresorhus.com](https://sindresorhus.com) > Personal website of Sindre Sorhus *The website targets the latest version of Chrome, Safari, and Firefox.* ================================================ FILE: source/components/apps/AppsByPlatform.astro ================================================ --- // Group and render apps by platform with subsections. const {apps = []} = Astro.props; // Default order for platform sections (Apple platforms only). const platformOrder = ['macOS', 'iOS', 'watchOS', 'tvOS', 'visionOS']; const orderIndex = platform => { const index = platformOrder.indexOf(platform); return index === -1 ? Number.MAX_SAFE_INTEGER : index; }; const platforms = [...new Set(apps.flatMap(app => app.platforms))] .filter(Boolean) .sort((a, b) => orderIndex(a) - orderIndex(b)); --- {platforms.map(platform => (

{platform}

))} ================================================ FILE: source/components/apps/AppsCategory.astro ================================================ --- import {markdown} from '@astropub/md'; import {SITE} from '~/config.mjs'; import Layout from '~/layouts/SimplePageLayout.astro'; import {fetchApps} from '~/utils/apps.js'; import AppsList from '~/components/apps/AppsList.astro'; import AppsByPlatform from '~/components/apps/AppsByPlatform.astro'; const { title, description, metaTitle, filter, slugs = [], includeArchived = false, groupByPlatform = false, } = Astro.props; const allApps = await fetchApps({includeArchived}); let selected = allApps; if (Array.isArray(slugs) && slugs.length > 0) { selected = slugs .map(slug => allApps.find(app => app.slug === slug)) .filter(Boolean); } else if (typeof filter === 'function') { selected = allApps.filter(app => filter(app)); } const meta = { title: metaTitle ?? `${title} — ${SITE.name}`, }; let descriptionHtml; if (description) { descriptionHtml = await markdown(description); } const hasDescriptionSlot = Astro.slots?.has?.('description'); ---

{title}

{/* Use either `description` (Markdown string) or the `description` slot for custom markup: Or with slot: Custom HTML with links, components, etc. */} {hasDescriptionSlot ? ( ) : ( descriptionHtml &&
)} {groupByPlatform ? ( ) : ( )} ================================================ FILE: source/components/apps/AppsList.astro ================================================ --- // Renders a simple list of apps as links with subtitles. const {apps = []} = Astro.props; ---
    {apps.map(app => (
  • {app.title} — {app.subtitle}
  • ))} {apps.length === 0 &&
  • No apps found.
  • }
================================================ FILE: source/components/blog/List.astro ================================================ --- import Item from '~/components/blog/ListItem.astro'; const {posts} = Astro.props; ---
    { posts.map(post => (
  • )) }
================================================ FILE: source/components/blog/ListItem.astro ================================================ --- /// import PostTags from '~/components/blog/Tags.astro'; import {getFormattedDate} from '~/utils/utils.js'; const {post} = Astro.props; const readingTimeText = post.isRedirect ? '' : ` — ${post.readingTime} min read`; ---

{post.title}

{post.description}

{readingTimeText}
================================================ FILE: source/components/blog/Pagination.astro ================================================ --- import {Icon} from 'astro-iconify'; const { prevUrl, nextUrl, prevText: previousText = 'Newer posts', nextText = 'Older posts', } = Astro.props; --- { (prevUrl || nextUrl) && ( ) } ================================================ FILE: source/components/blog/Post.astro ================================================ --- /// import PostTags from '~/components/blog/Tags.astro'; import {getFormattedDate} from '~/utils/utils.js'; import {blogProseCSS as proseCSS} from '~/utils/apps.js'; const {post} = Astro.props; ---

— {post.readingTime} min read

{/* We could use non-breaking hyphens to keep compound words together, but that risks overflow on narrow screens. */} {post.title}

{post.description &&

{post.description}

}
================================================ FILE: source/components/blog/Tags.astro ================================================ --- import {getPermalink} from '~/utils/permalinks.js'; const { tags, class: className = 'text-sm', } = Astro.props; --- { tags && Array.isArray(tags) && (
    {tags.map(tag => (
  • {tag}
  • ))}
) } ================================================ FILE: source/components/core/MetaTags.astro ================================================ --- /// import {ClientRouter} from 'astro:transitions'; import {SEO} from 'astro-seo'; import {SITE} from '~/config.mjs'; import {cleanPathname} from '~/utils/utils.js'; const { title = SITE.name, description = '', image: _image, imageAlt, noindex = false, nofollow = false, ogTitle = title, ogType = 'website', appStoreId, favicon, rssFeeds = [], articleMeta, } = Astro.props; const resolvedImageAlt = imageAlt ?? ogTitle ?? title; const image = _image && new URL(_image, Astro.site); const canonicalURL = new URL(`/${cleanPathname(Astro.url.pathname)}`, Astro.site); --- {appStoreId && ( <> )} {!appStoreId && image && } {!appStoreId && !image && } {rssFeeds.map(feed => ( ))} 🦄'}> ({property: 'article:author', content: author})) ?? []), ...(articleMeta?.tags?.map(tag => ({property: 'article:tag', content: tag})) ?? []), ], }} /> ================================================ FILE: source/components/core/ToggleMenu.astro ================================================ ================================================ FILE: source/components/widgets/Announcement.astro ================================================ --- import {Icon} from 'astro-iconify'; import MarkdownIt from 'markdown-it'; const {text, url, urlText = 'Learn more'} = Astro.props; const md = new MarkdownIt({html: true, linkify: true}); const renderedText = md.renderInline(text); --- ================================================ FILE: source/components/widgets/Footer.astro ================================================ --- import {Icon} from 'astro-iconify'; import {iconLinkCSS} from '~/utils/utils.js'; ---
================================================ FILE: source/components/widgets/Header.astro ================================================ --- import {Icon} from 'astro-iconify'; import HeaderLink from './HeaderLink.astro'; import ToggleMenu from '~/components/core/ToggleMenu.astro'; import {cleanPathname, iconLinkCSS} from '~/utils/utils.js'; const {isAppPage = false} = Astro.props; const currentPath = cleanPathname(Astro.url.pathname); --- ================================================ FILE: source/components/widgets/HeaderLink.astro ================================================ --- import {cleanPathname} from '~/utils/utils.js'; const {href, class: className, ...properties} = Astro.props; const currentPath = cleanPathname(Astro.url.pathname); const isActive = currentPath.startsWith(href.replace(/^\//, '')); const activeClass = 'underline underline-offset-[7px] decoration-[3px] decoration-secondary-500'; const linkClass = `${isActive ? activeClass : ''} font-medium hover:text-gray-900 dark:hover:text-white px-4 py-3 flex items-center transition duration-150 ease-in-out`; ---
  • ================================================ FILE: source/components/widgets/OverflowMenu.astro ================================================ --- import {Icon} from 'astro-iconify'; export type OverflowItemProps = { title: string; url: string; }; export type OverflowMenuProps = { overflowItems?: readonly OverflowItemProps[]; iconClassName?: string; iconSizeClass?: string; }; const {overflowItems, iconClassName, iconSizeClass = 'w-5 h-5'} = Astro.props; const iconClass = iconClassName ?? 'text-primary-600 dark:text-primary-400'; ---
    ================================================ FILE: source/components/widgets/PressQuotes.astro ================================================ --- const {quotes} = Astro.props; const isOdd = quotes.length % 2 === 1; --- ================================================ FILE: source/components/widgets/RelatedApps.astro ================================================ --- import {shufflingArray} from '~/utils/utils.js'; const {currentApp, allApps} = Astro.props; const candidates = allApps.filter(app => app.slug !== currentApp.slug && !app.isRedirect, ); const scored = candidates.map(app => { let score = 0; for (const platform of app.platforms) { if (currentApp.platforms.includes(platform)) { score += 3; } } if (app.isMenuBarApp && currentApp.isMenuBarApp) { score += 2; } if (app.isPaid === currentApp.isPaid) { score += 1; } return {app, score}; }); scored.sort((a, b) => b.score - a.score || b.app.pubDate - a.app.pubDate); // Pick 3 with some randomness: take the top candidates and shuffle within them. const poolSize = Math.min(scored.length, 8); const pool = scored.slice(0, poolSize); const related = shufflingArray(pool).slice(0, 3).map(entry => entry.app); --- {related.length > 0 && ( )} ================================================ FILE: source/config.mjs ================================================ export const SITE = { name: 'Sindre Sorhus', origin: 'https://sindresorhus.com', basePathname: '/', title: 'Sindre Sorhus', description: 'Full-Time Open-Sourcerer & Aspiring Rebel', blogPostsPerPage: 10, }; ================================================ FILE: source/content/apps/actions.md ================================================ --- title: Actions subtitle: Additional actions for the Shortcuts app pubDate: 2021-10-28 platforms: - macOS - iOS - visionOS hasSentry: true appStoreId: 1586435171 links: 'TestFlight': https://testflight.apple.com/join/fJGUrsZx olderMacOSVersions: - '12' - '13' - '14' - '15' feedbackNote: | ### If you just updated to iOS 26, it may take some time for iOS to re-index all the Shortcuts actions. Give it some time. ### If the actions don't show up in the Shortcuts app or you get a “com.apple.extensionKit.errorDomain error 2”, [see this](/actions#actions-not-showing-up).

    Tip: To pass a variable to a file input in Shortcuts, tap-and-hold (iOS) or right-click (macOS) the input and select the variable. **Some actions that are not possible: orientation lock status, flashlight status, ambient sensor info, flight mode status, [and more](/actions#impossible-actions).** This is not the place to ask general Shortcuts questions. Try [r/shortcuts](https://www.reddit.com/r/shortcuts/) instead. --- The app provides 180+ powerful extra actions for the Shortcuts app on macOS, iOS, and visionOS. These actions make it significantly easier to create shortcuts. > [!IMPORTANT] > Restart your device if the actions do not show up in the Shortcuts app. [Learn more ›](#actions-not-showing-up) If you have any questions about how to use the different actions or for what, try asking the [Actions GPT bot](https://chatgpt.com/g/g-6746353a017881918cceb0761aea3bfe-actions-app-companion). And if you want to feed your own AI, [here is the source data](https://gist.githubusercontent.com/sindresorhus/fbba65a774fb9da915e624807a02a6d2/raw/7be21a65977b6dd82d1a6cc34be4476df057ea06/actions.md). --- > [!TIP] > On macOS, also check out [Shortcutie](/shortcutie) for advanced actions and [Short Run](/short-run) for running shortcuts from the menu bar. --- #### Included actions - Add to List - Apply Capture Date - Ask for Duration - Ask for Input with Dialog Show a dialog with a text field and multiple buttons. Returns both the entered text and which button was tapped, with support for timeout, custom icon (macOS), image, and destructive button styling. You can disable the text field to just have a confirmation dialog. - Ask for Text with Timeout - Authenticate - Blur Images - Boolean - Calculate Bearing Get the compass direction between two coordinates. - Calculate Distance - Calculate with Soulver - Choose from List (Extended) - Clamp Number - Color - Combine Audio Files - Combine Lists - Combine Videos - Convert Coordinates to Location - Convert Date to Reference Timestamp - Convert Date to Unix Timestamp - Convert Location to Geo URI - Convert Number Base Convert between binary, octal, decimal, and hexadecimal. - Convert Reference Timestamp to Date - Convert Text File Encoding Convert text files between character encodings (UTF-8, Shift-JIS, Windows-1252, etc.) with automatic source detection. - Convert Unix Timestamp to Date - Counter Atomic counter. Use cases: avoid races in concurrent automations, rate-limit runs, store progress (“step-3”), track daily counts. - Create Color Image - Create Duration - Create Gradient Color Image - Create Menu Item - Create URL - Create URL Shortcut File Create [`.url` or `.webloc`](https://en.wikipedia.org/wiki/Shortcut_(computing)) files that open websites when double-clicked. Primarily for macOS. - Download File - Edit URL - Encrypt File - Encrypt Text - Filter List - Filter List of Dictionaries - Find Music Playlist (iOS-only) - Find Wi-Fi Network (macOS-only) - Find Workout (iOS-only) Returns workouts from the Health app, including workout type, duration, source details, and metrics like active calories, heart rate, etc. - Find Points of Interest Find nearby places matching a query around a location. - Flash Screen (macOS-only) - Format Currency - Format Date Difference - Format Duration - Format Number as Ordinal - Format Number — Compact - Format Person Name - Format Text List `["A", "B", "C"]` → `A, B, and C` - Generate CSV - Generate Emojis - Generate Haptic Feedback (iOS-only) - Generate Random Data - Generate Random Text - Generate UUID - Get All System Colors - Get Audio Playback Destination (iOS-only) - Get Average Color - Get Average Color of Image - Get Battery State - Get Bluetooth Device - Get Bluetooth Devices - Get Boolean from Input - Get Compass Heading (iOS-only) - Get Contents of URL (Extended) Enhanced HTTP requests with complete response details (status codes, headers, all methods) instead of just the response body like the built-in action, and also timeout. - Get Dates in Range Returns all dates between two dates filtered by type. For example, get all Mondays between two dates, or list every weekend in a month. - Get Default Browser (macOS-only) - Get Device Details (Extended) - Uptime (not including sleep) - Uptime (including sleep) - Active processor count - Physical memory - Time zone - Hostname - Thermal state - Total storage capacity - Available storage capacity - Battery condition (macOS-only) - Battery health (macOS-only) - Serial number (macOS-only) - Get Device Motion Activity (stationary, walking, running, cycling, automotive, etc.) - Get Device Motion Data (iOS-only) - Get Device Orientation - Get Dominant Colors of Image - Get Elevation (iOS-only) - Get Emojis - Get File Path - Get High-Resolution Timestamp - Get Image URLs from Web Page Extracts image URLs from a web page and returns them without downloading. - Get Images from Web Page Extracts images from a web page and returns them as files. - Get Index of List Item - Get Map Image of Location - Get Media Metadata - Get Meta Tags of URL Extract meta tags (title, description, Open Graph, etc.) from a webpage. - Get Modifier Key State (macOS-only) - Get Paragraphs from Text - Get Printers (macOS-only) - Get Query Item Value from URL - Get Query Items from URL - Get Query Items from URL as Dictionary - Get Random Boolean - Get Random Color - Get Random Date and Time - Get Random Emoticon - Get Random Floating-Point Number - Get Random Number from Seed - Get Raw Media Metadata - Get Related Words - Get Running Apps (macOS-only) - Get Sentences from Text - Get SF Symbol Image - Get System Color - Get Title of URL - Get User Details - Username (macOS-only) - Full Name - Given Name - Family Name - Initials - Shell - Language Code - Idle Time (macOS-only) - Administrator Status (macOS-only) - Get Values Using [JSONPath](https://en.wikipedia.org/wiki/JSONPath) - Get/Set Default Printer (macOS-only) - Get/Set File Extension Visibility (macOS-only) Check and control whether file extensions are shown in Finder for specific files. Only works if the “Show all filename extensions” Finder setting is disabled. - Get/Set File Icon (macOS-only) Get the icon of files and folders or set custom icons for them. - Get/Set File Tags - Get/Set Image/Video Capture Date - Get/Set Image/Video Location - Get/Set Uniform Type Identifier - Global Variable - Hex Encode - Hide Shortcuts App - Invert Dictionary `{"en": "Hello", "es": "Hola"}` → `{"Hello": "en", "Hola": "es"}` - Invert Images - Is Accessibility Feature On - Is Audio Playing (iOS-only) - Is Bluetooth On - Is Call Active (iOS-only) - Is Camera On (macOS-only) - Is Cellular Data On - Is Cellular Low Data Mode On - Is Conforming to Uniform Type Identifier - Is Connected to VPN (iOS-only) - Is Dark Mode On - Is Day - Is Device Locked - Is Device Moving - Is Device Orientation - Is Host Reachable - Is Location Services Enabled - Is Low Power Mode On - Is Microphone On (macOS-only) - Is Online - Is Screen Locked (macOS-only) - Is Screen Saver Active - Is Shaking Device - Is Silent Mode On (iOS-only) - Is Time - Is Time In Range - Is Web Server Reachable - Is Wi-Fi On (macOS-only) - Join Wi-Fi (iOS-only) - Keychain Securely stores a value in the device [keychain](https://developer.apple.com/documentation/security/keychain-services). Useful for sensitive data like API keys, tokens, and passwords. Can be synced. - Make Live Photo from Video - Make Markdown Table - Manage Shortcut Lock Prevents multiple instances of a shortcut from running simultaneously - Merge Dictionaries - Named Clipboard (macOS-only) - Open URLs in Safari - Open URLs with App (macOS-only) For example, open URLs in a specific browser. - Overwrite File - Overlay Image (Extended) Overlay an image on top of another one with blend modes, opacity, rotation, flipping, and precise positioning. - Parse CSV - Parse JSON5 - Parse Markdown Table - Pick Color Pick a color using the system color picker, optionally from a reference image. - Play Alert Sound (macOS-only) - Pretty Print Dictionaries - Remove Dictionary Values - Remove Duplicate Lines - Remove Duplicates from List - Remove Emojis - Remove Empty Lines - Remove from List - Remove Non-Printable Characters - Reverse Lines - Reverse List - Round Number to Decimal Places `3.14159` → `3.14` - Round Number to Multiple - Sample Color from Screen (macOS-only) - Scan Barcodes in Image - Scan Documents (iOS-only) - Scan QR Codes in Image - Send Distributed Notification (macOS-only) - [What are distributed notifications?](/apps/faq#distributed-notifications) - Set Creation and Modification Date of File - Set Dictionary Value Using [JSONPath](https://en.wikipedia.org/wiki/JSONPath) - Show Black Screen (iOS-only) - Show Notification - Shuffle List - Sort List - Sort List of Dictionaries - Sort Months - Spell Out Number - Toggle Boolean - Transform Lists - Transform Text - Camel case - Pascal case - Snake case - Constant case - Dash case - Slugify - Strip punctuation - Strip quotation marks - Strip HTML - Strip diacritics - JSON Escape - Transliterate to Latin - Transliterate Latin to Arabic - Transliterate Latin to Cyrillic - Transliterate Latin to Greek - Transliterate Latin to Hebrew - Transliterate Latin to Hangul - Transliterate Latin to Hiragana - Transliterate Latin to Thai - Transliterate Hiragana to Katakana - Transliterate Mandarin to Latin - Transform Text with JavaScript - Trim Whitespace - Truncate List - Truncate Number - Truncate Text - Use System Font in Rich Text - [Example shortcut](https://www.icloud.com/shortcuts/03aecdb46eca496aaf996ebc625a0c54) - Wait for Distributed Notification (macOS-only) - [What are distributed notifications?](/apps/faq#distributed-notifications) - Wait Milliseconds - Write or Edit Text #### Want more shortcut actions? {#more-actions} - Run shortcuts from the menu bar or silently in the background via URL scheme → [Short Run](/short-run) - High-quality transcription (speech to text) in 100 languages → [Aiko](/aiko) - Trigger shortcuts on your Mac from your iOS device → [Hyperduck](/hyperduck#shortcuts) - Set default browser → [Supercharge](/supercharge) & [Default Browser](/default-browser) - Use the ChatGPT API, Ollama, Groq → [AI Actions](/ai-actions) - Show text in menu bar → [One Thing](/one-thing) - Open URLs in a specific browser → [Velja](/velja) - Remove tracking parameters from URLs → [Velja](/velja) & [Pure Paste](/pure-paste) - Check if online → [Online Check](/online-check) - Generate images from text with AI locally → [Imago](/imago) - Clear clipboard formatting → [Pure Paste](/pure-paste) - Get internet speed → [Speediness](/speediness) - Join video calls → [Dato](/dato) - Put text on the iOS Lock Screen → [Any Text](/any-text) - Preview app icons → [Icon Preview](/icon-preview) - Get clipboard items → [Pasteboard Viewer](/pasteboard-viewer) #### Impossible actions {#impossible-actions} Some common action requests that are not possible: - Orientation lock status - Flashlight status - Ambient sensor info - Flight mode status - Hotspot status - Hotspot connect/disconnect - All audio playback destinations - CarPlay connection status - Notifications in CarPlay - Media volume - More accessibility checks (like reduce white point) - If charging wirelessly Anything related to changing system features/settings or interacting with other apps is generally not possible. For these, I recommend sending a [feature request to Apple](https://feedbackassistant.apple.com). #### Declined actions {#declined-actions} - Imgur - I generally don't want to integrate with services. They cause a huge support burden, either by being unreliable, breaking the API, shutting down, and other things. ## Tips ### URL Scheme {#url-scheme} The app supports the `actions://` URL scheme that can be used to open the app. ## Frequently Asked Questions {#faq} #### The actions don't show up in the Shortcuts app {#actions-not-showing-up} This is caused by an iOS/macOS bug. Some things you could try: 1. Restart your device. 1. Change the device language to something else and back. 1. Add [this shortcut](https://www.icloud.com/shortcuts/14315b9af3774a0c8cb439718a67fb2f), run it once, relaunch Shortcuts, and see if the actions show up in the Shortcuts app after that. 1. Add [this shortcut](https://www.icloud.com/shortcuts/e3b39e37d8d6439db9119ebbff626958), copy the action, paste it into a new shortcut, and relaunch Shortcuts. 1. Remove the app, install it again, and restart your device. *Please don't contact me about this issue. This is a problem with iOS/macOS and out of my control.* #### I get a “errorDomain error 2” error when running an action Same solution as above. #### Why is this free without ads? I just enjoy making apps and want this to be available for everyone. Consider leaving a nice review on the App Store. #### How can I prevent the app from being offloaded when I have “app offloading” enabled on iOS? iOS does not have a way to prevent individual apps from being offloaded (even though it should!) and there is no way for apps to tell iOS not to offload them. I recommend [sending feedback to Apple](https://feedbackassistant.apple.com) about this. You could try [this workaround](https://www.reddit.com/r/ios/comments/85k8b5/disable_offloading_for_specific_apps/). #### Can the “Show Notification” action send critical alerts? No. I applied for Apple’s [Critical Alerts entitlement](https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.usernotifications.critical-alerts), but it was declined. Critical Alerts are reserved for very limited use cases such as medical, health, home security, and public safety notifications. General-purpose automation apps like Actions are not eligible. ## Older versions - [3.8.0](https://www.dropbox.com/scl/fi/fhfw330g14eh35bwofuyy/Actions-3.8.0-macOS-15-1773919013.zip?rlkey=9l9f3noc5l64j9r0cai9lc5rm&raw=1) for macOS 15+ - [3.5.1](https://github.com/user-attachments/files/18963268/Actions.3.5.1.-.macOS.14.zip) for macOS 14+ - [2.10.0](https://www.dropbox.com/scl/fi/lzy4po8qfggroxcv9pzdo/Actions-2.10.0-1731826197.zip?rlkey=f37xihlhq45syauygdn5268un&raw=1) for macOS 13+ - [1.13.1](https://www.dropbox.com/scl/fi/9iqfn8airygpk0la4gv1u/Actions-1.13.1-1731826428.zip?rlkey=y4u5ni2pn28rp3lse08lv96k6&raw=1) for macOS 12+ ## Non-App Store Version A special macOS version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/7mt9uvbmn589y4qobdpe9/Actions-4.0.1-1774194992.zip?rlkey=7tg0zlun69c19t6m5lmn2ph0q&raw=1) *(4.0.1 · macOS 26+)* ================================================ FILE: source/content/apps/ai-actions.md ================================================ --- title: AI Actions subtitle: AI actions for the Shortcuts app pubDate: 2023-09-26 platforms: - macOS - iOS - visionOS appStoreId: 6465250302 olderMacOSVersions: - '14' - '15' feedbackNote: | I cannot provide support for general Shortcuts questions. Use [Reddit](https://www.reddit.com/r/shortcuts) for that. --- The app provides additional AI-related actions (GPT 5.2, Claude Sonnet/Opus 4.5, etc.) for the Shortcuts app. For example, an action to interact with the ChatGPT API. > [!NOTE] > The app requires you to specify your own OpenAI / Anthropic API key. > Note that ChatGPT Plus or an Anthropic paid account does not give you free API access. Your API key is securely stored in your keychain, not in a shortcut. It also supports many more models through [Ollama and Groq](#alternative-providers). > [!NOTE] > The macOS version on the App Store requires an Apple silicon Mac. For Intel Macs, use the [non-App Store version](#non-app-store-version). > *(This is because Apple only accepted the iOS version and not the macOS version, so on macOS, the iOS version of the app is used, which only runs on Apple silicon Macs)*
    > [!TIP] > You may also like my [Actions](/actions) app. ## Tips #### Ollama and Groq support {#alternative-providers} The app also supports [Ollama](https://ollama.com/blog/openai-compatibility) (local models like GGUF) and [Groq](https://console.groq.com/docs/openai) (because they have OpenAI API compatibility), making it possible to use it with a lot more models. For Ollama, set the “Base URL” to `http://localhost:11434` (or the network address of your Ollama instance). Since Ollama doesn't require authentication, just enter any text (e.g., `ollama`) as the OpenAI API key. In the “Ask AI” action, select the “Custom” model and provide the name of the desired model (e.g., “llama3”). For Groq, specify `https://api.groq.com/openai`. In the “Ask AI” action, select the “Custom” model and provide the name of the desired model. For OpenRouter, specify `https://openrouter.ai/api`. For [Gemini](https://ai.google.dev/gemini-api/docs/openai), specify `https://generativelanguage.googleapis.com/v1beta/openai/`. In the “Ask AI” action, select the “Custom” model and provide the name of the desired model. ## Frequently Asked Questions {#faq} #### The actions do not show up in the Shortcuts app This is an iOS/macOS bug. Launch the app once and then restart your device. If that doesn't work, [try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### Why are these actions not just part of your [Actions](/actions) app? Apple prevents any app that includes AI-related functionality from being available in China. I didn't want the Actions app to be unavailable in China just because of one action. #### How is this better than the “Ask ChatGPT” action provided by the official ChatGPT app? This one works on macOS too, supports longer text, has customizability options for power-users, supports DALL·E, and will support more AI APIs in the future. #### How is this better than just calling the OpenAI API directly from Shortcuts? This makes it simpler, but more importantly, it stores your API key securely in the keychain. This means you can share your shortcuts with others without exposing your API key. The API key is not stored in the shortcut. #### Can you support the OpenAI Whisper API? No, the Whisper API isn't suitable for this app due to Shortcuts' 30-second limit on third-party actions on iOS, making long transcriptions impossible. Instead, use my app [Aiko](/aiko). It runs Whisper locally on your device and supports Shortcuts by performing transcriptions in the foreground, bypassing the time constraint (on macOS, it runs in the background). #### Can you add built-in support for the Google Gemini API? {#gemini} No. I don’t want to keep adding more providers, and I especially don’t want to take on Google-specific APIs and auth quirks. More providers means a larger API surface, more edge-cases, and more maintenance. Workaround: Gemini already offers an OpenAI-compatible endpoint, which this app supports. Set the Base URL to `https://generativelanguage.googleapis.com/v1beta/openai/`, then choose “Custom” and enter the Gemini model name. You can also use an OpenAI-compatible proxy like [OpenRouter](https://openrouter.ai) if you prefer one unified endpoint. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.4.5](https://www.dropbox.com/scl/fi/o80d948mabpohlip3je6m/AI-Actions-1.4.5-macOS-15-1769233269.zip?rlkey=lgxnxyzv75g6r82b4c3fitwuz&raw=1) for macOS 15+ - [1.3.3](https://github.com/user-attachments/files/18376675/AI.Actions.1.3.3.-.macOS.14.zip) for macOS 14+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/6l6e13n3v01nywhx532cp/AI-Actions-1.5.0-1769231336.zip?rlkey=hv3jek3xtx0l3sv7m8oip1y78&raw=1) *(1.5.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/aiko.md ================================================ --- title: Aiko subtitle: AI-powered audio transcription pubDate: 2023-03-03 platforms: - macOS - iOS - visionOS isPaid: true appStoreId: 1672085276 olderMacOSVersions: - '13' - '14' feedbackNote: | **Sharing from Voice Memos on iOS 26 does not work because of an iOS 26 bug outside of my control.** You may notice that many targets do work. This is because those apps use share extensions, while with Aiko, it opens directly in the app. [Workaround.](/aiko#voice-memos-ios26) [How can I get back the old app icon?](/aiko#old-icon) [Refunds](/apps/faq#refund) If the app crashes, it's likely that the device ran out of available RAM. Restart your device and try again. No need to contact me about Whisper v3 turbo support. I'm looking into it. Any problems with the output are unfortunately out of my control. The app uses the OpenAI Whisper AI model to transcribe. The model has some flaws with certain recordings like repetition, hallucination, and refusal to produce text. --- High-quality on-device transcription. Easily convert speech to text from meetings, lectures, and more. The transcription is powered by OpenAI's [Whisper model](https://openai.com/research/whisper) running locally on your device. The app also includes [support for Shortcuts](#tips). It's a [Universal Purchase](/apps/faq#universal-purchase).
    Supports audio in 100 languages - Afrikaans - Albanian - Amharic - Arabic - Armenian - Assamese - Azerbaijani - Bangla - Bashkir - Basque - Belarusian - Bosnian - Breton - Bulgarian - Burmese - Catalan - Chinese - Croatian - Czech - Danish - Dutch - English - Estonian - Faroese - Finnish - French - Galician - Georgian - German - Greek - Gujarati - Haitian Creole - Hausa - Hawaiian - Hebrew - Hindi - Hungarian - Icelandic - Indonesian - Italian - Japanese - Javanese - Kannada - Kazakh - Khmer - Korean - Lao - Latin - Latvian - Lingala - Lithuanian - Luxembourgish - Macedonian - Malagasy - Malay - Malayalam - Maltese - Marathi - Mongolian - Māori - Nepali - Norwegian - Norwegian Nynorsk - Occitan - Pashto - Persian - Polish - Portuguese - Punjabi - Romanian - Russian - Sanskrit - Serbian - Shona - Sindhi - Sinhala - Slovak - Slovenian - Somali - Spanish - Swahili - Swedish - Tagalog - Tajik - Tamil - Tatar - Telugu - Thai - Tibetan - Turkish - Turkmen - Ukrainian - Urdu - Uzbek - Vietnamese - Welsh - Yiddish - Yoruba
    #### Privacy Aiko transcribes audio directly on your device, ensuring complete privacy. It's perfect for sensitive recordings. #### Technical details The app uses the Whisper large v2 model on macOS and the medium or small model on iOS depending on available memory. ## Trial Try Aiko free for 14 days via [TestFlight](https://testflight.apple.com/join/P1qnhHCC). It's the full app, no limitations. No auto-charges or commitment. Simply purchase it from the App Store after the trial if you want to continue using it. *Disregard where it says how many days there are left. It means the days left of the current TestFlight build, not how long you have left on your trial.* ## Tips ### Divide text into paragraphs Aiko divides the transcription text by sentences. If you want the text divided into paragraphs, copy the text from Aiko, go to [ChatGPT](https://chat.openai.com), and use the following prompt. `Divide the text into paragraphs. Don't change the text otherwise: TRANSCRIPTION TEXT` ### Fix missing punctuation A flaw of the Whisper model is that transcriptions can sometimes be missing punctuation. Try setting the “Prompt” setting to, for example: > Hello. I like cake. If that still doesn't fix it, try copying the text from Aiko, go to [ChatGPT](https://chat.openai.com), and use this prompt: `Fix the missing punctuation. Don't change the text otherwise: TRANSCRIPTION TEXT` ### Batch transcribe {#batch} Aiko does not yet support batch transcription built-in, but you can achieve it with shortcuts. Get [this (iOS)](https://www.icloud.com/shortcuts/f790a41e23ae4222920277b4fe9d1217) or [this (macOS)](https://www.icloud.com/shortcuts/0be44e478b9e472192cae2e0dfc327ed) shortcut and then share the audio files you want to transcribe (e.g. from Voice Memos or Files/Finder) and choose the shortcut in the share sheet. You can also run the shortcut directly from the Shortcuts app or even add the shortcut to the Home Screen. ### Transcribe files directly in Finder On macOS, you can transcribe files simply by right-clicking audio files in Finder and choosing [this shortcut](https://www.icloud.com/shortcuts/d03bb8e17513432190a1ed711f99d423) (add it first) in "Quick Actions". [Preview.](https://x.com/sindresorhus/status/1789957043912093954) In the shortcut you can choose whether you want text or subtitles. ### Record and transcribe by pressing the iPhone action button [This](https://www.icloud.com/shortcuts/62a62ef967b74ffb897d72ee6a881746) shortcut records, transcribes, and then shows the result in the Aiko app. Save the shortcut and then select it in the action button settings. If you want to record, transcribe, and then do something with the transcription in your shortcut workflow, check out [this shortcut](https://www.icloud.com/shortcuts/00198bd63c094540ba25fe066245319d). You could, for example, pass the transcription to the ChatGPT shortcut action for further processing. ### Quickly record and transcribe (iOS) Do the same as the above, but instead add the shortcut to the Home Screen (can be done in the shortcut settings). ### Quickly record, transcribe, and add transcription to the Notes app (iOS) Use [this shortcut](https://www.icloud.com/shortcuts/806ab945539d42acb79354805c50d9d5). ### Quickly record and transcribe (macOS) You can use [this shortcut](https://www.icloud.com/shortcuts/e43220d72f3343659e0fda36fee52d72) to be able to quickly record, transcribe, and have the result copied to the clipboard. The shortcut can be triggered from the menu bar or you can set a global keyboard shortcut for it. ### Start recording in Aiko when tapping the Home Screen icon [Get this shortcut](https://www.icloud.com/shortcuts/7c3031aa674c405fa69093d1f6c184a6) and add it to the Home Screen. Then tap it instead of the original Aiko app icon. ## Frequently Asked Questions {#faq} #### Can you use the large v3 model for the Mac app? The v3 model is [worse](https://github.com/openai/whisper/discussions/1762#discussioncomment-7532295) than v2 in too many cases. I tried releasing v3, but got a lot of emails about the quality being worse, so I ended up reverting it. #### Can you add support for v3 turbo? I have plans to look into it, but it's not something I have time to prioritize right now. It cannot be the default model as it's worse than v2. Which means, I will need to add support for downloading models, which is a huge amount of work. #### Can you include the large model on iOS? Even the latest iPhone is not powerful enough to run the large model. It can maybe be done when the [Whisper Distilled](https://github.com/huggingface/distil-whisper) project supports multiple languages. #### Can you support the new [Apple SpeechTranscriber API](https://developer.apple.com/documentation/speech/speechtranscriber)? Probably not initially: - New Apple APIs are always super buggy - Only 10 languages - No automatic language detection - Whisper still has higher quality Maybe when it's more mature. #### The screen turned off during transcription The app tells the system not to turn off the screen. However, if you have enabled “low power mode”, the system may do so anyway. Try turning it off. #### Can I edit the text in the app? I don't plan to support any editing. Export the transcription and edit it in a proper text editor. #### How is this better than the built-in transcription on Apple devices? - Much better accuracy. - Support for more languages. - Transcribe audio and video files. - Export to many different formats, like JSON, CSV, and subtitles. #### I found a mistake in the transcription The app uses the OpenAI Whisper model and I have no control over the quality of its output. You could provide feedback about the problem [here](https://github.com/openai/whisper/discussions/categories/general). #### My language is not in the list of supported languages. Can you support it? I have no control over the supported languages. You could try to request it [here](https://github.com/openai/whisper/discussions/categories/general). #### The transcription repeats itself many times This is unfortunately a flaw in the Whisper AI model and out of my control. This is usually caused by the audio not being clean (for example, a lot of background noise). Some things you could try: - Restart your device. - Try enabling the “Skip silent parts” setting. - Try enabling the “Reduce repetitions” setting. - Try enabling the “Reduce repetitions even more” setting. - If you don't need timestamps, you can disable them being produced, which can sometimes reduce repetitions. Triple-tap on the “Translate to English” text in the settings and then disable the “Produce timestamps” setting. #### The transcription is missing punctuation This is unfortunately a flaw in the Whisper model. [Workaround.](#tips) #### The transcription includes a sentence at the end that was not in the audio This is unfortunately a flaw in the Whisper model. It can sometimes add a sentence like “Thanks for watching!” to the end. There is not much I can do about this. Workaround: Try enabling the “Skip silent parts” setting. This issue arises from quirks in the AI's processing, where it sometimes generates off-topic content, often due to data remnants or misinterpreted context. These are not messages or 'whispers' with any underlying meaning; they're random anomalies that OpenAI is actively working to correct. #### The transcription is not in the same language as the source audio Ensure the "Translate to English" setting is disabled. The language used in the "Prompt" setting may also affect the transcription language. #### The transcription is in Traditional Chinese while the audio was in Simplified Chinese or the inverse The [Whisper AI model](https://github.com/openai/whisper) used by the app does not differentiate between Traditional Chinese and Simplified Chinese, so the result could unfortunately end up with either. [Learn more.](https://github.com/openai/whisper/discussions/277) Try writing a sentence in Traditional Chinese or Simplified Chinese in the “Prompt” setting in the app to steer the model into using the right one. #### Why must I keep the iOS app open while it transcribes? iOS apps are fundamentally restricted from operating in the background for extended periods. This ironically even [affects Apple's official apps](https://x.com/bzamayo/status/1661133704792621059). #### What file formats does it support? Any audio and video format that macOS and iOS supports. For example: `.m4a`, `.wav`, `.mp3`, `.mp4`, `.mov`. It does not support `.ogg`. #### Can I get both the original transcription and the English translation at the same time? No, the AI model processes either transcription or translation, not both simultaneously. You need to run the process twice: once for the original transcription, and again with the “Translate to English” setting enabled. #### Where can I find the audio recordings? The audio recordings can be found in the “Aiko” folder in the Files app. #### How can I delete audio recordings? Recordings are not automatically deleted after transcription. **macOS:** Click “File › Show Recent Recordings” in the menu bar to open the recordings folder in Finder. Delete them from there. **iOS:** Open the Files app and navigate to the “Aiko” folder. You can also enable “Auto-delete recordings older than 7 days” in settings. #### When trying to import an audio file, I get error -50 The error comes from iOS and means that it could not read the audio file. Sometimes [converting](https://apps.apple.com/app/id1081480270) the audio file to a different format, like MP3, resolves the issue. #### How can I transcribe audio from the Voice Memos app? **macOS:** Drag and drop the memo into the Aiko window. Note that because of a macOS bug, this can sometimes crash Aiko. If this happens, try sharing the memo from the Voice Memos app to Aiko instead. **iOS:** In the Voice Memos app, tap the memo, tap the `…` button, tap `Share`, and choose Aiko in the app list. **iOS 26:** Sharing from Voice Memos is broken due to an iOS bug. See [workaround](#voice-memos-ios26). #### Sharing from Voice Memos does not work on iOS 26 {#voice-memos-ios26} This is caused by an iOS 26 bug outside of my control. As a workaround, you can use a shortcut that appears in the Voice Memos share sheet: 1. Install the [this shorcut](https://www.icloud.com/shortcuts/343553f2aff44c0fb1c7974a969ae4bb). 1. In Voice Memos, share the recording. 1. Look for **Transcribe with Aiko** in the share sheet. If you don't see it, scroll to the end of the app row and tap `Edit Actions`. 1. If it's still not listed, open the Shortcuts app, tap the **Transcribe with Aiko** shortcut, tap the `ⓘ` button, and enable “Show in Share Sheet”. #### Why does it take so long to generate? Several factors can affect the transcription speed, including the performance of your device and the amount of available memory and CPU. Try closing down other apps or restarting your device before transcribing. That being said, it's likely Aiko will become significantly faster in the coming months. #### Why does the app take up so much space on disk and memory? The app delivers the highest quality transcription on the market for 100 different languages. Rather than asking why it's so large, the real question is how is it so small. #### The app is overheating my device The role of the operating system (iOS/macOS) is to effectively manage the system's resources and to safeguard against overheating. Apps are designed to utilize as many resources as they need to function optimally. In the event that resource consumption reaches a point that threatens to overheat the device, it's the operating system's job to limit such usage automatically. If your device is experiencing overheating while using the app, it's important to understand that the issue likely originates either from the operating system's inability to manage resources effectively, or from an underlying hardware problem. In either case, the app itself is not responsible for the overheating. #### Can I delete some of the languages to save space? This is unfortunately not possible. The model has all the languages stored together in a way that makes it impossible to remove just some languages. #### Can you support real-time transcription? This is something I plan to look into, but I have more popular requests I need to prioritize first. #### Can you support naming the people in the audio? {#diarization} This is called [Diarization](https://en.wikipedia.org/wiki/Speaker_diarisation). It's something I would like to support, but it has to first be [implemented in the library](https://github.com/ggerganov/whisper.cpp/issues/64) the app uses. #### How can I transcribe a Zoom meeting? {#zoom} The app does not yet support live transcription, but you could record the Zoom meeting, and after the meeting is finished, drop the recording into the Aiko window to transcribe. #### How can I transcribe a Messages voice note? {#messages} Drag and drop the voice note into Aiko. [How to drag and drop on iPhone.](https://www.imore.com/how-use-drag-and-drop-iphone) #### How can I transcribe a Telegram voice note? {#telegram} Telegram voice notes are stored in the format [Ogg](https://en.wikipedia.org/wiki/Ogg), which macOS/iOS cannot handle. Workaround for iOS: 1. Download [this app](https://apps.apple.com/app/id889643660). 2. In Telegram, share the voice note to “Audio Converter”. 3. Select “AAC” as output format and tap the convert button. 4. Tap the share button and then choose Aiko. Workaround for macOS: 1. Download [this app](https://apps.apple.com/app/id1081480270) 2. In Telegram, right-click the voice note and save it. 3. Open the saved voice note with the “Audio Converter” app. 4. Select “AAC” as output format and tap the convert button. 5. Save the converted file and open it with Aiko. *I would also recommend sending feedback to Telegram that they should support M4A for voice notes.* #### How can I export the transcription as subtitles (SRT)? When the transcription is done, click the save button in the toolbar, and choose “SRT”. #### How can I transcribe a YouTube video? Download the audio using a service like [dirpy](https://dirpy.com) or the macOS app [Downie](https://software.charliemonroe.net/downie/) and then open the file in Aiko. This cannot be supported built-in as downloading videos from YouTube is against their Terms of Service and Apple would likely reject such a feature. #### The app supports translating to English, can it support more languages? The translation support is built into the AI model and it only supports translating to English. You could copy-paste the result into ChatGPT or Google Translate. #### How can I trigger Aiko with a custom URL scheme? Aiko does not have a custom URL scheme, but you can trigger Aiko from the Shortcuts app, and the Shortcuts app does have a [custom URL scheme](https://support.apple.com/guide/shortcuts/run-a-shortcut-from-a-url-apd624386f42/ios). #### What is Flash Attention? {#flash-attention} Flash Attention is a special technique that helps the app process audio more efficiently while using less memory on your device. Think of it as a smarter way to handle the heavy lifting of transcription. It's a setting in case it causes any problem. It should not though. #### How can I change the app icon on macOS? {#change-icon} You can do it manually for free. See [this guide](https://www.macstories.net/tutorials/customizing-app-icons-on-a-mac-in-2023/). You can also use the [Replaceicon](https://replacicon.app) app (paid). #### How can I get back the old robot icon? {#old-icon} **iOS:** There is a setting for it in the app. **macOS:** Unlike iOS, macOS does not have the ability to have alternative icons. See the above FAQ. [Here's the old app icon.](https://www.dropbox.com/scl/fi/rr8hizeqejfz0pg5yll7f/Aiko-1772609366.png?rlkey=v5frkozme3iairlshont7vxhd&raw=1) #### How is Aiko pronounced? IPA (International Phonetic Alphabet): `[a.i.ko̞]` English approximation: `ah-ee-ko` #### Is the app native? Yes, it's native and written in Swift and SwiftUI. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.8.2](https://drive.google.com/file/d/1ZKZ5P17Pvv4CYuBtkfDe5cuJw46S1HoE/view?usp=sharing) for macOS 14 - [1.5.3](https://drive.google.com/file/d/15NOcj4fyX58I3_NlQyCziL87Ru89yFRx/view?usp=sharing) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/amazing-ai.md ================================================ --- title: Amazing AI subtitle: Generate images from text using Stable Diffusion pubDate: 2022-12-21 platforms: - macOS - iOS - visionOS appStoreId: 1660147028 hasSentry: true olderMacOSVersions: - '13' - '14' - '15' --- Simply describe the image you desire, and the app will generate it for you! It runs locally on your device. **Note:** It uses Stable Diffusion 1.5, which is flexible, but it requires a detailed description to generate a usable image. > [!WARNING] > On macOS, developed exclusively for Apple silicon - The app is NOT compatible with devices running on Intel chips.\ > On iOS, it requires at minimum an iPhone 15 Pro or iPad with an M1 processor. > [!TIP] > Check out my [Imago](/imago) app, which uses Flux 2 instead — a much better model. [Stable Diffusion](https://en.wikipedia.org/wiki/Stable_Diffusion) is a deep learning, text-to-image model used to generate detailed images conditioned on text descriptions. The app is [highly optimized](https://machinelearning.apple.com/research/stable-diffusion-coreml-apple-silicon) and runs on the [Apple Neural Engine](https://apple.fandom.com/wiki/Neural_Engine). ## Tips ### Preview Click a thumbnail to view a larger version of it. Click again to exit. ### Negative prompt To write a [negative prompt](https://dreamlike.art/guides/guide-to-stable-diffusion-negative-prompt-parameter) (what to exclude), write `##` after your prompt, followed by your negative prompt. For example, “photo of a cake, high-quality ## strawberry, out of frame”, where `strawberry, out of frame` is your negative prompt. Anything after the `##` is your negative prompt. You only write `##` once. ### Keyboard shortcuts On macOS, when in preview mode, there are some keyboard shortcuts available: - — Previous image - — Next image - Space — Save image - Command+C — Copy image - Esc — Exit preview ### Metadata On macOS, when you save a generated image, it includes a lot of useful metadata (prompt, steps, etc). You can [view this in Finder](https://x.com/sindresorhus/status/1611441129622278146/photo/1) by right-clicking the image file and selecting “Get Info”. The file also includes some relevant tags which can be used to create [smart folders](https://support.apple.com/guide/mac-help/tag-files-and-folders-mchlp15236/mac). ## Frequently Asked Questions {#faq} #### Why not use Stable Diffusion 3? It will eventually be supported, but right now, it's worse than 1.5. #### Why does the app require Apple silicon for Macs? The app takes advantage of recent [optimizations by Apple](https://machinelearning.apple.com/research/stable-diffusion-coreml-apple-silicon). #### Why does the app require at least iPhone 15 Pro and iPad M1? Generating images with Stable Diffusion requires a lot of system resources. It would not be a good experience on older devices. It could probably run fine on iPhone 15 and iPhone 14 Pro, but Apple does not let us do such a fine-grained requirement. Either I require the current devices or I have to support devices down to iPhone XS, which are not nearly powerful enough. #### What are the usage restrictions for the generated images? You can use the images for commercial or non-commercial purposes, but you must adhere to the [Creative ML OpenRAIL-M license's usage restrictions](https://github.com/CompVis/stable-diffusion/blob/21f890f9da3cfbeaba8e2ac3c425ee9e998d5229/LICENSE#L69-L82). These restrictions include not using the images for illegal activity, false information, discrimination, or medical advice. #### Can you support custom models? I don't plan to support this. This app is intentionally simple. There are many other apps that support custom models. #### Can you support inpainting/outpainting? I don't plan to support this. [DiffusionBee](https://diffusionbee.com) supports this (see below for comparison). #### Can it generate images with aspect ratios other than a square? The Stable Diffusion library used by this app only supports squares. #### Why can it not generate adult images? The app would not be allowed on the App Store if it allowed creating such images. #### Why does it take so long to generate? Several factors can affect the speed of image generation, including the performance of your device and the amount of available memory and CPU. Try closing down other apps or restarting your device before generating images. And bear in mind that the initial generation after installing the app may take longer due to model validation. #### Why does the app take up so much space on disk and memory? The AI model used to generate images is large. This is reasonable given the model's capabilities. #### How does it compare to [DiffusionBee](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui)? {#diffusionbee} **Amazing AI benefits** - Faster and more energy-efficient as it uses the [Apple Neural Engine](https://apple.fandom.com/wiki/Neural_Engine) and recent [macOS optimizations](https://machinelearning.apple.com/research/stable-diffusion-coreml-apple-silicon) - Native user interface (DiffusionBee is a web app wrapped with Electron which does not follow platform conventions) - Batch generation of different prompts (DiffusionBee supports batch for the same prompt only) - Shortcuts support - Automatic upscaling (DiffusionBee requires you to manually click an upscale button for each image) - Sandboxed (More secure) - Available on the App Store **DiffusionBee benefits** - Inpainting - Outpainting - Image-to-image - Custom models #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.6.0](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/Amazing.AI.1.6.0.zip) for macOS 15+ - [1.5.0](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/Amazing.AI.1.5.0.zip) for macOS 14+ - [1.2.2](https://drive.google.com/file/d/1mcEhAKhmQGYzmSS-zlejt3_qsKFzqm0h/view?usp=sharing) for macOS 13+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/Amazing.AI.1.7.0.zip) *(1.7.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/any-text.md ================================================ --- title: Any Text subtitle: Put text on your Lock Screen, Home Screen, and desktop pubDate: 2022-09-12 platforms: - macOS - iOS - watchOS - visionOS isPaid: true appStoreId: 1643199620 feedbackNote: | If you are having problems with sync, [read this](/any-text#troubleshoot-syncing). --- The app provides widgets where you can write any kind of text. It could be an important note, your goal, a list of tasks, etc. For macOS, it's only available for Apple silicon Macs running macOS 26 or later. On iOS, you can also show the text in a Live Activity. Syncs seamlessly across your devices with iCloud.
    > [!TIP] > You may also like [my similar app](/one-thing) for macOS. ## Tips ### Markdown {#markdown} You can style parts of the text bold, italic, or strikethrough using [Markdown](https://www.markdownguide.org/basic-syntax/). For example: - **Bold text** is created by wrapping text with double asterisks: `**bold**` - *Italic text* is created by wrapping text with single asterisks: `*italic*` - ~~Strikethrough text~~ is created by wrapping text with double tildes: `~~strikethrough~~` ### Troubleshoot syncing {#troubleshoot-syncing} - After enabling sync, try writing some more text on all the devices. - [More…](/apps/faq#icloud-sync) ## Frequently Asked Questions {#faq} #### How do I add the widget? - [iOS](https://support.apple.com/HT207122) - [macOS](https://support.apple.com/guide/mac-help/mchl52be5da5/mac) - [watchOS](https://support.apple.com/guide/watch/see-widgets-in-the-smart-stack-apdecf142fb9/watchos) #### The widget does not show up in the widget picker, the widget is stuck, or is missing from the Home Screen The iOS widget system is quite buggy and can fail a lot. This is not a problem with the app and out of my control. [Try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### The widget is blank Try this: - Restart your device. - Change the language of the device to something else and then back. - Ensure Lock Screen widgets are allowed to show content while the device is locked at “Settings › Face ID & Passcode › Allow Access When Locked › Lock Screen Widgets”. #### The Lock Screen text sometimes disappears Make sure Lock Screen widgets are allowed when locked: “Settings › Face ID & Passcode › Allow Access When Locked › Lock Screen Widgets”. If it’s “off”, iOS may hide the widget until you unlock. #### Can you support having multiple pieces of text that change during the day? I would like to keep the app simple, so it's not something I plan to support built-in. However, the app comes with a shortcut action to change the text, so you could use the [Shortcuts automations](https://support.apple.com/guide/shortcuts/apdfbdbd7123/7.0/ios/17.0) to change the text during the day. You could also put multiple widgets in a [widget stack](https://support.apple.com/118610). *(On macOS 26, you can use Shortcuts automations. On older macOS versions, you can use [Shortery](https://apps.apple.com/app/id1594183810).)* #### Can you add support for user-installed fonts? This is unfortunately not possible as widgets cannot access user-installed fonts. #### Can I make the widget horizontally centered on the Lock Screen? This is unfortunately not possible. Apple has decided that the rectangular widget can only appear on the left or right side. #### Can I pick a color for the text on the Lock Screen? Lock Screen widgets cannot have colors. You can set a custom text color for the normal widgets though. #### Can I pick a background color for the Lock Screen widgets? Same answer as the above. #### The widget does not update if I write some text in the app and then reveal the Lock Screen You need to first close the app. This is an iOS bug. If you work at Apple → [FB11522275](https://github.com/feedback-assistant/reports/issues/360) #### The widget does not update even if I do the above The app tells iOS to update the widget, unfortunately, iOS can decide to delay an update for various reasons (low battery, low-power mode, etc). This is completely out of my control. #### The widget does not update when setting the text with the Shortcuts action This is unfortunately an iOS bug. The app correctly tells iOS to update the widget, but iOS delays it for some reason. The text will update eventually. If you work at Apple → [FB11522170](https://github.com/feedback-assistant/reports/issues/359) #### Can you make the widget bigger? The widget sizes are controlled by Apple. The provided size is the largest it allows. #### Can you make the widget background transparent? This is not possible. #### Can you remove the title shown below the widget? Apple does not allow removing the title. Some apps managed to do it early on, but these days, Apple rejects any attempt at doing that. However, in iOS 18 you can hide the title for all apps and widgets. #### How can I remove the date prefix from the inline Lock Screen widget above the clock? iOS forces the date to be shown. This is out of my control. #### The inline Lock Screen widget above the clock does not respect my font choice iOS forces the text to be the same style as the prefixed date. This is out of my control. #### Can it open a specific app instead when tapping the widget? Create a shortcut in the Shortcuts app that opens the app you want, then open “Any Text”, go to one of the widgets, open settings, and set the tap action to the shortcut you just made. #### Can I prevent my child from editing the text when tapping the widget? You can set the “Widget Tap Action” setting to “None”. #### Can I edit the text directly from the Home Screen or Lock Screen? No, widgets only support tapping interactions. #### The Lock Screen widget does not show the text after restarting the device, before unlocking it This is an iOS limitation and is out of my control. It shows a placeholder until the first unlock. This is how all Lock Screen widgets work. #### When using the “Run Shortcut” action, why does tapping the widget first open the main app and then the Shortcuts app? This is because of iOS limitations. A widget can only open its own app when a user taps it. And the only way to run a shortcut is to open the Shortcuts app using a special URL. So when you tap the widget, the widget opens the main app, and the main app then opens the Shortcuts app. It's not a very good user experience, but only Apple can fix this. If you work at Apple, you know what to do: - [FB9745173](https://github.com/feedback-assistant/reports/issues/240) - [FB11516334](https://github.com/feedback-assistant/reports/issues/357) - [FB11516273](https://github.com/feedback-assistant/reports/issues/356) #### Can you localize the app into my language? I don't plan to localize the app. ## Scripting The text in the widgets can be changed using the Shortcuts app. ### Shortcuts app - [Shortcuts usage guide](https://www.xda-developers.com/guide-shortcuts-macos/) - [How to run shortcuts from the command-line on macOS](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac) ### Command-line on macOS Shortcuts can be executed via the command-line, allowing you to set widget text programmatically. For example, to set the text for widget 1, add [this shortcut](https://www.icloud.com/shortcuts/6873c23a3cbb4718b23135e367d6be1b), and then run this: ```sh echo 'TEST' | shortcuts run 'Set Widget 1 Text' ``` ================================================ FILE: source/content/apps/app-buddy.md ================================================ --- title: App Buddy subtitle: Helper for my apps pubDate: 2024-10-20 platforms: - macOS hasSentry: true releasesRepo: app-buddy-meta mainLinks: 'Download': https://github.com/sindresorhus/app-buddy-meta/releases/latest/download/App.Buddy.zip requirement: Requires macOS 26 or later olderMacOSVersions: - '15' --- This app provides support functionality for [my apps](/apps). It offers easy ways to export/import (backup/transfer) settings, reset privacy permissions, and more. It's a separate app because some features are not possible in sandboxed apps, which most of my apps are. I welcome suggestions for what more useful support tools it could contain. *I also have future plans to make this app provide extra functionality for my sandboxed apps.* ![Download count](https://img.shields.io/github/downloads/sindresorhus/app-buddy-meta/total?color=3e65d0) ## Frequently Asked Questions {#faq} #### Can it support apps other than yours? No. This is intended for my apps only. If you need app setting import/export for any apps, check out my [Supercharge](/supercharge) app. #### Why is this not in the App Store? Much of the functionality would not be possible in the App Store because of [sandboxing](/apps/faq#macos-sandbox). ## Older Versions - [1.2.1](https://www.dropbox.com/scl/fi/tffgghwhnido39kz4z32k/App-Buddy-1.2.1-macOS-15-1769050534.zip?rlkey=00isw08dwxyri87dt360gstwi&raw=1) for macOS 15+ ================================================ FILE: source/content/apps/ask-ai.md ================================================ --- title: Ask AI subtitle: Use ChatGPT right on your watch pubDate: 2023-03-12 platforms: - watchOS appStoreId: 6446167837 isPaid: true --- Experience the power of [ChatGPT](https://en.wikipedia.org/wiki/ChatGPT) as your very own personal assistant, right on your wrist! Get instant answers to any question you have, whether it's explaining complex topics, translating languages, providing recommendations, solving math problems, improving your writing, and so much more. I highly recommend [exploring ChatGPT's capabilities](https://www.google.com/search?client=safari&rls=en&q=chatgpt+usage+ideas&ie=UTF-8&oe=UTF-8) and discovering how it can simplify your life. The app is in English, but you can ask questions in many languages, including: English, Spanish, French, German, Chinese, Japanese, Korean, Portuguese, Italian, Russian, Arabic, Dutch, Swedish, Norwegian, Danish, Finnish, Turkish, Hebrew, Hindi, Bengali, Thai, Greek, Polish, Romanian, Ukrainian, Vietnamese, Indonesian, Malay, Swahili, Tagalog, Tamil, Kannada, Telugu, Marathi, Gujarati, Punjabi, and Nepali. The app uses [GPT-4o mini](https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/). #### Technical details The app uses OpenAI's official ChatGPT API. I have to pay for every question, but the app is a one-time purchase since I hate subscriptions. I sure hope I estimated the price correctly 🤣 ## Frequently Asked Questions {#faq} #### I bought the app on my iPhone/iPad but it does not show up on my watch This is a bug in the App Store. App developers have no control over the install process of apps. Try restarting your watch and if it still does not show up, go into the App Store on your watch and download it there. You will not have to pay again. #### Can it open the voice dictation directly at launch? This is unfortunately not possible as watchOS only supports opening the keyboard. #### Can I choose a voice? The app automatically uses the best voice for the language used in the answer. Unfortunately, the high-quality Siri voices are not available for apps to use. #### Can I launch it with the action button? Add [this shortcut](https://www.icloud.com/shortcuts/6b890da159844407a6b39de454567c97) to one of your Apple devices (not the watch), and then on the watch, select the shortcut in the action button configuration. #### Can you support iOS and macOS too? Unfortunately, it is unlikely that the app will be available on iOS and macOS. The pricing of the app is based on its expected lifetime usage, and since I am charged for the amount of usage, the cost would be much higher on iOS. For macOS, check out [QuickGPT](/quickgpt). ================================================ FILE: source/content/apps/battery-indicator.md ================================================ --- title: Battery Indicator subtitle: Remaining battery time in your menu bar pubDate: 2017-02-18 platforms: - macOS appStoreId: 1206020918 isPaid: true isMenuBarApp: true hasSentry: true olderMacOSVersions: - '10.14' - '10.15' - '11' - '12' - '13' - '14' - '15' --- Quickly glance at the remaining battery time or percentage right in your menu bar. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have enabled the “Hide while on power” preference, which hides the menu bar icon while the power adapter is connected. Launch the app again to reveal the menu bar item for 5 seconds or disconnect the power adapter. #### The estimated time left is incorrect The number comes from macOS and the app has no control over it. #### The menu bar icon is vertically stretched when shown on a secondary display This is a macOS 11 bug. I have tried to work around this issue, but it's out of my control. #### Why does the menu bar icon show `…` when I unplug the power adapter? The system needs some time to accurately calculate the time remaining estimate. #### How do I remove the system battery menu bar item? Drag it out of the menu bar while pressing Command. #### Can it show “apps using significant energy” like the built-in battery indicator? It can unfortunately not show this because of restrictions ([sandboxing](/apps/faq#macos-sandbox)) imposed on apps on the App Store. However, you could change the menu bar item type to text instead of the icon and use this app in combination with the system battery indicator. #### Can it have a “charge to full now” button? This is not possible for the same reason as mentioned above. #### Can it play a sound when the battery is charged a certain percentage? {#notification-sound} The app has a built-in sound when showing notifications. However, if you want a different sound, you can disable the default notification sound in the “Notification Settings” and then follow the below steps. This is a perfect use case for the built-in Shortcuts app. You can use the `Play Sound` action to play the sound you want. To run the shortcut when the battery is at a certain percentage, you can use Shortcuts automations on macOS 26, or the [Shortery app](https://apps.apple.com/app/id1594183810) on older macOS versions. Use its “Power Status” trigger. You can find sound effects [here](https://pixabay.com/sound-effects/search/interface/). #### Can the battery icon hide when the battery is charged a certain percentage? This is a perfect use case for the built-in Shortcuts app. Create a shortcut that quits the app and one that launches it. To run the shortcut when the battery is at a certain percentage, you can use Shortcuts automations on macOS 26, or the [Shortery app](https://apps.apple.com/app/id1594183810) on older macOS versions. Use its “Power Status” trigger. ## Older Versions - [2.19.0](https://www.dropbox.com/scl/fi/14amy0g1r6sjyhg48cjns/Battery-Indicator-2.19.0-macOS-15-1772299240.zip?rlkey=e647a9azxyif2mnyuqot8jya7&raw=1) for macOS 15 - [2.18.0](https://github.com/user-attachments/files/19015442/Battery.Indicator.2.18.0.-.macOS.14.zip) for macOS 14 - [2.16.1](https://github.com/sindresorhus/meta/files/13942534/Battery.Indicator.2.16.1.-.macOS.13.zip) for macOS 13 - [2.14.2](https://github.com/sindresorhus/meta/files/10759031/Battery.Indicator.2.14.2.-.macOS.12.zip) for macOS 12 - [2.12.3](https://github.com/sindresorhus/meta/files/8759816/Battery.Indicator.2.12.3.-.macOS.11.zip) for macOS 11 - [2.7.1](https://github.com/sindresorhus/meta/files/6565005/Battery.Indicator.2.7.1.-.macOS.10.15.zip) for macOS 10.15 - [2.1.0](https://github.com/sindresorhus/meta/files/4127047/Battery-Indicator-2.1.0-Mojave.zip) for macOS 10.14 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/black-out.md ================================================ --- title: Black Out subtitle: Hide sensitive parts of an image pubDate: 2017-12-01 platforms: - macOS isPaid: true appStoreId: 1319884285 hasSentry: true olderMacOSVersions: - '10.15' - '11' - '12' - '13' - '14' --- This app can be useful when you want to post a screenshot or photo on the web that contains some information you don’t want to be revealed. Maybe you want to share a screenshot of a Slack conversation on X (Twitter) but hide some private information. It also removes all metadata, like when and where a photo was captured. ## Frequently Asked Questions {#faq} #### Can you support blurring and pixelation? Blurring and pixelation are intentionally not supported as they can sometimes [be reversed](https://dheera.net/projects/blur). The only reliable way to redact something is to put a black box over it. #### I can already do this in the Preview app! You can do this in any graphics app. The point of this app is to make the task super easy to do. Most graphics apps, like Preview, Pixelmator, and Photoshop, preserve metadata, which means you could accidentally leak information like the capture location. Black Out strips out all metadata. It can also be run directly from Finder as a [Quick Action](https://support.apple.com/guide/mac-help/mchl97ff9142/mac). #### Does it support PDF? You can open a PDF document, but you have to export it as a PNG image. It’s almost impossible to reliably export redacted PDFs. #### What is the text in the icon? It’s from Apple’s inspirational [“Here’s to the Crazy Ones” TV commercial](https://www.youtube.com/watch?v=-z4NS2zdrZc). ## Older Versions - [2.4.0](https://github.com/user-attachments/files/18210600/Black.Out.2.4.0.-.macOS.14.zip) for macOS 14 - [2.3.1](https://github.com/sindresorhus/meta/files/13923936/Black.Out.2.3.1.-.macOS.13.zip) for macOS 13 - [2.2.0](https://github.com/sindresorhus/meta/files/10773680/Black.Out.2.2.0.-.macOS.12.zip) for macOS 12 - [2.0.4](https://github.com/sindresorhus/meta/files/8759655/Black.Out.2.0.4.-.macOS.11.zip) for macOS 11 - [1.8.2](https://github.com/sindresorhus/meta/files/7454156/Black.Out.1.8.2.-.macOS.10.15.zip) for macOS 10.15 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/blear.md ================================================ --- title: Blear subtitle: Transform photos into blurry wallpapers pubDate: 2015-06-09 platforms: - iOS repoUrl: https://github.com/sindresorhus/blear appStoreId: 994182280 --- Transform your photos or the bundled ones into stunning blurry wallpapers for your device. Make your Home/Lock screen shine! ================================================ FILE: source/content/apps/camera-preview.md ================================================ --- title: Camera Preview subtitle: Preview your webcam and take photos pubDate: 2023-05-20 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 1632827132 olderMacOSVersions: - '13' - '14' - '15' --- Instant access to your Mac's camera feed for quick checks before video calls. ## Tips - Press the Return or Space key while showing the camera feed to take a photo. - Press Command+ to zoom in, Command− to zoom out, and Command+0 to reset the zoom. - Press the Option key while resizing the window to resize from the center (this works with any app). ## Frequently Asked Questions {#faq} #### The app does not work {#not-working} - Ensure you are on the latest version. - Restart your computer. - Try [resetting permissions](/apps/faq#mac-reset-permissions). #### Can you add support for making the camera feed a circle? I don't plan to add that. I plan to make a separate app specifically for showing the camera on presentations and screencasts, which will have this feature. #### Can it float over fullscreen apps? Yes, when in menu bar mode. #### How is this better than Photo Booth? {#photo-booth} - Convenient access from the menu bar. - Toggle it via a keyboard shortcut. - Higher quality camera output. - Does not crop the camera output. - Minimalistic design with no window frame. - Takes photos without the countdown. - Photos are saved to the file system, not hidden inside the app. - The window can be made to always stay on top of other windows. - Can be accessed from the menu bar. - Capture and copy photo in a single action. - Save photo as lossless PNG file. - Includes camera metadata (EXIF) in the saved photo. - Made by an indie developer that listens to users. #### How is this better than QuickTime? {#quicktime} - Shows the camera faster. One click instead of multiple. - Convenient access from the menu bar. - Toggle it via a keyboard shortcut. - Remembers window size and position. - Takes photos. - The window can be made to always stay on top of other windows. - Capture and copy photo in a single action. #### What resources are used when the app is in the menu bar? When the camera window is closed or minimized, the camera is turned off. The app consumes approximately 40 MB of RAM and 0% of CPU when running in the background. #### Do you plan to add background removal? I don't have any immediate plans for this. Maybe in a year when AI background removal has progressed further. #### Do you plan to add filters? No. #### Can it record video? No. That's outside the scope of this app. You can use the built-in QuickTime Player app for that. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.7.7](https://www.dropbox.com/scl/fi/dhbgwns59on2uw6zb4uql/Camera-Preview-1.7.7-macOS-15-1772349679.zip?rlkey=yhusqz0f82kdaovk2exod1w3j&raw=1) for macOS 15 - [1.6.1](https://github.com/user-attachments/files/18385375/Camera.Preview.1.6.1.-.macOS.14.zip) for macOS 14 - [1.4.0](https://github.com/sindresorhus/meta/files/13988612/Camera.Preview.1.4.0.-.macOS.13.zip) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/caprine.md ================================================ --- isUnlisted: true title: Caprine subtitle: Elegant Facebook Messenger desktop app pubDate: 2015-09-16 platforms: - macOS - Linux - Windows repoUrl: https://github.com/sindresorhus/caprine --- An open-source, cross-platform, and privacy-focused Facebook Messenger desktop app. ================================================ FILE: source/content/apps/command-x.md ================================================ --- title: Command X subtitle: Cut and paste files in Finder pubDate: 2023-04-30 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 6448461551 hasSentry: true olderMacOSVersions: - '13' - '14' - '15' pressQuotes: - quote: If you do a lot of file management and need to move items in Finder, this app will make your work much more straightforward. It’s objectively better than Apple’s standard shortcut, and pretty much everyone can benefit from it. source: Softpedia url: https://mac.softpedia.com/get/System-Utilities/Command-X.shtml feedbackNote: | [The app randomly disappears/quits](/apps/faq#randomly-quits) --- Cut and paste files and folders in Finder using Command+X and Command+V. Without this app, you have to first copy (Command+C) and then remember to move (Option+Command+V). Known limitation: You cannot cut the name of a file when editing a filename in Finder or cut when using the search field. [Learn more.](#textfield-limitation) ### Mentions - [Review by Softpedia](https://mac.softpedia.com/get/System-Utilities/Command-X.shtml) - [10 Mac Apps That Will Change How You Use macOS in](https://www.youtube.com/watch?v=LtuUwACZdsQ&t=426s)
    > [!TIP] > You may also like my [Supercharge](/supercharge) app which has an [improved implementation](#textfield-limitation) of this. ## Frequently Asked Questions {#faq} #### Why? I can already use Option+Command+V - It's more logical to cut & paste than copy & move. - Consistency and muscle memory benefits if you also use Linux or Windows. #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### The app does not work {#not-working} First try relaunching the app. If that doesn't help, try restarting your computer. Then, make sure you pressed Command+X and not Command+C. To make sure you used the app correctly, try this: Select a file in Finder, press Command+X, change to a different folder, press Command+V. The file should have been moved to this new folder. **Note:** You cannot cut, highlight a folder, and then paste. You have to actually go into the folder to paste to it. That's just how Finder works. Same with copy-pasting. **It could also be that certain apps (password managers and browsers) are [interfering with the app](/apps/faq#secure-input-problem).** If still not working, try closing down all apps and menu bar items, just to rule out some other app interfering. Then try toggling the setting “Use more reliable way of handling Command+X”, and try the above steps again. If it works then, please report it to me. If it's still not working, try this: Select a file in Finder, press Command+C, change to a different folder, press Option+Command+V. The file should have been moved to this new folder. If this did not work, the problem is not this app, as those are the keyboard shortcuts it simulates. If it's a work computer, your company may have something installed that prevents the app from working. Try uninstalling and reinstalling the app, and restart your computer. If it's still not working, try re-granting accessibility access: 1. Open “System Settings › Privacy & Security › Accessibility” 2. Remove Command X from the list 3. Quit and reopen Command X 4. Grant accessibility access when prompted The last thing you could try is to reset the permissions. Either use [App Buddy](/app-buddy), or quit the app, and run this in the Terminal app: ```sh tccutil reset All com.sindresorhus.Command-X ``` To help me figure out the issue, make sure the “Use more reliable way of handling Command+X” setting is enabled, press Command+X and Command+V in Finder, click the “Copy Debug Info” button in the Command X menu bar menu, and then [send the debug info to me](/feedback?product=Command%20X&referrer=Website-FAQ), including a short explanation of what didn't work. #### How does the app work? The app works by overriding the normal cut ⌘X keyboard shortcut when Finder is active and executes a copy ⌘C instead. When you then paste ⌘V, it executes the native move ⌥⌘V keyboard shortcut. So really, it's Finder moving the files. This app just makes the keyboard shortcuts more intuitive. #### Is there any risk of data loss if I forget to paste? No. The files are not touched until you paste. If you don't paste, the files just stay in place. #### Can I move files by clicking the “Paste” menu item? No, you can only use the keyboard shortcuts. The app works by overriding the original keyboard shortcuts. There is no way to override the Finder menu items. #### Can it make the cut files in Finder have less opacity? This is not possible. The app works by overriding some key combinations. It doesn't and cannot modify Finder in any way. #### It does not work when I try to paste directly to an expanded subfolder shown in its parent folder This is a Finder bug. You can reproduce it even without Command X by selecting the file to move, pressing Command+C, selecting the destination folder, and then pressing Option+Command+V. #### It does not work when I try to paste into a folder in column view where the parent is a tag Same as the above. #### I am not able to cut text when editing a filename in Finder {#textfield-limitation} This is a known issue that is unfortunately not fixable. The app works by overriding the normal cut keyboard shortcut when Finder is active, which also affects cutting text in a filename. There is no way to differentiate between cutting a file and cutting text in a filename in Finder. The main reason this is not possible is because of restrictions ([sandboxing](/apps/faq#macos-sandbox)) imposed on apps on the App Store. My [Supercharge](/supercharge) app has the Command X feature without this rename limitation because it's not on the App Store. #### I am not able to cut text in the search field in Finder Same as the above. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.6.2](https://www.dropbox.com/scl/fi/90rakqppxdnryctolu9rc/Command-X-1.6.2-macOS-15-1775377612.zip?rlkey=hwh8im5sol3bnc7chqjursf7a&raw=1) for macOS 15 - [1.4.7](https://github.com/user-attachments/files/19031153/Command.X.1.4.7.-.macOS.14.zip) for macOS 14 - [1.3.1](https://github.com/sindresorhus/meta/files/13987707/Command.X.1.3.1.-.macOS.13.zip) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/dato.md ================================================ --- title: Dato subtitle: Menu bar calendar and world clocks, plus fullscreen meeting notifications pubDate: 2019-07-13 platforms: - macOS isPaid: true isMenuBarApp: true hasSentry: true appStoreId: 1470584107 setappId: 571 olderMacOSVersions: - '10.14' - '10.15' - '11' - '12' - '13' - '14' pressQuotes: - quote: Dato is a simple app, but it includes a wide variety of settings that make it more flexible than you might imagine. […] I’ve already got plenty of apps in my menu bar, so I’m always reluctant to add more. However, Dato has stuck around because of its flexibility. source: MacStories url: https://www.macstories.net/reviews/dato-review-calendar-events-and-time-zones-from-your-macs-menu-bar/ - quote: Is this why you never call? source: Mom feedbackNote: | If a menu bar icon is missing, [this](/apps/faq#app-not-showing-in-menu-bar). If you notice the mouse pointer shaking when opening Dato, this is a macOS 26 bug, and outside the control of Dato. If text in the app is upside down on macOS 26, it's a macOS bug and unrelated to the app. A computer restart fixes it. [The app randomly disappears/quits](/apps/faq#randomly-quits) --- Dato gives you a local clock, date, and multiple world clocks in the menu bar. When you click Dato in the menu bar, you get a menu with a calendar, calendar events, and world clocks. All of this is highly customizable. Dato is a one-time purchase on the App Store with a lifetime of updates.
    (Equivalent to two months of Fantastical subscription) [MacStories review of Dato.](https://www.macstories.net/reviews/dato-review-calendar-events-and-time-zones-from-your-macs-menu-bar/) #### Features - Calendar, optionally with week numbers and event & reminder indicators. - Your upcoming events for the next week (customizable) at a glance. - Fullscreen meeting notifications. - Reminders support. - Time zones in the Dato menu, optionally with custom names. - Show the upcoming event in the menu bar (like Fantastical, Meeter, and MeetingBar) - Time travel for time zones. - Deduplicates identical events from different calendars - Create events (even with a global keyboard shortcut) - Join the next video call meeting with a customizable global keyboard shortcut - Clocks for multiple time zones in the menu bar. - Custom format for the date & time in the menu bar. - Highlight certain days of the week in the calendar. - Search time zones by city (15k cities included offline). - Supports all calendar services that the built-in Calendar app supports (iCloud, Google, Outlook, etc). - Fully customizable. - Lots of in-app keyboard shortcuts for power users. - Global keyboard shortcut to open/close the app. - Supports calendar events with HTML formatted notes. - Show seconds in the menu bar clock or in the menu. (Optional) - Integration with Zoom, Google Meet, Microsoft Teams, and 50+ other services. - And the ability to add support for any other video call service yourself. - Open calendar events from Google Calendar directly in Google Calendar on the web. - Comes with multiple menu bar icons to choose from: date in calendar, date with border (like Itsycal), static clock, none. - Large text mode. - Date calculator. - Hourly chime. ##### Supported video call services {#supported-video-call-services} - 8x8 - Amazon Chime - Around - BlueJeans - Cal.com - Chorus - CoScreen - Demio - Demodesk - Dialpad - Doxy.me - FaceTime - Gather - Gong - Google Meet - GoToMeeting - GoToWebinar - Huddle01 - Jam - Jitsi Meet - Lark - LiveKit Meet - Livestorm - Luma - Meetecho - Microsoft Teams - oVice - Pop - Preply - Pumble - Reclaim - Relayed - RingCentral - Session - Signal - Skype - Slack - StreamYard - TeamViewer - Teemyco - Tuple - UserZoom - Venue - Vimeo - Vonage - VooV - Vowel - Webex - Whereby - Workplace Chat - Zhumu - Zoho Cliq - Zoom *And you can add support for any other video call service yourself in the app.* --- If all you need is another clock in the menu bar, check out [Second Clock](/second-clock). --- ## Trial Try the fully functional trial [here](https://www.dropbox.com/scl/fi/7202xt4ctcndv3mln3qz1/Dato-5.7.2-trial-1772863857.zip?rlkey=137ou1l0182qpleurvnlylbrn&raw=1). The only limitation is a reminder to buy the app every 12 hours, and no automatic updates. All data and settings carry over if you buy it on the App Store. *Download it to the Downloads folder, double-click to unzip, and then move it to the `/Applications` folder.* You can also [try it on Setapp](https://go.setapp.com/stp181?refAppID=571&utm_medium=vendor_program&utm_content=button) for 7 days for free. ## Tips
    Double-click an event in the event list to open it in the default calendar app, if possible.
    Click the month & year label in the calendar (for example, “April 2020”) to change the selected day to “today”. Right-click it to quickly go to a specific date.
    Long-press a day in the calendar to open that day in the default calendar app. (Supports: Calendar, Fantastical 2, BusyCal, Outlook)
    Hold option while clicking the calendar arrows to jump a year instead of a month.
    Hold option while dragging the time travel slider to skip by 15 minutes instead of an hour.
    If you open the “new event” window while the time travel slider is active, the event will default to the time of the slider.
    ### Keyboard Shortcuts #### General
    / Previous/next day in the calendar
    / Same day in the previous/next week in the calendar
    option+◀
    option+▶
    Previous/next month in the calendar
    shift+option+◀
    shift+option+▶
    Previous/next year in the calendar
    space Select today in the calendar
    n Create a new event
    p Toggle window pinning
    c Show the date & time calculator
    j Join the current/upcoming Zoom/Meet/Teams meeting (works in the Dato menu and the “upcoming event in menu bar” menu)
    o Open the default calendar app
    command+q Quit the app
    #### Fullscreen notifications
    esc Dismiss notification
    return Run the default action (highlighted button)
    #### Time travel
    command+◀
    command+▶
    Activate time travel and offset it by one step backwards or forwards
    esc / space Deactivate time travel
    #### New event & reminder window
    control+tab Switch between new event and new reminder
    ### Gestures
    Double-click an event in the event list Open the event in the default calendar app, if possible
    Swipe left/right on the calendar Next/previous month in the calendar
    option + Swipe left/right on the calendar Next/previous year in the calendar
    shift + Swipe left/right on the calendar Next/previous day in the calendar
    ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Dato does not work with Ice This is an [issue with Ice](https://github.com/jordanbaird/Ice/discussions/298) and must be fixed there. #### I have multiple menu bar items that open Dato Dato can potentially have multiple menu bar items: - The main one - Upcoming event - Time zone in the menu bar You can choose which one of these to show in the menu bar in the app settings. #### Can I buy Dato from outside the App Store and Setapp? No. Dato is only available from the App Store and Setapp. #### Dato quit suddenly Check if there are any [crash reports](/apps/faq#crash-report). If none exists, it's likely macOS terminated Dato because it needed to reclaim memory. This is an especially common problem on MacBook Air laptops with only 8 GB RAM. Try restarting your computer. #### Some calendars are missing {#missing-calendars} Dato simply fetches calendars and events from macOS. If something is missing, it's never caused by Dato. Make sure: - The calendars show in the Calendar app and that they are enabled there. - Open the Calendar app settings, click the “Accounts” pane, and then check that the calendars are there. Dato can only show calendars added there. - The calendars are enabled in the Dato settings. - Open the Dato settings, click the “Events” tab, and make sure the calendars are enabled. - [The calendar events may not yet have been fetched by macOS](#refresh-interval) - You have tried restarting your computer. - You are on the latest version of macOS. - You have tried resetting permissions for Dato using [App Buddy](/app-buddy). Some users had luck with removing the account from the Calendar app settings and re-adding it. [Contact me](/feedback?product=Dato&referrer=Website-FAQ) if you have tried all this and you are still having issues. I'm not aware of any issue that was not one of the things mentioned above. #### Some calendar events are missing in Dato {#missing-events} Make sure: - The calendar with the event is enabled in Dato. - You are on the latest Dato and macOS versions. - You have tried restarting your computer. - The event is not a declined event, which Dato does not show. - You have not hidden the event using the “Hide” action in the event's context menu. - You have not excluded the event with the “Exclude events” setting. - The event shows up in the Calendar app. - If it does not show up there, the problem is not with Dato. - Try pressing Command+R in the Calendar app to force-refresh. - Try signing out and in again of the account in the Calendar app settings. That has helped a few users. - [Microsoft Bookings has problems syncing to MacBooks.](https://answers.microsoft.com/en-us/outlook_com/forum/all/bookings-meetings-sync-with-iphone-but-not-with/085530b3-90d2-4792-b0d9-0cc6f52875ba?page=3) #### The “upcoming event in menu bar” notification is not showing up {#upcoming-event-in-menu-bar-troubleshooting} Make sure: - The feature is enabled in the settings. - The correct calendars for it are enabled (it has a separate calendar picker). - When in the settings for it, the placeholder example menu bar item shows up in the menu bar. - If it doesn't show up, try reducing the “event title limit”. - There is enough space in the menu bar to show it. - You are on the latest Dato and macOS versions. - You have tried restarting your computer. - If you have Bartender or Ice (or a similar app that hides menu bar items) installed, make sure the menu bar item was not auto-hidden by them. - Note that it uses a separate menu item from the main Dato menu item, so it could still be hidden by Bartender/Ice while the main menu bar item is not. - Try quitting Bartender/Ice to make sure it is not the one causing the issue. - If you are using Ice, see [this](https://github.com/jordanbaird/Ice/discussions/298). - As a workaround, in the “upcoming event in menu bar” settings, you could choose to keep the menu bar item visible even when there are no upcoming events. - The event is not an all-day event (which are not shown). - You have not muted the event. - You have not excluded the event with the “Exclude events” setting. - If you have “Show for video call events only” enabled, ensure the event shows a video call icon in the event list. - If you have “Show for events with an alert only” enabled, ensure the event has an alert. - If you have “Show only for accepted events” enabled, ensure the event is accepted. #### Fullscreen notifications do not work {#fullscreen-notifications-troubleshooting} Make sure: - The fullscreen notifications setting is enabled. - You have selected the correct calendars in the fullscreen notifications settings. - You are on the latest Dato and macOS versions. - You have tried restarting your computer. - The event is not an all-day event (which are not shown). - The event shows in the Calendar app. - You have not muted the event. - You have not excluded the event with the “Exclude events” setting. - You have not already joined the event in the last 15 minutes. - You have not paused fullscreen notification from a [Focus Filter](https://support.apple.com/guide/mac-help/mchl613dc43f/mac). - If you have “Show for video call events only” enabled, ensure the event shows a video call icon in the event list. - If you have “Show for events with an alert only” enabled, ensure the event has an alert. - If you have “Show only for accepted events” enabled, ensure the event is accepted. - If it's a Google calendar, it may be caused by [sync issues](#google-calendar-sync-issue). #### The Dato menu bar item is not faded out on inactive displays This is a macOS bug. macOS replicates the menu bar item on inactive displays and this handling is outside the control of apps. The reason it does not happen for all items is that Dato sets rich-text content. #### What is the diamond menu bar icon that suddenly appeared? This is the menu item for the “upcoming event in menu bar” feature. It shows this diamond icon when there are no active events. You can choose to either hide it or show a different icon in the settings. #### It does not support the video call service I use I'm happy to add support for more [services](#supported-video-call-services). Just [send me](/feedback?product=Dato&referrer=Website-FAQ) an invitation link (replace a few characters at the end to anonymize it). The app can also detect the link of any video call service if you correctly add it in the Calendar app: - Create a new event. - Paste the video call link into the location field. - Accept the dropdown suggestion about it being a video call. If you don't use the Calendar app, you can add the following to the notes field of an event: ``` ----( Video Call )---- https://some-video-call-service.com/join/23423 ---===--- ``` #### How do I add a calendar? [Add the calendar to the built-in Calendar app](https://support.apple.com/guide/calendar/add-or-delete-calendar-accounts-icl4308d6701/mac) and then enable it in the Dato settings. #### How can I open meeting links (Google Meet, Zoom, Microsoft Teams, etc.) in a specific browser or browser profile? {#velja} Check out my [Velja app](/velja). I made it exactly for this purpose. It has built-in support for this without any setup. It can also open links to Zoom and Microsoft Teams directly in their desktop app. You can even make it open a specific browser or profile only for links clicked in Dato. Create a custom rule in Velja and set the source app as Dato. #### How can I go back to the current day in the calendar? Click the month and year on the top left. You can also press the Space key. #### I have hidden the toolbar and now I cannot access settings Press the Option key to reveal a button to access settings or press Command+,. #### How can I add multiple time zones to the menu bar? {#time-zones-menu-bar} In the Dato settings, go to the “Time Zones” pane, add a time zone, and in the edit window, check “Show in menu bar”. Do the same with the other time zones you want to show in the menu bar. If you already have the time zones added, right-click a time zone, click “Edit”, and then check “Show in menu bar”. #### Why does the app use a lot of CPU when not in use? You most likely have enabled showing seconds in the menu bar. Unfortunately, updating the menu bar is quite expensive. This is a problem with macOS and out of my control. If you don't have seconds enabled, please let me know about the excessive CPU usage. #### Why does the menu bar hide when I click the Dato menu bar item? This is a macOS 14 bug and unfortunately not something I can work around. If you work at Apple → [FB13544993](https://github.com/feedback-assistant/reports/issues/457) #### Dato is not in sync with Outlook Dato simply presents events from the macOS calendar system (the builtin Calendar app). It does not do the actual syncing. macOS has known problems with Outlook syncing. [This may help.](https://discussions.apple.com/thread/254365894?sortBy=rank) #### How can I edit an event in Dato? Dato does not support editing events. Simply double-click the event in the event list to edit it in the Calendar app. #### How can I toggle AM/PM for the time? Dato adheres to what you have set in “System Settings › General › Language and Region”. #### How can I change the first day of the week? Dato adheres to what you have set in “System Settings › General › Language and Region”. #### Can you support natural language input like Fantastical? I'm hoping to have this done later this year. It's quite a complicated feature. #### Can you integrate with Notion Calendar (previously Cron)? {#notion-calendar} The integration is already done, but Notion Calendar has multiple bugs that make it not work properly. We will have to wait for them to fix these bugs. #### Can you integrate with [Vimcal](https://www.vimcal.com)? {#vimcal} Vimcal currently lacks integration capabilities. I suggest reaching out to them to request support for a feature like [Fantastical's custom URL scheme](https://flexibits.com/fantastical-ios/help/integration#url-actions). #### Can you localize the app into my language? All the date and time output and the calendar adhere to your locale settings. I have no plans to localize the app itself. #### I added a calendar to the Calendar app but it doesn't show up in the app You need to enable the calendar in the Dato settings. #### Can you add support for Google Calendar / Outlook 365 / Exchange? It's already supported. Just add your calendars to the built-in Calendar app and then enable those calendars in the app settings. #### Can you support Google Calendars and Outlook directly without going through the Calendar app? Dato uses macOS's built-in calendaring system, which syncs seamlessly with Google Calendar, Outlook, and other services. This approach ensures all your calendars are managed centrally by macOS, providing a consistent experience across apps. The Calendar app on macOS is just one of the many apps that utilize this system. Adding direct syncing with Google Calendar and Outlook would offer minimal additional benefit but require significant development effort, which would detract from other important improvements. #### How can I hide the built-in menu bar clock? {#macos11-hide-clock} It's unfortunately not possible to disable the built-in menu bar clock. However, you have some options: 1. **(Recommended)** In “System Settings › Control Center › Clock Options”, choose the analog clock and disable showing the date. This gets you the closest to how it was on macOS 10.15 as you can use Dato for both date and time.
    This has the added benefit that while the system clock [shows as disabled](https://user-images.githubusercontent.com/170270/105506021-2c51bb80-5cfc-11eb-84a6-79b62d69d4bc.png) when you enable “Do Not Disturb” (which makes it pretty unreadable), Dato always shows it the same way. 2. Use Dato for showing the date and the built-in clock for the time. 3. Only show an icon for Dato. I would appreciate it if you could take a moment to [complain to Apple](https://www.apple.com/feedback/macos.html) that they should bring back the ability to disable the built-in menu bar clock. For reference, on macOS 10.15, there's a checkbox called “Show date and time in the menu bar” in “System Preferences › Date & Time › Clock”. This checkbox no longer exists on macOS 11 and later. I have already [reported it to Apple](https://github.com/feedback-assistant/reports/issues/131), but I have yet to get a reply. #### What does the “Hide” button on an event do? {#hide-event} It makes Dato pretend the event does not exist. The event will not be shown in Dato and it will not cause any notifications from Dato. You can unhide events from the `…` menu (at the top-right). #### What does the “Mute” button on an event do? {#mute-event} It makes Dato not notify you about the event. This practically means the event will be ignored for: - Fullscreen notifications - Upcoming event in the menu bar - System notifications for video call events #### How can I customize the menu bar date and time format? If you just want to toggle a certain component, like date or time, see the “Menu Bar” pane in the Dato settings. If you want something more custom, go to the “Date & Time Format” text field. You can specify a [datetime pattern](https://nsdateformatter.com). For example, you could display the full month name, the year, or the day of the year. #### How can I show the menu bar date and time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format? Either change [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340) or go to the “Menu Bar” pane in the Dato settings, and in the “Date & Time Format” text field, write `YYYY-MM-dd HH:mm:ss`. #### Why does it not show week 53? You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar). You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### Why does it show the last days of December as week 1? That is called [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date). #### It shows the incorrect week number {#incorrect-week-number} You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar), or the inverse. You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### How can I change the week number to [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) format? Change [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### How can I open a calendar event in my favorite calendar app (Fantastical, BusyCal, etc.) instead of the built-in Calendar app? ~~Dato uses the system default calendar app. To change the default calendar app, open the Calendar app's settings, and in the “Default calendar app” setting, select the app you want.~~ **Because of a [macOS bug](https://github.com/feedback-assistant/reports/issues/290), this does not work. Instead, drag an event from the Calendar app into Finder, right-click on it, select “Get Info”, select your calendar in the “Open with” field, and click “Change All”. Then relaunch Dato.** Dato supports opening calendar events directly in Calendar, Fantastical, BusyCal, Outlook, and Google Calendar (web). For other apps, Dato will just open the app. #### How can I send calendar invites when creating an event? In the new event window, click the “More Settings” button, and send the invites from the Calendar app. Built-in support for sending calendar invites directly from Dato is not possible, as Apple does not currently provide this capability for third-party apps. #### How can I make my calendar refresh more often? {#refresh-interval} Open the Calendar app's settings, go to the “Accounts” pane, choose the relevant calendar service in the left sidebar, and then change the “Refresh Calendars” setting. Ideally, it should be set to “Push”, but not all services support that, like Google Calendar. #### How can I accept/decline invites? Unfortunately, Apple does not allow third-party apps to manage invites. As a workaround, double-click the event in the list to open it in the Calendar app, where you can accept or decline the invite. #### How can I get system notifications for upcoming events? {#notifications} Dato does not support this as you can just set it up in the built-in Calendar app. Open the Calendar app's settings, select the “Alerts” pane, and there you can choose when to be notified. What Dato does support is showing a notification right when an event for a video call starts. The notification includes a button to join the video call directly. You can enable this notification in the Dato settings. You can also enable fullscreen notifications. #### Can I use the time travel slider to check times on future dates? Select any date in the calendar and then use the time travel slider to adjust the time for that day. #### How can I enable fullscreen notifications only at certain times or for certain conditions? You can use the [Focus Filter](https://support.apple.com/guide/mac-help/mchl613dc43f/mac) that comes with Dato to pause fullscreen notifications when in certain focus modes. Alternatively, use the built-in Shortcuts app. You can use the `Set Fullscreen Notifications State` action provided by Dato to enable or disable fullscreen notifications. For example, to only enable fullscreen notifications during work hours, you will need to create two shortcuts. One to enable fullscreen notifications and one to disable it. On macOS 26, you can use Shortcuts automations to run them at the correct times. On older macOS versions, you need the [Shortery app](https://apps.apple.com/no/app/shortery/id1594183810?mt=12) for this. #### How can I enable fullscreen notification only when a certain [Focus mode](https://support.apple.com/guide/mac-help/mchl613dc43f/mac) is active? Same as the above but trigger the shortcuts when the Focus mode changes. #### How can I quickly switch between different sets of calendars? {#calendar-sets} You can use the Shortcuts app to create “calendar sets” that quickly enable or disable specific calendars for different situations (for example, “Work” vs “Personal”). Use the `Set Calendar Enabled State` action provided by Dato. When no specific calendar is provided, the action applies to all calendars. When no feature is specified, it applies to all features. You can also use `Set Reminder List Enabled State` for reminder lists. For example, create a “Work Mode” shortcut that disables your personal calendars and enables your work calendars, and a “Personal Mode” shortcut that does the inverse. On macOS 26, you can use Shortcuts automations to trigger them automatically based on time of day or Focus mode. On older macOS versions, you can use Focus Filters or the [Shortery app](https://apps.apple.com/no/app/shortery/id1594183810?mt=12). #### Can you add support for showing an analog clock like the system clock? I have no plans to add that, but you can make it work by unchecking the “Time” setting in Dato and keeping the system clock in analog mode. #### Can you add support for flashing the time separator like the system clock? I have no plans to add that, but you can make it work by unchecking the “Time” setting in Dato and keeping the system clock. #### How can I show smart lists from the Reminders app in Dato? Dato can only show normal lists. macOS does not let third-party apps access smart lists. #### Can I add links, images, flags, or tags to reminders in the “New Reminder” window? No, Apple does not expose these features to third-party apps. #### How can I make the text in Dato be more easily readable? Try turning off the “Vibrancy” setting. You can also try increasing the text size with the “Larger text” setting. #### What does the `ⓘ` symbol in the “upcoming event in menu bar” item mean? It indicates that there are multiple ongoing events, but only one is shown. #### My Google Calendar does not update in the app {#google-calendar-sync-issue} The events may not have been [fetched yet by macOS](#refresh-interval). Or you may have to re-authenticate your Google account. Open the Calendar app's settings, go to the “Accounts” pane, and try to remove and re-add the Google account. #### Can I show UTC time in the menu bar? Yes. 1. Open the Dato settings 1. Go to the “Time Zones” pane 1. Click the plus button 1. Write “utc” 1. Select the “UTC” item 1. Click “Add” 1. Enable “Show in menu bar” 1. Click “Save” #### How can I hide the Dato clock when doing a specific task or at a certain time of the day? This is a perfect use case for the built-in Shortcuts app. You can use the `Quit App` and `Open App` actions to quit and relaunch Dato whenever needed. For example, you could create a focus shortcut that quits Dato, plays some music, turns off notifications, etc. To hide the Dato clock at a certain time of the day, you can use Shortcuts automations on macOS 26, or the [Shortery app](https://apps.apple.com/no/app/shortery/id1594183810?mt=12) on older macOS versions. #### How can I show [day of year](https://nsidc.org/data/user-resources/help-center/day-year-doy-calendar) in the menu bar? In the “Custom date & time format” setting, write: `D` [Learn more](https://www.unicode.org/reports/tr35/tr35-dates.html#dfst-day) #### Can I change the background color of Dato? No, but you can make it white/black by turning off the “Vibrancy” setting. #### Can you add more menu bar icons? I'm happy to consider requests. You can find icons [here](https://developer.apple.com/sf-symbols/) and [here](https://thenounproject.com). #### The widgets provided by Dato do not show up in the widget picker This is a known macOS bug. Restarting your computer usually fixes it. #### The widgets provided by Dato are white or black with no content Same answer as above. #### The time zone widget resets each time Dato updates This is a macOS bug and unfortunately out of my control. Dato simply defines the parameters for the widget, but macOS is the one that shows the configuration screen and saves your choices from there. #### Can it show the list of events in a separate menu item from the calendar and time zones? No, but you could use Dato in combination with my [Today](/today) app. #### How can I show todos from [Things](https://culturedcode.com/things/) in Dato? {#things} Dato integrates with the Reminders app only. However, you can use the Shortcuts app to sync todos from Things to the Reminders app, which will make Dato show your todos. [Here is a shortcut](https://www.icloud.com/shortcuts/2b856dd9607f412fb660d009a03d60a8) that does this. Run it and then enable the “Things” reminders list in the Dato settings. On macOS 26, you can use Shortcuts automations to run the shortcut automatically. On older macOS versions, you can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app to run the shortcut. Choose the “Application” trigger type and make it trigger when Things becomes “Inactive”. Alternatively, place the shortcut in the menu bar and run it manually. #### How can I show seconds in the menu bar only when connected to power? On macOS 26, you can use Shortcuts automations to run a shortcut when connected and disconnected from power. On older macOS versions, you can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app for this. - [Show seconds shortcut](https://www.icloud.com/shortcuts/41adf21d1bea44499d5034864687d01d) - [Hide seconds shortcut](https://www.icloud.com/shortcuts/dcb7b8c4d66740a8a8ba8abae063e661) #### Can Dato support Focus Filters? {#focus-filters} Dato has a focus filter for pausing fullscreen notifications. Ideas for other filters welcome. #### Can I change the chime frequency for the "Hourly Chime" feature? I don't plan to add more settings to this feature. However, you can achieve this by using the Shortcuts app. Make a shortcut using the “Get Sound” action provided by Dato. On macOS 26, you can use Shortcuts automations to run it at the interval you prefer. On older macOS versions, you can use [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) for this. [Example shortcut.](https://www.icloud.com/shortcuts/72e44ca37e024b8ab016bd827557f00f) #### How can I transfer my settings from the App Store version to the Setapp version? Run this command in the Terminal app: ```sh defaults export com.sindresorhus.Dato - | defaults import com.sindresorhus.Dato-setapp - ``` And to transfer the other way: ```sh defaults export com.sindresorhus.Dato-setapp - | defaults import com.sindresorhus.Dato - ``` #### How is this different from Fantastical? Fantastical is a full-blown calendar app, while Dato is a read-only view of your events. Fantastical is a replacement for the built-in Calendar app. You can use both Fantastical and Dato at the same time. Dato even has integration with Fantastical, so you can open events in Dato directly in Fantastical. Fantastical also has a menu bar item, but many people prefer the UI of Dato. Dato also shows time zones and has more customizability for what's shown in the menu bar. Dato can replace the system date/time, for example. #### How is this different from iStat Menus? iStat Menus lets you show different kinds of info in the menu bar, like system stats, network speed, etc. Dato is focused on date and time only. Dato also looks better. #### How is it different from Itsycal? Dato is not just a calendar app, but also includes menu bar clock replacement, time zones, upcoming event in menu bar, fullscreen notifications, and a lot more. Try both (see the [Dato trial](#trial)) and see for yourself. #### Why the name “Dato”? It means “date” in Norwegian. I just wanted a short, unique, and relevant name.

    #### Dato 5 ###### Behavior changes - **You must now click an event in the list to show event details. Previously you hovered over it.** - Right-click an event in the list for more actions. - Double-click an event in the list to open it in the default calendar app. ###### Why are there so many changes? The latest version of Dato has been rewritten, moving away from its original [system menu](https://developer.apple.com/design/human-interface-guidelines/menus) format — a change partly prompted by macOS 14 breaking various things. This shift has allowed me to implement significant improvements I have envisioned for years. It’s a change for the better, and I encourage you to give it a few weeks to adapt. If you're still unsatisfied after that time, please reach out. I am continuously working to refine and enhance the app, which has grown substantially since its simple beginnings, making the old menu system increasingly impractical for its current complexity. If you are not ready to move to Dato 5, here is [Dato 4](https://www.dropbox.com/scl/fi/xex1okacdtcctr8nytyu9/Dato-4.7.2-1692797926-1701610613.zip?rlkey=1yrr9r2xdczm35fkpzaoco72u&raw=1), which you can use in the meantime. ##### Some functionality is missing All existing functionality should be preserved, but some functionality moved into context menus. Simply right-click an event in the event list for more actions. Or right-click an attendee in the event details for more actions. ###### Why does clicking the "upcoming event in menu bar" item now open the main Dato window? I had a large number of requests that wanted more context for the event (for example, the events coming after it). When you click the "upcoming event in the menu bar" menu item now, it opens the main Dato window, but highlights the clicked event and shows the event details. This lets you easily see what comes after it. This also enabled the new setting that lets you hide the main Dato menu bar item, since you can now click the "upcoming event in menu bar" item instead. ###### How can I now hide an event from showing up in the menu bar? Previously, when you clicked the event in the menu bar, you could hide it from the menu bar by clicking “Hide from Menu Bar”. You now need to right-click the menu bar item and click “Mute”. ## Scripting ### Shortcuts The app comes with support for the Shortcuts app. Look up the app in the Shortcuts app to see what it provides. ### Events The [distributed notification](/apps/faq#distributed-notifications) `com.sindresorhus.Dato.joinedVideoCall` is emitted when you join a video call from Dato. ## Older Versions - [5.4.4](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/Dato.5.4.4.-.macOS.14.zip) for macOS 14 - [5.1.3](https://github.com/sindresorhus/meta/files/14097627/Dato.5.1.3.-.macOS.13.zip) for macOS 13 - [4.3.3](https://github.com/sindresorhus/meta/files/10516478/Dato.4.3.3.-.macOS.12.zip) for macOS 12 - [3.3.8](https://github.com/sindresorhus/meta/files/8935698/Dato.3.3.8.-.macOS.11.zip) for macOS 11 - [2.6.1](https://github.com/sindresorhus/meta/files/6758848/Dato.2.6.1.-.macOS.10.15.zip) for macOS 10.15 - [1.4.9](https://github.com/sindresorhus/meta/files/5360452/Dato.1.14.9.-.Special.last.Mojave.compatible.release.zip) for macOS 10.14 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/day-progress.md ================================================ --- title: Day Progress subtitle: Time remaining today in your menu bar pubDate: 2023-06-18 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 6450280202 # links: # 'TestFlight': https://testflight.apple.com/join/mFx764Kp olderMacOSVersions: - '13' - '14' - '15' --- Use this as a visual cue to stay motivated and manage time more efficiently. You can customize your day's start and end times per day, even allowing for a day's end past midnight, such as 2 AM. You can set up multiple time ranges to run one after another throughout your day - the menu bar shows a single progress at a time. Perfect for tracking different parts of your day like work hours and personal time. Choose between a progress pie or bar, showing percentage, remaining time, or minutes left. ## Tips ### Reminder about shortcuts A shortcut can be run from the menu bar, using a global keyboard shortcut, from Spotlight, or from Raycast. You can use Shortcuts automations to make it run automatically, for example, when you change to the work focus. For more automation triggers, you can use [Shortery](https://apps.apple.com/us/app/shortery/id1594183810?mt=12). ### Hide the system clock {#hide-system-clock} You could use Day Progress as an abstract clock instead of the system clock, to minimize anxiety and distraction from time, enhancing focus and productivity. Unfortunately, it's not possible to fully hide the built-in menu bar clock. However, you could make it an analog clock, which makes it a lot less visible. In “System Settings › Control Center › Clock Options”, choose the analog clock and disable showing the date. ### Events The [distributed notification](/apps/faq#distributed-notifications) `com.sindresorhus.Day-Progress.dayEnded` is emitted when a progress finishes. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can you add widgets? I plan to do that at some point, but not soon. #### Can you add support for iOS? I plan to do that at some point, but not soon. #### Can you support more countdown ranges, like until the end of the week or a certain date? There are already lots of apps for counting down to a specific date. I wanted to make something more unique. Also, the app name is “Day Progress”. #### Can you support specifying different day ranges for different days of the week? You can set up multiple schedules with different time ranges, both for different days and within the same day. Each time range runs its progress one after another in the menu bar. For even more flexibility with scheduling, check out the [tips](#tips) section for automation options using Shortcuts. #### Does the app provide end-of-day notifications? At this time, the app doesn't support this. Considering the wide-ranging user preferences of notifications, from system alerts to fullscreen notifications and differing "do not disturb" settings, I've opted to keep the app straightforward and not include notifications for now. #### Can you add Pomodoro features? This is outside the scope of the app. Day Progress is meant as a general day progress indicator, not a task timer. There are many dedicated Pomodoro apps available in the App Store. #### Can it show a progress bar for how much time I have left in my life? This is out of scope for this app, and there are existing apps for that already. #### Can you localize the app into my language? I do not plan to localize the app. ## Older Versions - [2.0.3](https://www.dropbox.com/scl/fi/mntravypnb9a11938lk28/Day-Progress-2.0.3-macOS-15-1775397609.zip?rlkey=gjl8jl22miwb9csldzdpd8786&raw=1) for macOS 15 - [1.4.0](https://github.com/user-attachments/files/18767518/Day.Progress.1.4.0.-.macOS.14.zip) for macOS 14 - [1.3.0](https://github.com/sindresorhus/meta/files/13979415/Day.Progress.1.3.0.-.macOS.13.zip) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/default-browser.md ================================================ --- title: Default Browser subtitle: Switch default browser from your menu bar pubDate: 2025-01-13 platforms: - macOS isPaid: true isMenuBarApp: true releasesRepo: default-browser-meta mainLinks: 'Buy': https://sindresorhus.gumroad.com/l/default-browser?wanted=true requirement: Requires macOS 26 or later announcement: text: Save 28% with the Power User Bundle — get 3 power user apps together url: https://sindresorhus.gumroad.com/l/power-user urlText: Get the bundle pressQuotes: - quote: Sindre Sorhus is a serial indie app developer that specializes in creating niche apps that solve a particularly nagging problem in an often seamless way. Default Browser is one of my favorites. source: Lifehacker url: https://lifehacker.com/tech/finally-an-easier-way-to-change-your-default-browser-on-mac - quote: Works flawlessly! It's exactly what I needed to quickly switch between browsers! Thank you for this fantastic app! source: Petar Stoyanov - quote: crashed at launch! source: John Dorian olderMacOSVersions: - '15' --- Seamlessly switch between browsers directly from your menu bar, keyboard shortcut, Focus mode, or using Shortcuts. Perfect for users who work with multiple browsers. Unlike similar apps, this one actually changes the system default browser (and without a prompt). **Features** - Set the system default browser - Choose which browsers are shown in the menu - Hide menu bar icon - Show the default browser’s icon in the menu bar - Keyboard shortcut to show the menu - [Shortcuts app integration](#shortcuts) - [Focus filter](#focus-filter) to automatically switch browser based on [Focus mode](https://support.apple.com/guide/mac-help/mchl613dc43f/mac#mchl49b73d04) --- Mentions: - [Review in MacStories](https://www.macstories.net/reviews/default-browser-a-mac-menu-bar-utility-for-quickly-switching-browsers/) - [Lifehacker article](https://lifehacker.com/tech/finally-an-easier-way-to-change-your-default-browser-on-mac)
    > [!TIP] > Switching the default browser is also a feature of my [Supercharge](/supercharge) app. --- ## Tips ### Browser selector Set a keyboard shortcut to open the menu. Once open, select a browser by pressing its number key or navigate using the arrow keys. ### Launch browser Hold the Option key and click a browser in the menu to open it, rather than setting it as the default. ### Switch to specific browser with keyboard shortcut {#keyboard-shortcut-set-browser} Create a [shortcut in the Shortcuts app](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) for each browser using the “Set Default Browser” action, then assign a keyboard shortcut to the shortcut. ### Automatically switch browser based on a trigger {#auto-switch-browser} The triggers could be: time, location, active app, Wi-Fi network, etc. For example, set up automatic browser switching between work and personal use through the Shortcuts app. Create two shortcuts using the “Set Default Browser” action - one for each browser. Then use [Shortery](https://apps.apple.com/app/id1594183810) to automatically trigger these shortcuts based on time of day or Wi-Fi network. The Wi-Fi trigger is particularly useful for office workers, as it switches browsers automatically when you connect to your work network. Use the [Focus filter](#focus-filter) to switch browser based on the active Focus mode. On macOS 26 and later, you can use the built-in automation triggers in Shortcuts instead of the Shortery app. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have disabled the “Show menu bar icon” setting, which hides the menu bar icon. Launch the app again to show the menu bar icon. #### Can it support rules for which browser to use for certain URLs? {#rules-support} Features like rules require the app to intercept and forward URLs by acting as the default browser. This app simply changes the default browser. Check out my [Velja](/velja) app for rules and more. #### Can it support browser profiles? {#browser-profiles} Same answer as the above. With the exception of Orion, which implements profiles as separate apps. #### How is it different from your [Velja](/velja) app? Velja works by acting as a browser and forwarding URLs to other browsers, enabling features like rules, interactive browser prompt, desktop app handling, and URL tracking parameter cleaning. This app is simpler - it just changes the system default browser directly. #### I already own [Supercharge](/supercharge). Does this offer any benefits over its browser switcher feature? {#supercharge} - Default browser app icon in the menu bar. - Larger app icons in the menu. - Keyboard shortcut to show the menu. - Number key selection for browsers in the menu. #### Why is this not in the App Store? Much of the functionality would not be possible in the App Store because of [sandboxing](/apps/faq#macos-sandbox). #### Can the default browser change based on the macOS desktop Space I’m in? {#macos-spaces} No. macOS does not expose the active [Space](https://support.apple.com/guide/mac-help/work-in-multiple-spaces-mh14112/mac) to apps, so the app cannot detect or react to it. You can instead automate switching with Focus Filters or Shortcuts (see [tips](#tips)). ## Scripting ### Shortcuts The app comes with support for the Shortcuts app. Look up the app in the Shortcuts app to see what actions it provides. For example, you could switch to a certain browser at a [specific time of the day](#auto-switch-browser), or maybe when joining a specific Wi-Fi network. For such triggers, you will also need the [Shortery](https://apps.apple.com/app/id1594183810) app. ### Focus filter The app includes a [Focus filter](https://support.apple.com/guide/mac-help/mchl613dc43f/mac#mchl49b73d04) to automatically switch the default browser based on the Focus mode. Enable it in “System Settings › Focus”. ### Events The [distributed notification](/apps/faq#distributed-notifications) `com.sindresorhus.defaultBrowserDidChange` is emitted when the default browser is changed from the app or the Shortcuts action. ## Older Versions - [1.1.0](https://www.dropbox.com/scl/fi/u9c9gzh7l8jseuga9v2eg/Default-Browser-1.1.0-macOS-15-1771002988.zip?rlkey=37e8ck6g0x3pc3z132olqc8n9&raw=1) for macOS 15 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/doodle-draw.md ================================================ --- title: Doodle Draw subtitle: Quick and easy drawing pad pubDate: 2024-01-23 platforms: - iOS - visionOS appStoreId: 6476447055 --- Capture your creativity instantly. Ideal for quick sketches, artistic brainstorming, and playful drawing. Simple, intuitive, and fun, turning every touch into doodles. The app is intentionally simple. ## Frequently Asked Questions {#faq} #### I can already access these drawing tools in the Notes and Freeform app This app makes it faster to get started. Just tap the app and start doodling. It also lets you save or erase more quickly. Great for quick brainstorm sessions. #### How can I undo? Tap the undo button, shake the device, or swipe left with three fingers. #### Can I zoom in and out? There is no zoom functionality. The app is designed for straightforward, full-canvas doodling. #### Can I draw on an existing image? This is not supported. #### Can you support shape detection? Apple does not let third-party apps use the shape detection functionality, so this is not possible. #### Why can I only use a single hand when drawing on the visionOS version? This is a visionOS bug. #### Can you support macOS? Unfortunately not possible as the framework used for drawing is too limited on macOS. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app. ================================================ FILE: source/content/apps/ds-store-inspector.md ================================================ --- title: DS_Store Inspector subtitle: Inspect .DS_Store files pubDate: 2026-01-29 platforms: - macOS appStoreId: 6758286374 # olderMacOSVersions: # - '26' --- A read-only viewer for Finder metadata stored in [`.DS_Store`](https://en.wikipedia.org/wiki/.DS_Store) files. `.DS_Store` (Desktop Services Store) files are hidden files macOS creates in every folder you open in Finder. They store folder-specific view preferences like icon positions, window size, and sorting options. ## Frequently Asked Questions {#faq} #### Why would I want to inspect a `.DS_Store` file? To understand and debug how Finder presents a folder: sorting, view mode, window size, icon positions, and other hidden state. This is especially useful when investigating odd Finder behavior, auditing metadata left behind in shared folders, repositories, ZIP archives, installers, and designed DMGs, where the `.DS_Store` controls the exact visual layout users see (icon placement, background, window geometry). #### Can I use this to clean or reset Finder settings? No. This app is an inspector, not a cleaner. Use it to understand what is stored, then decide separately how to handle it. #### Why does a .DS_Store file look empty or show little data? Some folders barely have custom Finder settings, so there’s not much stored. Also, certain records only appear after you change view options (icon positions, sort order, window size, etc). #### Why are some record types cryptic? The format is undocumented. Many record types were reverse-engineered, and some Finder internals still use opaque identifiers. If you [send me](/feedback?product=DS_Store%20Inspector&referrer=Website-FAQ) the `.DS_Store` file, I will take a look. Click the button in the “Help” menu in the app. #### Why does it require macOS 26 or later? This is just a small, free project I built for fun. Supporting older macOS versions would mean extra testing, compatibility layers, and working around bugs Apple will never fix. Keeping it macOS 26+ lets me keep the code simple and spend time building things I enjoy instead of maintaining legacy support. ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/amjh96y5np88k35a29o91/DS_Store-Inspector-1.0.2-1770388348.zip?rlkey=laf8sa8yybe2v1i21oe9ps86d&raw=1) *(1.0.2)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/favorites-widget.md ================================================ --- title: Favorites Widget subtitle: Contacts on your Lock Screen, Home Screen, and desktop pubDate: 2022-09-12 platforms: # - macOS # because it crashes because of missing API shim. - iOS - visionOS isPaid: true appStoreId: 1643660089 hasSentry: true --- Call, message, or email your favorite people directly from the Lock Screen or Home Screen. You can also open a URL or run a shortcut instead when tapping the widget. This opens up a lot of cool possibilities. Here are [some ideas](https://github.com/bhagyas/app-urls) of what you could open. ## Frequently Asked Questions {#faq} #### How do I add the widget? - [iOS](https://support.apple.com/HT207122) #### The widget does not show up in the widget picker This is a well-known iOS issue. [Try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### The Lock Screen widget sometimes disappears Make sure Lock Screen widgets are allowed when locked: “Settings › Face ID & Passcode › Allow Access When Locked › Lock Screen Widgets”. If it’s “off”, iOS may hide the widget until you unlock. #### Can I call someone by just tapping the widget without the confirmation dialog? Yes. Enable the “Quick Call” setting in the app. #### Can the Lock Screen photos be full-colored? This is unfortunately not possible. iOS enforces that Lock Screen widgets are single-colored. #### Can you support more actions when tapping a widget? Sure. I'm happy to consider requests. [Send it here.](https://sindresorhus.com/feedback?product=Favorites%20Widget&referrer=Website-FAQ) #### Can you make the widget background transparent? This is not possible. #### When using the “Run Shortcut” action, why does tapping the widget first open the main app and then the Shortcuts app? This is because of iOS limitations. A widget can only open its own app when a user taps it. And the only way to run a shortcut is to open the Shortcuts app using a special URL. So when you tap the widget, the widget opens the main app, and the main app then opens the Shortcuts app. It's not a very good user experience, but only Apple can fix this. If you work at Apple, you know what to do: - [FB9745173](https://github.com/feedback-assistant/reports/issues/240) - [FB11516334](https://github.com/feedback-assistant/reports/issues/357) - [FB11516273](https://github.com/feedback-assistant/reports/issues/356) #### Can you localize the app into my language? I don't plan to localize the app. ================================================ FILE: source/content/apps/floating-clock.md ================================================ --- title: Floating Clock subtitle: The missing clock for Apple Vision pubDate: 2024-02-17 platforms: - visionOS appStoreId: 6477862240 --- Display a digital clock anywhere in your space. The app is simple by design. ## Frequently Asked Questions {#faq} #### Can it support showing an analog clock? No plans to support that. #### Can it show seconds? No plans to support that. #### Can it show the year? The year is omitted for simplicity; it's generally known. #### Can you support macOS? I plan to do this at some point, but not soon. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app, but the time and date respects your locale. ================================================ FILE: source/content/apps/folder-peek.md ================================================ --- title: Folder Peek subtitle: Put folders in your menu bar pubDate: 2022-04-05 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 1615988943 hasSentry: true olderMacOSVersions: - '12' - '13' - '14' - '15' ---
    ### Features - Add multiple folders to the menu bar - Each folder can be individually customized - File preview - View and copy image & video dimensions - Drag & drop files directly from the menu - Global keyboard shortcut to show/hide each folder menu (optionally opens at cursor position) - Open a file or folder in a specific app - Follows aliases and symlinks - Shortcuts support ### Guide {#guide} Folder Peek lets you put one or more folders in the menu bar. Make sure you read the below tips and FAQ. ## Tips - Click a file or folder in the menu to open it. Folders open in Finder. - Click a file while pressing the Option key to show it in Finder. - Click the folder title ([the top menu item](https://github.com/sindresorhus/meta/assets/170270/79c4e9c7-8abf-49da-b8fb-3a942017442e)) to open the folder. - You can drag files directly from the menu. You can also drag the file thumbnail in the file submenu. Press the Option key while dragging to copy instead of moving. - Press the Option key when viewing the file details to copy the path or image/video dimensions. - You can use the Shortcuts support to show/hide certain folders depending on what project you are working on. - If you have the menu bar item folders next to each other and you have one folder open, you can press Control+Tab or Shift+Control+Tab to switch between them. - In Settings, you can configure the keyboard shortcut to open the menu at the cursor position instead of at the menu bar icon. - Press the Option key while the menu is open to show the `…` menu item at the top if it normally is at the bottom. - Right-click or Option-click the menu bar item to open the folder. - Press the Shift key while viewing a subfolder to reveal more actions. For example, sort order settings. - Search: Just start typing when the menu is open to find a file or folder in the menu. This is just the standard menu behavior where you can type to highlight a certain menu item. It's not a full-blown search. ### Links You can use Folder Peek to access links too. Drag and drop the URL from the Safari address bar into a folder. You will end up with a file with a `.webloc` extension. When you click that file in Folder Peek, it will open in your browser. ### Desktop folder You could add the “Desktop” folder to Folder Peek and then [hide the desktop icons](https://beebom.com/how-hide-desktop-icons-mac/) for a cleaner look. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Why is the app suddenly paid? It used to be free. While I love making free apps that are available to anyone, the high volume of support requests became unsustainable. After providing the app for free for 4 years with more than 50K downloads, I made the decision to make it paid. This isn't about revenue - it's about managing my time more effectively by reducing the support burden to a sustainable level. #### Some folders are suddenly missing from the menu bar When the menu bar has no space left, macOS hides overflowing items. Try quitting some menu bar apps. #### The menu bar icon is not perfectly vertically centered This is a macOS bug on non-Retina displays. There is unfortunately not much I can do about this. #### How can I show specific files and folders from various places? {#show-specific-items} You can create a folder that contains aliases to the files and folders you want to be included in the menu. Create a folder to put aliases in and add that folder to the app. Make aliases for the files and folders you want in the menu and move the aliases into the folder you just made. #### What is an alias? An [alias](https://support.apple.com/guide/mac-help/create-and-remove-aliases-on-mac-mchlp1046/mac) is a shortcut to an app, file, or folder that you can keep anywhere on your Mac. Right-click an item in Finder and select “Make Alias” to make one. #### How can I use this as an app launcher? {#app-launcher} Just add the “Applications” folder to the app. If you want to show only specific apps, follow the first FAQ. #### How can I show multiple folders at the top level in a single menu? {#show-multiple-folders} See the “Can I show specific files and folders from various places?” answer. #### How can I show certain folders in the menu bar depending on what I'm working on? {#faq-shortcuts} You can create a shortcut in the Shortcuts app using the “Set Folder Visibility” action where you show only certain folders. For example, you could make a shortcut named “Start Work” which hides your personal folders in the menu bar and shows folders for your work projects. On macOS 26, you can use Shortcuts automations to trigger this shortcut at a certain time or any other condition. On older macOS versions, you can use the [Shortery app](https://apps.apple.com/us/app/shortery/id1594183810) for this. #### How can I drag & drop a file from the menu? You can drag & drop files directly from the menu. Press the Option key while dragging to copy instead of moving. #### How can I copy the file path? {#copy-file-path} Press the Option key while viewing a file to reveal a “Copy Path” button. #### How can I copy the image/video dimensions? Press the Option key while viewing an image or video to reveal a “Copy Dimensions” button. #### How can I change the sort order for a subfolder? Press the Shift key while viewing a subfolder to reveal more actions, including a sort order setting. #### How can I have a menu bar folder with my most recent screenshots? Make a folder to hold the screenshots and add the folder to the app. Open the Screenshot app, click “Options”, then “Other Location”, and choose the folder you just made. In Folder Peek, open the folder config, change the sort order to “Date Created”, and set “Max Items” to something like 20. You may also want to [disable the screenshot preview](https://osxdaily.com/2019/08/02/disable-screenshot-thumbnail-preview-mac/) so the screenshot shows up in the screenshot folder right away. #### How can I add a [Smart Folder](https://support.apple.com/guide/mac-help/create-or-change-a-smart-folder-on-mac-mchlp2804/mac)? {#smart-folder} A Smart Folder is a special feature in Finder that allows you to create a virtual folder based on specific search criteria. The files within the Smart Folder are not physically stored in one location, but rather are located in different areas of your computer. Unfortunately, it is not possible to add a Smart Folder to Folder Peek as the functionality cannot be replicated. #### How do I remove a folder from Folder Peek? Click the menu bar item, go to the first menu bar item (which is named after your folder), go to its submenu, and then select “Remove Folder”. #### Can I navigate to a folder multiple levels deep and then drop a file into it? No, that is unfortunately not possible. Folder Peek is built as a system menu, and a menu cannot be kept open if it's not focused. Instead, first, navigate to the nested folder, click to open it in Finder, and then drag & drop the file into the Finder window. #### Can it auto-mount a network volume when accessing it? {#network-volume} No, this is not possible because of [sandboxing](/apps/faq#macos-sandbox). To use a network volume in the app, you need to either mount it manually first or use a tool like [AutoMounter](https://pixeleyes.co.nz/automounter/) to keep it always mounted. #### Can it support adding a tag instead of a folder? No. This is not planned. #### The app I want does not show up in the “Open With” menu for a folder {#folder-open-with} Apps define the types they support and Folder Peek just fetches a list of apps that support opening folders. However, many apps forget to declare support for folders even though they can open them. I would encourage reporting this to the developers of the app you want to open ([example report](https://github.com/microsoft/vscode/issues/146977)). In the meantime, I'm happy to manually add the app to the list if you contact me, but you are expected to also have reported the issue to the app's developers. The app developer will need to add `public.folder` to `LSItemContentTypes` in their app's Info.plist: ```xml LSItemContentTypes public.folder ``` #### How can I make folders open in a different app than Finder by default? {#finder-alternative} Folder Peek opens the default app that handles folders, which is Finder by default. - **Path Finder:** Enable the “Set as the default file browser” setting in Path Finder. - **ForkLift:** [Follow this guide.](https://binarynights.com/manual#fileviewer) For other apps, follow [this guide](https://binarynights.com/manual#fileviewer), but replace `com.binarynights.ForkLift-3` with the bundle identifier of the app you want. #### How can I hide the `…` menu item? There is a hidden setting for it. Run the following command in the Terminal app: ```sh defaults write com.sindresorhus.Folder-Peek showFolderMoreMenu -bool false ``` You can show the `…` menu item again by pressing the Option key. #### How is this better than having [folders in the Dock](https://support.apple.com/guide/mac-help/use-folders-in-the-dock-mchl231f08fb/mac)? {#dock-folders} - Slightly faster access, since most users have the Dock automatically hidden and the menu bar always shown. - File preview. - Copy and share a file. - View and copy image/video dimensions. - Open a file or folder in a specific app. - Keep folders on top. - Sort by when the file was last accessed. - Show the menu using a custom global keyboard shortcut. - Limit the number of items shown in the menu. - Shortcuts support. #### How is this better than [XMenu](https://apps.apple.com/us/app/xmenu/id419332741)? {#xmenu} - You can choose any folder and as many as you want, not just a few predefined ones and a single custom folder. - Each folder can be individually customized. - Sandboxed app (more secure). - Custom menu bar icon. - File preview. - Copy, share, and drag & drop a file. - View and copy image/video dimensions. - Open a file or folder in a specific app. - Sort files by date created, date modified, date accessed, date added, and kind. - Show the menu using a custom global keyboard shortcut. - Limit the number of items shown in the menu. - Shortcuts support. #### Can I add shortcuts or scripts to the menu? {#short-run} The app is for folders only. However, I have an app for exactly this: [Short Run](/short-run), which lets you run shortcuts from the menu bar. #### How can I export, import, sync, or back up the settings? [See this guide.](https://github.com/sindresorhus/guides/blob/main/backup-app-settings.md) #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.12.0](https://www.dropbox.com/scl/fi/hlyb11lf2m65st8daptme/Folder-Peek-1.12.0-macOS-15-1775931438.zip?rlkey=7bykzpnc4iik0izgibhxx1sxo&raw=1) for macOS 15 - [1.11.5](https://github.com/user-attachments/files/18925258/Folder.Peek.1.11.5.-.macOS.14.zip) for macOS 14 - [1.9.2](https://github.com/sindresorhus/meta/files/13980050/Folder.Peek.1.9.2.-.macOS.13.zip) for macOS 13 - [1.6.1](https://github.com/sindresorhus/meta/files/10901140/Folder.Peek.1.6.1.-.macOS.12.zip) for macOS 12 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/gifski.md ================================================ --- title: Gifski subtitle: Convert videos to high-quality GIFs pubDate: 2018-02-23 platforms: - macOS repoUrl: https://github.com/sindresorhus/Gifski appStoreId: 1351639930 hasSentry: true links: 'Older Versions': https://github.com/sindresorhus/Gifski#download 'TestFlight': https://testflight.apple.com/join/iCyHNNIA olderMacOSVersions: - '10.13' - '10.14' - '10.15' - '11' - '12' - '13' --- A macOS app for the [gifski encoder](https://gif.ski), which converts videos to GIF animations using [pngquant's](https://pngquant.org) fancy features for efficient cross-frame palettes and temporal dithering. It produces animated GIFs that use thousands of colors per frame. If you don't have a video, you can try the app out with [this one](https://github.com/sindresorhus/meta/assets/170270/6606c1d2-c0ce-4b7e-9eb8-a3916e601e48). --- *Help test the next major version of Gifski on [TestFlight](https://testflight.apple.com/join/iCyHNNIA).* ================================================ FILE: source/content/apps/googly-eyes.md ================================================ --- title: Googly Eyes subtitle: Watchful eyes in your menu bar pubDate: 2025-03-12 platforms: - macOS isMenuBarApp: true appStoreId: 6743048714 olderMacOSVersions: - '15' --- Add playful eyes to your menu bar that follow your cursor and blink when you click. Pure whimsy! 👀 ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Why is it using a lot of CPU? The app is optimized as much as possible, but macOS is inefficient at updating menu bar items. Also, make sure you know how to [interpret CPU usage](/apps/faq#high-cpu). #### Does it support multiple screens? Partly. The eyes follow your cursor across displays. However, menu bar items on inactive secondary displays are just static macOS clones, so those eyes cannot track independently. This is a macOS limitation and cannot be worked around. ## Older Versions - [1.1.4](https://www.dropbox.com/scl/fi/p4ym425ivfp4ex1enlh1l/Googly-Eyes-1.1.4-macOS-15-1774281617.zip?rlkey=7jbf2llhjjielpvde6rcpvp8n&raw=1) for macOS 15+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/t8qoulw2nfo2wbzoekbop/Googly-Eyes-1.2.0-1774281367.zip?rlkey=purr5ntc70na53ndpt06oxcuh&raw=1) *(1.2.0 · macOS 26+)* ================================================ FILE: source/content/apps/heic-converter.md ================================================ --- title: HEIC Converter subtitle: Convert HEIC images to JPEG or PNG pubDate: 2017-10-09 platforms: - macOS appStoreId: 1294126402 hasSentry: true olderMacOSVersions: - '10.13' - '10.14' - '10.15' - '11' - '12' - '13' - '14' --- HEIC Converter is a macOS app that makes it easy to quickly convert images in the [HEIC](https://www.macworld.co.uk/feature/iphone/what-is-heic-3660408/) format to JPEG or PNG. HEIC is Apple's new default image format since iOS 11, replacing JPEG. HEIC uses more advanced and modern compression methods to achieve much smaller file sizes with the same visual quality. Unfortunately, HEIC is a very new format and not yet supported outside of iOS and macOS. This app makes it possible to share your HEIC images on the web or with non-Apple users. If you don't have any HEIC images, you can try the app out with [this one](/apps/heic-converter/heic-example.heic). ## Frequently Asked Questions {#faq} #### Does it preserve 10-bit depth? No. JPEG only supports 8-bit. PNG supports 8-bit and 16-bit, but macOS doesn't have a way to convert 10-bit HEIC to 16-bit PNG, so it ends up as 8-bit too. #### Does it support other HEIF variants like `.heif` or `.hif`? No. Only `.heic` is supported at the moment because macOS support for other variants is buggy. #### Can you support converting JPEG to HEIC? I don't have plans to support JPEG to HEIC conversion. While HEIC offers some benefits over JPEG, I believe [JPEG XL](https://en.wikipedia.org/wiki/JPEG_XL) is a more promising next-generation image format: - Lossless conversion from JPEG to JPEG XL - Superior compression compared to JPEG and HEIC - Support for HDR, wide color gamuts, and animation - Royalty-free, open standard I expect JPEG XL to gain more widespread support and become the preferred format in the coming years. At that point, I plan to add JPEG XL conversion capabilities here. #### What's the benefit of this app over the built-in Quick Actions converter? The built-in converter (right-click › Quick Actions › Convert Image) works well for basic conversions. This app offers adjustable JPEG quality and granular metadata control (separately toggle location data and modification dates instead of all-or-nothing). #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Older Versions - [3.3.0](https://github.com/user-attachments/files/18555573/HEIC.Converter.3.3.0.-.macOS.14.zip) for macOS 14+ - [3.2.0](https://github.com/sindresorhus/meta/files/13981994/HEIC.Converter.3.2.0.-.macOS.13.zip) for macOS 13+ - [3.0.1](https://github.com/sindresorhus/meta/files/11401710/HEIC.Converter.3.0.1.-.macOS.12.zip) for macOS 12+ - [2.1.5](https://github.com/sindresorhus/meta/files/9218007/HEIC.Converter.2.1.5.-.macOS.11.zip) for macOS 11+ - [2.1.5](https://github.com/sindresorhus/meta/files/8817868/HEIC.Converter.2.1.5.-.macOS.10.15.zip) for macOS 10.15+ - [1.9.0](https://github.com/sindresorhus/meta/files/6715716/HEIC.Converter.1.9.0.-.macOS.10.14.zip) for macOS 10.14+ - [1.5.3](https://github.com/sindresorhus/meta/files/13539124/HEIC-Converter-for-macOS-10.13.zip) for macOS 10.13+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/67yxnp1eav42osqt2mlil/HEIC-Converter-3.4.0-1737966500.zip?rlkey=idqv2y6fmgyzwjlmkukr5ch26&raw=1) *(3.4.0)* *Requires macOS 15 or later* ================================================ FILE: source/content/apps/hyperduck.md ================================================ --- title: Hyperduck subtitle: Send links from your iOS & visionOS devices to your Mac pubDate: 2023-01-27 platforms: - macOS - iOS - visionOS isPaid: true appStoreId: 6444667067 olderMacOSVersions: - '13' - '14' - '15' feedbackNote: | If you are having problems with sync, [read this](/hyperduck#troubleshooting). pressQuotes: - quote: I love Hyperduck. […] It does a great job bridging iOS and iPadOS to macOS, which Shortcuts doesn't do very well yet. […] Hyperduck has become one of my primary tools for controlling my Mac remotely. source: MacStories url: https://www.macstories.net/reviews/automation-april-hyperduck-leverages-the-power-of-url-schemes-to-control-your-mac-from-an-iphone-or-ipad/ --- For example, share a link from Safari on your iPhone, iPad, or Apple Vision, and have it open in the default browser on your Mac moments later. You can send a link even if your iOS/visionOS device and/or Mac is offline. The link will be sent and received the next time the devices are online. The link will never be lost. My personal use-case is that I often discover cool stuff when I check X (Twitter) on the go and I want to dig deeper into it later on my Mac. I have tried Instapaper, Pocket, Safari Reading List, iCloud Tabs, and more. The problem with them all is that I forget to check them. > [!IMPORTANT] > Sends to one Mac only. Install the macOS app on the single Mac you want to receive links on. If you install it on multiple Macs, iCloud may deliver a link to any of them, unpredictably. [**Why not AirDrop?**](#airdrop) [Review by MacStories](https://www.macstories.net/reviews/automation-april-hyperduck-leverages-the-power-of-url-schemes-to-control-your-mac-from-an-iphone-or-ipad/) [Video review by MacRumors](https://www.youtube.com/watch?v=XiLSieZ5b2c&t=486s) #### Privacy The app uses iCloud syncing to securely send links from your iOS/visionOS device to your Mac. The app developer will not see the links you share. The app does not collect any personal data and does not have any tracking. ## Troubleshooting - If the “Send to Mac” button is not showing up in share sheets, you may have to enable it at the bottom of the share sheet with the “Edit Actions” button. You may even have to restart your device for it to show up (iOS bugs…). - Ensure Hyperduck is running on the Mac. - Hyperduck opens links in the background. Ensure you didn't miss it. - Try opening the Hyperduck iOS app to force a sync. - In the iOS app, if you triple-tap the text, it will show the most recently shared URLs, which may aid debugging. Also check the history in the macOS app. - For a few users, initial sync took up to 24 hours due to weird iCloud syncing behavior. - This is controlled by Apple's iCloud system and outside the app's control. - [More…](/apps/faq#icloud-sync) ## Tips ### Run shortcuts {#shortcuts} You can use this app to trigger [shortcuts](https://support.apple.com/guide/shortcuts/welcome/ios) on your Mac from your iOS devices. This enables a lot of powerful use-cases. For example, you could make your Mac play a specific song directly from your iPhone. First, create a shortcut on your Mac with some actions. Let's call it `Unicorn`. On your iOS device, make a new shortcut, add the “Run Shortcut on Mac” action, and write `Unicorn` in the shortcut field. You can now run this shortcut on your iOS device to trigger the `Unicorn` shortcut on your Mac. [Learn more](https://www.macstories.net/reviews/automation-april-hyperduck-leverages-the-power-of-url-schemes-to-control-your-mac-from-an-iphone-or-ipad/) in the Hyperduck review by MacStories. ### Shut down Mac You can use the Shortcuts support mentioned above to shut down your computer remotely from your iOS device. Just follow the above steps and use the “Shut Down” action (requires macOS 13.3) in the Shortcuts app or the AppleScript action with the following: `tell app "System Events" to shut down`. ### Trigger Raycast deeplinks {#raycast} Similar to the above, we can use a [Raycast deeplink](https://manual.raycast.com/deeplinks). For example, on your iOS device, make a new shortcut, add the “Send URLs to Mac” action, and in the URL field, write: ``` raycast://confetti ``` You can now trigger confetti to show up on your Mac from your iPhone. ### Send a link to a specific browser profile Create an [iOS shortcut that triggers a macOS shortcut](#shortcuts) and set it to appear in the share sheet. In the macOS shortcut, use the "Open URLs" action from my [Velja](/velja) app to open the URL in a specific browser profile. - [Example iOS shortcut](https://www.icloud.com/shortcuts/a00ac5bb31294084936fbd4dd6ca0245) - [Example macOS shortcut](https://www.icloud.com/shortcuts/d39c57b67ed343d58192a899841d6457) ### Send a link to a specific Mac {#send-to-specific-mac} Instead of using the “Send to Mac” share sheet button provided by the app, you can make a [shortcut](#shortcuts) for each Mac you want to send to and put those shortcuts in the share sheet. Add these shortcuts (on any device): - [iOS shortcut](https://www.icloud.com/shortcuts/f013c4a6da7d4a9eb0694f0a6532f34c) - [macOS shortcut](https://www.icloud.com/shortcuts/e164558aa759486ca70553f32029fe40) *(requires the [Actions](/actions) app to be installed)* Then edit the macOS shortcut to match the device name of the device you want this to share to. You can rename the macOS shortcut, but don't forget to update the name in the iOS shortcut. To support more Macs, repeat the process for each Mac. ### Download a file on your Mac from your iOS device You can use Hyperduck to trigger a download from your iOS device and have it downloaded on your Mac. Add the below [shortcuts](#shortcuts): - [iOS shortcut](https://www.icloud.com/shortcuts/4819a11f4d0b40228df7ffd737b34c3d) - [macOS shortcut](https://www.icloud.com/shortcuts/d319976dd4cf441780f6abcb049a3cff) You can then tap “Download on Mac” in the share sheet on your iOS device, and the item will be downloaded on your Mac to the “Downloads” folder. ## Frequently Asked Questions {#faq} #### How is it better than AirDrop? {#airdrop} - Works when your Mac is turned off - Works when you are not near your Mac - Much faster - Opens links on your Mac in the background - AirDrop sometimes refuses to work; this always works. #### How is it better than iCloud Tabs? {#icloud-tabs} - Works in any app with a share sheet, not just Safari - Links are opened as tabs in your browser so you cannot miss them - No need to spend time looking for the link in a long list of links - Supports any browser on your Mac - You don't need to keep the tab open on your iOS device for it to be available on your Mac #### How is it better than Safari Tab Groups? {#safari-tab-groups} - Works in any app with a share sheet, not just Safari - Supports any browser on your Mac - You don't need to keep the tab open on your iOS device for it to be available on your Mac #### How is it better than Safari Reading List? {#safari-reading-list} - Links are opened right in your browser so you cannot miss them - No need to spend time looking for the link in a long list of links - Supports any browser on your Mac #### How is it better than remembering the URL and typing it out on your Mac? - Works with every human - Does not strain fingers and brain #### How is it better than Handoff? {#handoff} - Works in any app with a share sheet, not just a browser - Works when your Mac is turned off - Works when you are not near your Mac - Supports any browser on your Mac - Opens links on your Mac in the background - The link opens automatically. Handoff requires clicking the Dock icon to open it. - Handoff sometimes refuses to work. This always works. #### How is it better than [Universal Clipboard](https://support.apple.com/HT209460)? {#universal-clipboard} - No need to manually paste the link into the browser after copying it on your iOS device - Works when your Mac is turned off - Works when you are not near your Mac - Much faster #### How is it better than sending yourself links with iMessage? {#imessage} - Links are opened right in your browser so you cannot miss them (it's easy to forget to check iMessage) - Opens links on your Mac in the background #### How is it better than sending yourself links with email? {#email} - Links are opened right in your browser so you cannot miss them (it's easy to forget to check your email) - Opens links on your Mac in the background - Does not litter your email inbox with lots of random links #### How is it better than [Pushbullet](https://www.pushbullet.com)? {#pushbullet} - Works in any app with a share sheet - Pushbullet does not have an iOS or macOS app - Does not require signing up for another account #### How is it better than the Firefox [Send Tabs](https://support.mozilla.org/kb/send-tab-firefox-ios-another-device) feature? - Works in any app with a share sheet, not just Firefox - Supports any browser on your Mac - Requires fewer taps #### How is it better than the Firefox tab sync? - Works in any app with a share sheet, not just Firefox - Supports any browser on your Mac - You don't need to keep the tab open on your iOS device for it to be available on your Mac #### Can it open links in a specific browser or browser profile on my Mac? {#custom-browser} You can use my [Velja app](/velja) for this. Create a custom rule where you set Hyperduck as the source app. [It's not possible to open in Safari profiles.](/velja#safari-profiles) #### The link did not open on my Mac right away The app works by syncing the link over iCloud from your iOS device to your Mac. This is usually instantaneous, but there can be situations that delay it (iCloud problems, network issues, Low Power Mode, etc). This is unfortunately completely out of my control. #### I don't see the “Send to Mac” action in the share sheet Try restarting your device. Because of an iOS bug, it sometimes only appears after a restart. #### The “Send to Mac” button does not appear when viewing a PDF file in Safari Safari tries to share the PDF file itself, not the URL to the PDF, and Hyperduck can only handle URLs. Instead, go back, long-press the link to the PDF, and tap “Share”. #### I use the Arc browser and I am not receiving all links The Arc browser does not support opening multiple URLs at a time. I suggest sending feedback to the Arc team about this. There is nothing Hyperduck can do about it. As a workaround, you could use my [Velja app](/velja) to make such links open in a different browser. Create a custom rule where you set Hyperduck as the source app and set the destination app to a different browser than Arc. #### Can Hyperduck lose a shared link if my internet goes down? No. Hyperduck stores your link in iCloud, ensuring it's available until successfully opened on your Mac, regardless of your internet connection quality. #### Can you add a history screen to the iOS app? I don't plan to add this. I would like to keep the app focused on one thing and do it well. The app is for sending links from iOS to Mac. That's it. If you really need to see what URLs were shared, you can triple-tap on the text in the iOS app to get a list of recently shared URLs. #### Can you support multiple Macs? No. I would like to keep the app simple. However, you could [do it with Shortcuts](#send-to-specific-mac). #### Can you support the reverse (Mac to iOS)? {#reverse} No. I’m not planning to support it. There is just not enough demand and it would make the app much more complicated. Also, it would not be possible to open the URL directly in the browser like it does on macOS, so the experience would not be great. #### Can you support sending from one Mac to another? No. I’m not planning to support it. It would add a lot of complexity for a very niche use-case. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.4.0](https://www.dropbox.com/scl/fi/wqls608ta9gjhwobx7aob/Hyperduck-1.4.0-macOS-15-1775553315.zip?rlkey=s148zdqjfhjqki7bcxscvvo1v&raw=1) for macOS 15 - [1.2.3](https://github.com/user-attachments/files/18591073/Hyperduck.1.2.3.-.macOS.14.zip) for macOS 14 - [1.0.7](https://github.com/sindresorhus/meta/files/14292936/Hyperduck.1.0.7.-.macOS.13.zip) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/icon-preview.md ================================================ --- title: Icon Preview subtitle: Preview your app icon and menu bar icon pubDate: 2024-04-22 platforms: - macOS isMenuBarApp: true appStoreId: 6480373509 olderMacOSVersions: - '14' - '15' --- Preview how your macOS app icon will look in the Dock and how your menu bar item icon will appear. The icon previews update automatically when the file changes. An essential tool for developers and designers to perfect the look of their macOS app icons. ## Tips #### General - Drag and drop an image onto the Dock icon or menu bar icon to preview it there. - Click the Dock icon to pick an icon. - Right-click the Dock icon while the app is running for more actions. - In Finder, right-click an image file, and select “Open With › Icon Preview” to set it as the Dock icon. To instead set it as the menu bar icon, press the Option key while doing this. #### Preview multiple icons You can utilize the Shortcuts app to display various icons sequentially, each for three seconds. Add [this shortcut](https://www.icloud.com/shortcuts/8824dbd68a8f4dc9a38b850dccd9179e) for app icons or [this one](https://www.icloud.com/shortcuts/72dcea993b1e4b9686003c8e01133c1b) for menu bar icons. Then, navigate to Finder, select the desired icons, right-click, and select "Quick Actions › Preview App Icons". [Preview](https://x.com/sindresorhus/status/1783036121234165808) #### Sketch integration {#sketch} You can drag an artboard directly from Sketch onto the Dock icon. [Preview](https://x.com/sindresorhus/status/1783399434182955083) There is also a [Sketch plugin](https://github.com/sindresorhus/sketch-icon-preview) that updates the Dock icon automatically when you save. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### What image formats are supported for previewing icons? It supports all common image formats like PNG, SVG, PDF, ICNS, and TIFF. #### What are the specifications for designing an app icon? See Apple's [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/app-icons). #### What are the specifications for designing a menu bar icon? See [this blog post](https://bjango.com/articles/designingmenubarextras/). #### Can you localize the app into my language? I do not plan to localize the app. #### Why is this free without ads? I just enjoy making apps. I earn money on other apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.1.0](https://www.dropbox.com/scl/fi/ryipxav1u9x5lljd7cuc1/Icon-Preview-1.1.0-macOS-15-1764590483.zip?rlkey=r1vrmd3bkv8mrogmy2e9fxf4s&raw=1) for macOS 15+ - [1.0.2](https://github.com/user-attachments/files/18203304/Icon.Preview.1.0.2.zip) for macOS 14+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/qz25ebardzubedros2p1y/Icon-Preview-1.2.0-1764590537.zip?rlkey=8ty3u35x9rprn7ectqm0mcwaz&raw=1) *(1.2.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/imago.md ================================================ --- title: Imago subtitle: Generate images from text using Flux 2 pubDate: 2026-03-22 platforms: - macOS appStoreId: 6758187147 hasSentry: true # olderMacOSVersions: # - '26' --- Simply describe the image you desire, and the app will generate it for you like magic! It runs locally on your device. It uses the FLUX.2 [klein] 4B model. This app is focused on simplicity. No custom models, no complicated settings, no workflow editors. Just type a prompt and get an image. If you need fine-grained control, custom models, or advanced workflows, check out [ComfyUI](https://www.comfy.org). Imago is for everyone else. > [!IMPORTANT] > Requires an Apple silicon Mac (no Intel), minimum 16 GB RAM, and 20 GB free disk space. [Flux](https://en.wikipedia.org/wiki/Flux_(text-to-image_model)) is a deep learning, text-to-image model used to generate detailed images conditioned on text descriptions. ## Tips ### Preview Click a thumbnail to view a larger version of it. Click again to exit. ### Keyboard shortcuts When in preview mode, there are some keyboard shortcuts available: - — Previous image - — Next image - Space — Save image - Command+C — Copy image - Esc — Exit preview ### Metadata When you save a generated image, it includes a lot of useful metadata (prompt, model, etc). You can [view this in Finder](https://x.com/sindresorhus/status/1611441129622278146/photo/1) by right-clicking the image file and selecting “Get Info”. The file also includes some relevant tags which can be used to create [smart folders](https://support.apple.com/guide/mac-help/tag-files-and-folders-mchlp15236/mac). ## Frequently Asked Questions {#faq} #### Why does the app require Apple silicon for Macs? The AI model is optimized for Apple silicon. It would be unusably slow on Intel Macs. #### Can you support iOS? No. iOS devices don't have enough RAM. #### What are the usage restrictions for the generated images? You can use the images for commercial or non-commercial purposes, but you must follow the usage restrictions defined for [FLUX.2](https://huggingface.co/black-forest-labs/FLUX.2-klein-4B). These include not using the images for illegal activities, deception or misinformation, harassment, discrimination, exploitation or abuse, misuse of personal data, non-consensual imagery, or other harmful uses. #### Can you support custom models? I don't plan to support this. This app is intentionally simple. There are many other apps that support custom models. #### Can you support inpainting/outpainting? I don't plan to support this. #### Why can it not generate adult images? The app would not be allowed on the App Store if it allowed creating such images. #### Why does it take so long to generate? Several factors can affect the speed of image generation, including the performance of your device and the amount of available memory and CPU. Try closing down other apps or restarting your device before generating images. And bear in mind that the initial generation after installing the app may take longer due to model validation. #### Why does the app take up so much space on disk and memory? The AI model used to generate images is large. This is reasonable given the model's capabilities. #### How can I remove Imago and the Flux model entirely? {#uninstall} First, open the app and click “Show Model Folder” in the settings to reveal the model in Finder, then delete that folder (~20 GB). After that, [delete the app](https://support.apple.com/en-us/102610) from your Applications folder as usual. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/3vgrzu42y0b8ex4ucer9w/Imago-1.0.1-1774386003.zip?rlkey=6m80smt12qv8dccxlb4uk8sfw&raw=1) *(1.0.1)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/jiffy.md ================================================ --- isArchived: true title: Jiffy subtitle: Discover & share the best GIFs pubDate: 2020-03-25 platforms: - macOS isMenuBarApp: true appStoreId: 1502527999 hasSentry: true # olderMacOSVersions: # - '10.15' # - '11' # - '12' # - '13' --- **Jiffy is no longer available because Giphy removed their free API.** I may bring it back one day and use the [Tenor](https://tenor.com) API, but it's not something I have time or interest in doing right now. Jiffy lets you quickly search and discover GIFs from GIPHY. When you have found an awesome GIF, just drag and drop it into an app. #### Features - Trending GIFs. - Search GIFs. - Use it as a menu bar app or a normal app in the Dock. - Favorite GIFs and browse/search favorites. - Global keyboard shortcut to toggle the app. - Drag and drop a GIF into any app. - Copy a GIF to the clipboard. - Launch the app at login. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Why the name “Jiffy”? Some people incorrectly pronounce GIF as “Jif”. The name is a pun on that. Also, “Jiffy” means to do something fast, which is what the app is all about. ================================================ FILE: source/content/apps/lungo.md ================================================ --- title: Lungo subtitle: Prevent your Mac from going to sleep pubDate: 2017-07-26 platforms: - macOS isPaid: true isMenuBarApp: true #hasSentry: true appStoreId: 1263070803 setappId: 270 olderMacOSVersions: - '10.13' - '10.14' - '10.15' - '11' - '12' - '13' - '14' --- Lungo prevents your Mac from falling asleep and your screen from dimming. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Lungo did not keep my computer awake - If you have the “Allow display to sleep while keeping computer awake” setting enabled, the computer is still awake even if it looks like it's sleeping because the screen is off. - If you close the lid (clamshell mode), Lungo is only able to keep your Mac awake if it's connected to a charger and an external display. This is a macOS limitation. - If you have the “Pause while screen is locked” setting enabled, you may have locked the screen before leaving it, which would cause Lungo to not keep your computer awake. - If you have the “Deactivate when switching to battery” setting enabled and you disconnect the power adapter, Lungo would not keep your computer awake. You might have accidentally unplugged it or there might have been a power failure. - If you have set a sleep schedule in “System Settings › Battery › Schedule”, it will take priority over Lungo. This is out of Lungo's control. - If you have set the computer to log out after a certain amount of time in “System Settings › Privacy & Security › Advanced”, it will take priority over Lungo. This is out of Lungo's control. - If you see apps open again when you wake up your computer, it means your computer was restarted for some reason. Lungo cannot keep your computer from restarting. Some common reasons it may have restarted are a power outage, macOS crash, or scheduled shutdown/restart (in Battery system settings). + You can [check how long your computer has been awake and when it was last rebooted](https://www.macobserver.com/tips/quick-tip/mac-system-uptime-terminal/) to narrow down the problem. You can also check when the computer was last logged in by typing the command `last` in the Terminal app. Some things you could try: - Make sure you are on the latest macOS and Lungo versions. - [Reset NVRAM](https://support.apple.com/en-us/HT204063) - [Reset SMC](https://support.apple.com/en-us/HT201295) #### Does it work when the lid is closed? {#lid-closed} No, that’s not allowed for apps on the App Store, for good reasons. Imagine you activate it while your computer is doing a heavy task and then put the laptop in your bag. Your laptop could easily overheat. The exception to this is if it's connected to a charger and an external display. However, if you want this, there are some solutions [here](https://apple.stackexchange.com/questions/2389/is-there-any-way-to-set-a-macbook-pro-to-not-sleep-when-you-close-the-lid?rq=1). #### Does Lungo keep my Mac awake even if there is a scheduled sleep? If you have set a sleep schedule in “System Settings › Battery › Schedule”, it will take priority over Lungo. This is out of Lungo's control. #### Can I left-click the icon to toggle it like with Caffeine? Yes, choose “Activate on Left-click” in the settings. #### Can Lungo automatically activate when I open a certain app? I don't plan to support this. It's a lot of work to implement and only a few people have requested it. However, you can achieve it using the Shortcuts app. Create a new shortcut with the “Set Enabled State” action provided by Lungo. On macOS 26, you can use Shortcuts automations to run the shortcut when a certain app opens. On older macOS versions, you can use the [Shortery app](https://apps.apple.com/us/app/shortery/id1594183810?mt=12) for this. You could also use BetterTouchTool or Keyboard Maestro instead of Shortery. #### Can Lungo automatically activate on a set schedule? I don't plan to do this built-in, but you can achieve it with Shortcuts automations on macOS 26, or with [Shortery](https://apps.apple.com/us/app/shortery/id1594183810?mt=12) on older macOS versions. Shortery has a “Time” trigger. #### Can Lungo automatically activate when I switch to a specific focus mode? I don't plan to do this built-in, but you can achieve it with Shortcuts automations on macOS 26, or with [Shortery](https://apps.apple.com/us/app/shortery/id1594183810?mt=12) on older macOS versions. Shortery has a “Focus Mode” trigger. #### How can I make Lungo be activated until a specific time? This is not supported built-in, but you can use the Shortcuts app to achieve it. Get [this shortcut](https://www.icloud.com/shortcuts/9aa69e6db4ba48289e59214d10a405b2) and either pin it to the menu bar or add a global keyboard shortcut to trigger it. You could also use Raycast, BetterTouchTool, or Keyboard Maestro to trigger it. #### Can I use a custom duration? {#custom-duration} Lungo comes with a set of commonly used durations, which should be enough for most users. People love Lungo for its simplicity. Not having custom times also helps prevent decision fatigue. Lungo has tens of thousands of users and only a few people have requested support for custom durations. However, power users can take advantage of the Shortcuts app to use custom durations. Drag the “Set Enabled State” Lungo action into the shortcut editor in the Shortcuts app. Click “Show more” and then choose a custom duration. You can pin the shortcut workflow to the menu bar for easy access or set a global keyboard shortcut for it. #### Can it keep my status on Slack, Microsoft Teams, etc, show as active? No, that's not the purpose of this app. Different apps use different techniques for detecting active status, which could change at any time. #### How can I transfer my settings from the App Store version to the Setapp version? Run this command in the Terminal app: ```sh defaults export com.sindresorhus.Lungo - | defaults import com.sindresorhus.Lungo-setapp - ``` And to transfer the other way: ```sh defaults export com.sindresorhus.Lungo-setapp - | defaults import com.sindresorhus.Lungo - ``` #### Can you localize the app into my language? I don't plan to localize the app. #### How is it different from Amphetamine? Amphetamine has lots of features. Most of which I would never use. It ships with a myriad of menu bar icons to choose from, but none that looks good. With Lungo, I wanted a focused and simple app with great defaults. ## Scripting You can control Lungo using anything that supports opening a URL with a custom scheme. *Lungo also comes with support for Shortcuts.* > [!TIP] > You can [run shortcuts from the command-line](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac). ### Integrations - [lungo-cli](https://github.com/sindresorhus/lungo-cli) - Command-line tool. - [Raycast commands](https://github.com/raycast/script-commands/tree/master/commands#lungo) - Note: Raycast commands are not the same as plugins. [How to install commands.](https://github.com/raycast/script-commands#install-script-commands-from-this-repository) ### Custom URL scheme For example, to activate Lungo for 10 minutes, run this terminal command: ```sh open --background 'lungo:activate?minutes=10' ``` #### Commands - `activate` - `deactivate` - `toggle` The `activate` and `toggle` commands support the parameters `hours` and `minutes`, which can be used together or individually. If you don't specify a duration, it will use the default duration you have set in Lungo. *(Use [`lungo-cli`](https://github.com/sindresorhus/lungo-cli) if you need to get the active state)* #### Examples ##### Shell ```sh # Deactivate Lungo open --background 'lungo:deactivate' # Activate Lungo for 1 hour and 30 minutes open --background 'lungo:activate?hours=1&minutes=30' # Activate Lungo for 1 hour and 30 minutes (Alternative) open --background 'lungo:activate?hours=1.5' # Toggle Lungo with the default duration open --background 'lungo:toggle' # Toggle Lungo for 10 minutes open --background 'lungo:toggle?minutes=10' ``` ##### Node.js ```js import {execFileSync} from 'node:child_process'; execFileSync('open', ['--background', 'lungo:toggle']); ``` ##### Swift ```swift import Cocoa let command = "lungo:toggle" let configuration = NSWorkspace.OpenConfiguration() configuration.activates = false NSWorkspace.shared.open(URL(string: command)!, configuration: configuration) ``` ##### AppleScript ```applescript do shell script "open --background 'lungo:toggle'" ``` ##### Python ```python import subprocess subprocess.run(['open', '--background', 'lungo:toggle']) ``` ## Older Versions - [2.6.0](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/Lungo.2.6.0.-.macOS.14.zip) for macOS 14 - [2.4.2](https://github.com/sindresorhus/meta/files/14276605/Lungo.2.4.2.-.macOS.13.zip) for macOS 13 - [2.2.2](https://github.com/sindresorhus/meta/files/11292407/Lungo.2.2.2.-.macOS.12.zip) for macOS 12 - [2.0.4](https://github.com/sindresorhus/meta/files/8870132/Lungo.2.0.4.-.macOS.11.zip) for macOS 11 - [1.9.0](https://github.com/sindresorhus/meta/files/7404362/Lungo.1.9.0.-.macOS.10.15.zip) for macOS 10.15 - [1.7.0](https://github.com/sindresorhus/meta/files/5507155/Lungo-1-7-0.zip) for macOS 10.14 - [1.6.0](https://github.com/sindresorhus/meta/files/4556911/Lungo-1.6.0-High-Sierra.zip) for macOS 10.13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/memo-widget.md ================================================ --- title: Memo Widget subtitle: Sticky notes on your Home Screen, Lock Screen, and desktop pubDate: 2023-12-16 platforms: - macOS - iOS - visionOS isPaid: true appStoreId: 6465682248 --- The app provides widgets that act like sticky notes. Show them on your Home Screen, Lock Screen, StandBy, or desktop. The app is simple by design. For macOS, it's only available for Apple silicon Macs running macOS 26 or later. ## Frequently Asked Questions {#faq} #### How do I add the widget? - [iOS](https://support.apple.com/HT207122) - [macOS](https://support.apple.com/guide/mac-help/mchl52be5da5/mac) #### The widget does not show up in the widget picker, the widget is stuck, or is missing from the Home Screen The iOS widget system is quite buggy and can fail a lot. This is not a problem with the app and out of my control. [Try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### Can you add more features and settings? I'm happy to consider it, but I also want to keep the app simple. Check out my [Any Text app](/any-text), which has a lot more features. #### Can you add a text size setting? The text size is large for short text but scales down to make the text fit. I don't want to complicate it with a text size setting. If you really need it, check out [Any Text](/any-text). #### Can you add a text color setting? Same answer as the above. #### Can I edit text directly in the widget? No. Widgets cannot have interactivity like that. This is a macOS/iOS limitation. #### How is this different from the built-in Stickies app on macOS? {#stickies} The Stickies app is a normal app and has to either float on top of everything or it has to be manually brought to the front when needed. Memo Widget always lives on your desktop or in the Notification Center, just a [gesture away](https://www.howtogeek.com/678073/how-to-quickly-show-your-desktop-on-mac/). The Stickies app also takes up space in your Dock. The Stickies app supports formatting, while Memo Widget keeps it simple with just plain text. #### Can I make the widget horizontally centered on the Lock Screen? This is unfortunately not possible. Apple has decided that the rectangular widget can only appear on the left or right side. #### Can I pick a color for the text on the Lock Screen? Lock Screen widgets cannot have colors. You can set a custom text color for the normal widgets though. #### Can I pick a background color for the Lock Screen widgets? Same answer as the above. #### The widget does not update if I write some text in the app and then reveal the Lock Screen You need to first close the app. This is an iOS bug. If you work at Apple → [FB11522275](https://github.com/feedback-assistant/reports/issues/360) #### The widget does not update even if I do the above The app tells iOS to update the widget, unfortunately, iOS can decide to delay an update for various reasons (low battery, low-power mode, etc). This is completely out of my control. #### The Lock Screen widget does not show the text after restarting the device, before unlocking it This is an iOS limitation and is out of my control. It shows a placeholder until the first unlock. This is how all Lock Screen widgets work. #### Can you add actions for Shortcuts? I don't plan to add this. Check out my [Any Text app](/any-text), which has this. #### Can you make the widget background transparent? This is not possible. #### Can you support syncing the widget with iCloud? Currently, there are no plans to integrate iCloud syncing due to its complexity and the potential for increased support queries. #### How is this different from your [Any Text](/any-text) app? Any Text has a lot of features and is very flexible. With this app, I wanted to make something simple and focused. ================================================ FILE: source/content/apps/menu-bar-calendar.md ================================================ --- title: Menu Bar Calendar subtitle: A monthly calendar, one click away pubDate: 2023-08-31 platforms: - macOS isMenuBarApp: true appStoreId: 1558360383 olderMacOSVersions: - '13' - '14' - '15' --- Quickly access a monthly calendar from your menu bar. Clicking dates and creating events can open either in the Calendar app or Google Calendar. The app is intentionally simple. Check out [Dato](/dato) for more features and settings. The calendar displays dates and days in your language, but the rest of the app is in English. ## Tips - **Go to today (current month):** Click the month name or press the space key. - **Switch months:** Press arrow keys or swipe horizontally on the calendar. - **Switch years:** While holding the option key, click the `‹` / `›` button, press arrow keys, or swipe horizontally on the calendar. - **Close calendar window:** Press the esc key. - **Open date in the Calendar app (or Google Calendar):** Click a date in the calendar. - **Open week in the Calendar app (or Google Calendar):** Click a week number in the calendar. - **Go to a specific date:** Right-click the month name or press G. - **Create new event on a specific day:** Right-click the day in the calendar. - **Copy the date for a day in the calendar:** Right-click the day in the calendar. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Does it show calendar events? No. That is outside the scope of the app. My [Today](/today) (free) and [Dato](/dato) (paid) apps have that. #### Does it support highlighting certain days of the week? No. Check out my [Dato](/dato) app for that. The app does support dimming the weekend though. #### Does it include widgets? No. Check out my [Dato](/dato) app for that. #### Does it support showing a time in the menu bar with a custom format? No. Check out my [Dato](/dato) app for that. #### Does it have a 3-month view? No. #### Why does it not show week 53? You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar). You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### Why does it show the last days of December as week 1? That is called [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date). #### It shows the incorrect week number You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar), or the inverse. You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### How can I change the week number to [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) format? Change [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### Can it open Zoho Calendar instead of Apple/Google Calendar? {#zoho} No. Zoho Calendar does not support opening to a specific date via URL, so this integration is not possible. You can, however, [sync your Zoho Calendar to the macOS Calendar app](https://www.zoho.com/calendar/help/setup-caldav-sync.html) and then use the “Show in Calendar” click action. #### How can I open Google Calendar in a specific browser? Use my [Velja app](https://sindresorhus.com/velja). You can create a rule to open any link clicked in this app in your chosen browser. #### How can I scroll to switch months? You can swipe horizontally to switch months. If you don't have a trackpad, there are [apps](https://mybyways.com/blog/configure-a-mouse-for-macos-trackpad-like-gestures) that let you make scrolling trigger swipe. #### Can you localize the app into my language? I do not plan to localize the app. #### Why is this free without ads? I just enjoy making apps. I earn money on other apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.6.2](https://www.dropbox.com/scl/fi/cta1rtf4fe7w68m6id7jc/Menu-Bar-Calendar-1.6.2-macOS-15-1774301589.zip?rlkey=wqdq2zmtxgn2lcppf6za2js4f&raw=1) for macOS 15+ - [1.4.1](https://www.dropbox.com/scl/fi/ldlznw1f2oo04i6j2hcnt/Menu-Bar-Calendar-1.4.1-macOS-14-1737700069.zip?rlkey=arklgyyq4k9dcodg1sq1us65n&raw=1) for macOS 14+ - [1.2.0](https://github.com/sindresorhus/meta/files/13922546/Menu.Bar.Calendar.1.2.0.-.macOS.13.zip) for macOS 13+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/6wtr1k8hqdz4d9rdkghx8/Menu-Bar-Calendar-1.7.0-1774301016.zip?rlkey=a3r8lwsja7da9v3tb9t5ecq4y&raw=1) *(1.7.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/menu-bar-spacing.md ================================================ --- title: Menu Bar Spacing subtitle: Customize the gap between menu bar items pubDate: 2024-07-09 platforms: - macOS mainLinks: 'Download': https://github.com/sindresorhus/menu-bar-spacing-meta/releases/latest/download/Menu.Bar.Spacing.zip requirement: Free · Requires macOS 26 or later olderMacOSVersions: - '14' - '15' --- Menu bar apps are awesome, but MacBooks have limited menu bar space. This app helps you reclaim that space by reducing the gap between menu bar items. With a single run, the app applies changes permanently, allowing you to fit more apps into the menu bar. Reverting the changes is just as simple, done within the app. If you have a large display, the app can also increase the gap between menu bar items. > [!WARNING] > Because of a [macOS 26 bug](https://github.com/feedback-assistant/reports/issues/679), third-party menu bar apps need to be relaunched before they show the correct spacing. The app includes a Shortcuts action, enabling automated spacing adjustments for various scenarios. **The app only needs to be run once to set the spacing and can then be uninstalled. The settings persist.** This app can potentially replace Bartender/Ice for some users. It also lets you fit more of my [menu bar apps](/apps/menu-bar) in your menu bar. ![Download count](https://img.shields.io/github/downloads/sindresorhus/menu-bar-spacing-meta/total?color=3e65d0)
    > [!TIP] > You may also like my [Spaced](/spaced) app for grouping menu bar items. ## Frequently Asked Questions {#faq} #### I can already do this from the command-line, why should I use this app? This app makes it simpler and it also makes it possible to see the changes without having to restart your computer first. #### Is it dangerous? No. The changes are easily reversible in the app. #### Do I need to keep the app running? No. You only need to run the app once to apply the changes. #### Is this a replacement for Bartender or Ice? It depends on your needs. If you primarily use those apps to fit more items in the menu bar, this app is a good alternative. #### Can it change the spacing of the left side of the menu bar? No, this is not possible. #### iStat Menus disappeared when I moved the slider Menu Bar Spacing needs to relaunch all menu bar items for changes to take effect. iStat Menus may take a while to relaunch. If it doesn't reappear, try moving the slider again. Restarting your computer will definitely fix it. #### Can you add more features? No. This app is intentionally simple and focused. #### Can it have per-app configurations? No. It applies globally only. #### Can I have different spacing for when I'm using the built-in display and when using a connected larger display? No, not in the app. However, the app comes with an action for Shortcuts, so you could automate it. Create a shortcut for each display that uses the “Set Menu Bar Spacing” action. On macOS 26, you can use Shortcuts automations. On older macOS versions, you can create a “Monitor” trigger in the [Shortery](https://apps.apple.com/app/id1594183810) app. > [!NOTE] > The setting is global. Changing it will interrupt any ongoing screen recording or sharing, as it restarts some system processes to apply changes immediately. #### Why is this not on the App Store? The app works by changing hidden system settings, which is not allowed on the App Store. ## Older Versions - [1.1.0](https://www.dropbox.com/scl/fi/oicszj1rvnivv0wzqtsi0/Menu-Bar-Spacing-1.1.0-macOS-15-1771443121.zip?rlkey=5v0diy5fwpiut9lysc65ij333&raw=1) for macOS 15+ - [1.0.1](https://github.com/user-attachments/files/18203513/Menu.Bar.Spacing.1.0.1.zip) for macOS 14+ ================================================ FILE: source/content/apps/menu-drop.md ================================================ --- title: Menu Drop subtitle: Quick AirDrop sharing in your menu bar pubDate: 2025-10-17 platforms: - macOS isMenuBarApp: true appStoreId: 6754022187 olderMacOSVersions: - '15' # feedbackNote: | # [The app randomly disappears/quits](/apps/faq#randomly-quits) --- AirDrop files and folders simply by dragging them onto the app's menu bar icon. You can also share directly from your clipboard or use the built-in file picker, both with customizable keyboard shortcuts. *Requires macOS 26 or later* #### Privacy The app is built without internet permissions (no network entitlement), so macOS prevents it from connecting to the internet even if it wanted to. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can it send directly to a specific device without showing the picker? No. Apple doesn’t expose any way to preselect an AirDrop target. You must choose a device in the AirDrop picker. #### Why doesn’t my iPhone/iPad/Mac show up as a target? AirDrop device discovery is up to the system. Ensure AirDrop is enabled, both devices are unlocked/awake, and are on compatible settings (Contacts Only/Everyone for 10 Minutes). #### AirDrop is not working This just triggers the AirDrop picker with the dragged files. It has no control over how AirDrop works. #### Why use this instead of AirDrop in the Share popover? Speed. Drag straight to the menu bar. #### Can you add a menu item or keyboard shortcut to share the current Finder selection with AirDrop? No. App Store limits (sandboxing) prevent the app from knowing what you’ve selected in Finder. My [Supercharge](/supercharge) app has a [Finder context menu item](https://www.dropbox.com/scl/fi/gc760wtbraxtgtq3gsrd3/AirDrop-Finder-context-menu-item-Screen-Shot-2025-11-19-at-00.23.31-1763486630.png?rlkey=4qleot753u1cc8xzez26afj0x&raw=1) to send selected files directly to AirDrop. ## Older Versions - [0.9.0](https://www.dropbox.com/scl/fi/lpb25nc13acyvup0px1rz/Menu-Drop-0.9.0-macOS-15-1760766492.zip?rlkey=yavo3yew2387xmehp69m6wo3m&raw=1) for macOS 15+ ## Non-App Store Version A special macOS version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/2f4gtf7nau0rhrthxwmpl/Menu-Drop-1.0.1-1760766251.zip?rlkey=wedsedjf0v97dpw034by2vtbw&raw=1) *(1.0.1 · macOS 26+)* ================================================ FILE: source/content/apps/one-task.md ================================================ --- title: One Task subtitle: Conquer one task at a time pubDate: 2023-09-19 isPaid: true appStoreId: 6465745322 platforms: - macOS - iOS - visionOS - watchOS olderMacOSVersions: - '14' - '15' --- Show a single task on your Home Screen, Lock Screen, or desktop. Add some tasks to the app and then add the widget. Simply tap the widget to mark the task as completed. The next task will then appear. The simplicity is a feature. The app will not have things like folders, tags, priority, notes, etc. The optimal workflow in One Task is to add only the tasks you're committed to completing today. The app is designed for task completion, not endless organization and neglect. It syncs tasks over iCloud. Note that the macOS version has an issue where it doesn't sync while being the active window (macOS bug). It's a [Universal Purchase](/apps/faq#universal-purchase).
    > You can achieve almost anything in life — as long as you focus on achieving one thing at a time. It’s a time-tested strategy that’s been shared by many successful people. — [https://dariusforoux.com/one-thing/](https://dariusforoux.com/one-thing/)
    ## Tips ### Import tasks from other todo apps You can quickly import tasks from other todo apps by copying the tasks from such apps into One Task with the “Tasks: Paste” button. For example, on macOS, select the tasks you want in Reminders or Things, right-click and copy them, and then paste them into One Task using the “Tasks: Paste” button. ## Frequently Asked Questions {#faq} #### How is this different from your [One Thing](/one-thing) app? {#one-thing-difference} One Thing is a minimalist note app that sits in the menu bar, displaying a single piece of text like a sticky note. In contrast, One Task is a task management tool that lets you queue multiple tasks, check them off upon completion, and view them one at a time, with a strong emphasis on widgets. While both apps share a focus on simplicity, One Thing is designed for quick, single-note access, whereas One Task is geared towards managing multiple tasks with a more structured approach, similar to the difference between the Notes app and Reminders app. #### iCloud syncing does not work [Troubleshooting.](/apps/faq#icloud-sync) Known issue: - Because of a macOS bug, the macOS app does not sync with iCloud while it's focused. #### How can I edit an item? Swipe right on the item. On macOS, you can also right-click the item. #### Does the app integrate with other todo apps? No, One Task deliberately avoids automatic integration with other todo apps. Most todo apps encourage task hoarding, leading to overwhelm and inaction. One Task focuses on actionable items you commit to completing within the day. Manually select your highest-priority tasks and add them to One Task for focused execution. #### Does the app support recurring tasks? {#recurring-tasks} No. I want to keep this app super simple. However, you can achieve this using the Shortcuts app. Create a [shortcut](https://support.apple.com/guide/shortcuts/welcome/ios) that uses the “Add Task” action to add the tasks you want to be recurring. Then create an [automation](https://support.apple.com/guide/shortcuts/apdfbdbd7123/7.0/ios/17.0) to run the shortcut at a certain interval. For example, every morning. #### Does the app support task templates? {#task-templates} No, but you can achieve this using the Shortcuts app. Modify [this shortcut](https://www.icloud.com/shortcuts/51edae78b820457a89d12715a053fac6) and run it every time you want to apply the template tasks. You could even add the shortcut to the Home Screen. #### Why doesn't the app have folders, tags, or priorities? One Task is designed for action, not endless categorization. It omits features like folders, tags, and priorities to eliminate distractions and decision fatigue. The app's core functionality is to help you commit to and complete tasks today. #### How can I turn off iCloud syncing? {#turn-off-sync} - **macOS:** Go to “System Settings › Apple Account › iCloud › Saved to iCloud” and turn off One Task. - **iOS:** Go to “Settings › Apple Account › iCloud › Saved to iCloud” and turn off One Task. It will erase your existing items, so you may want to first back them up with “Tasks: Copy” in the app. #### Can you add a widget setting to choose background color? I don't plan to add this. I want to keep the app super simple. #### Can you make the widget background transparent? This is not possible. #### The text in the widget is quite large The text automatically scales down to fit more content. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.6.1](https://www.dropbox.com/scl/fi/pw69xu9uuzhso36bpxobt/One-Task-1.6.1-macOS-15-1774212569.zip?rlkey=8qiv99b2xuhbl7emqfseesyf3&raw=1) for macOS 15 - [1.5.4](https://github.com/user-attachments/files/18549490/One.Task.1.5.4.-.macOS.14.zip) for macOS 14 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/one-thing.md ================================================ --- title: One Thing subtitle: Put a single task or goal in your menu bar pubDate: 2022-01-12 platforms: - macOS isMenuBarApp: true appStoreId: 1604176982 olderMacOSVersions: - '12' - '13' - '14' - '15' --- This can be a useful tool to help you focus on a single task. Some examples of what you could write: - Eat more healthily - Exercise - Reply to Sara's email - Be happy - Stop procrastinating - Finish the 🦄 project - Important meeting today However, what you use this space for is really up to you.
    > You can achieve almost anything in life — as long as you focus on achieving one thing at a time. It’s a time-tested strategy that’s been shared by many successful people. — [https://dariusforoux.com/one-thing/](https://dariusforoux.com/one-thing/)
    > [!TIP] > You may also like my [Any Text](/any-text) and [One Task](/one-task) apps.
    ### Mentions - [10 Mac Apps That Will Change How You Use macOS](https://www.youtube.com/watch?v=LtuUwACZdsQ&t=108s) ## Tips - Press return/esc or click the menu bar item to close the edit window. - Click the menu bar item while pressing shift to clear the text. - Right-click the menu bar item to be able to quit the app quickly. - If the menu bar item text is truncated, hover over it to see the full text in a tooltip. - You can use [Markdown](https://www.markdownguide.org/basic-syntax/#emphasis) to [style the text](https://x.com/sindresorhus/status/1481818533294407680) (supports bold, italic, and strikethrough) and add links. - You can [drag & drop text](https://x.com/sindresorhus/status/1481862243755376642) onto the menu bar item to set it. For example, you could drag a todo item from the Reminders app or Things. - Select some text in any app, right-click, select “Services”, and click “Send to One Thing” to set One Thing to the selected text. You can also use the “Share” menu item if the app supports that. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### The menu bar item has disappeared! macOS hides menu bar items that do not fit. [Click here](one-thing:?text=) to reset the text. #### I made the text too long and now the menu bar item is hidden [Click here](one-thing:?text=) to reset the text. #### How is this different from your [One Task](/one-task) app? {#one-task-difference} See [this answer](/one-task#one-thing-difference). #### Can I execute an action when I click the text? You can add a [link using Markdown](https://www.markdownguide.org/basic-syntax/#links). #### What if I have two things? The point is to focus on one thing at a time. [Humans work best this way.](https://dariusforoux.com/one-thing/) However, nothing is stopping you from writing two things, for example, with a `·` character in-between. #### Can I have two instances of One Thing running at the same time? {#one-thing2} I have made a special version of One Thing with a different identifier. You can run this together with the App Store version. It also has separate Shortcuts actions and URL scheme: `one-thing2:`. This version will not receive updates. [Download](https://www.dropbox.com/scl/fi/pn3k0r6edea21my7beqz3/One-Thing-2-1.11.0-1684349283-1701610241.zip?rlkey=qgv6rmx9bitjki4xbh05tn2ty&raw=1) #### How can I show the next task in the “Today” list in [Things](https://culturedcode.com/things/) in One Thing? {#things} You can use the Shortcuts app for this. Here is an [example shortcut](https://www.icloud.com/shortcuts/7f8a4cc8764348518c5b7774d60191cc) that sets the next todo in “Today” as the text in One Thing. To have the shown todo stay in sync with Things, you can use the shortcut with an automation trigger. On macOS 26, you can use Shortcuts automations. On older macOS versions, you can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app. Choose the “Application” trigger type and make it trigger when Things becomes “Inactive”. Alternatively, place the shortcut in the menu bar and run it manually, or use [Short Run](/short-run). #### How can I show the upcoming reminder from the Reminders app in One Thing? {#reminders} You can use the Shortcuts app for this. Here is an [example shortcut](https://www.icloud.com/shortcuts/4bed5f56a0f94e9a9e9ba05c97c6e64b). To have the shown todo stay in sync with Reminders, you can use the shortcut with an automation trigger. On macOS 26, you can use Shortcuts automations. On older macOS versions, you can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app. Choose the “Application” trigger type and make it trigger when Reminders becomes “Inactive”. Alternatively, place the shortcut in the menu bar and run it manually, or use [Short Run](/short-run). #### How can I show a todo from my favorite todo app in One Thing? Do something similar to the above answer. #### How can I show a random quote in the menu bar? {#quote} You can use the Shortcuts app for this. Here is an [example shortcut](https://www.icloud.com/shortcuts/35d88a7b56154893bd2e28e3988410f1). Shortcuts does not yet support automation, so you have to use the time trigger in the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app to run the shortcut at a certain interval to change the quotes. macOS 26 supports automations in Shortcuts, so you don't need Shortery there. #### How can I put spacing on the sides of the text? You can add some horizontal padding around the text by adding multiple spaces to the “Prefix” and “Suffix” settings. #### How can I show different text for each day of the week? You can use the macOS Shortcuts app for this. Make a shortcut for each piece of text you want to be shown by using the “Set Text” action provided by One Thing. You can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app to schedule these shortcuts to run at the specific days. macOS 26 supports automations in Shortcuts, so you don't need Shortery there. #### Can you add iOS / watchOS support? I plan to do it if the app takes off. So tell your friends. #### How can I export, import, sync, or back up the settings? [See this guide.](https://github.com/sindresorhus/guides/blob/main/backup-app-settings.md) #### Is the app native? Yes, it's native and written in Swift and SwiftUI. #### Why is this free without ads? I just enjoy making Mac apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app. ## Scripting The app can be automated using the Shortcuts app or with a custom URL scheme. More integrations: - [Command-line tool](https://github.com/sindresorhus/one-thing) - [Node.js API](https://github.com/sindresorhus/one-thing) - [Raycast commands](https://github.com/raycast/script-commands/tree/master/commands#one-thing) - Note: Raycast commands are not the same as plugins. [How to install commands.](https://github.com/raycast/script-commands#install-script-commands-from-this-repository) ### Shortcuts app - [Example shortcut](https://www.icloud.com/shortcuts/381619f1c8404770ad020d439a48fd9c) - [Shortcuts usage guide](https://www.xda-developers.com/guide-shortcuts-macos/) - [How to run shortcuts from the command-line](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac) **Examples** - [Reminders app: Show latest due reminder](https://www.icloud.com/shortcuts/5d3e63030877471697dd0023fefc4819) - [Things app: Show the first todo in the “Today” list](#things) ### Custom URL scheme The menu bar item text can be set from any tool that can open an URL. This includes a website, Bash, Node.js, Python, Swift, etc. For example, in your terminal: ```sh open --background 'one-thing:?text=Exercise' ``` *Don't forget to [URL encode](https://www.urlencoder.org) the value for the `text=` search parameter. For example, using [this](https://gist.github.com/cdown/1163649) Bash function.* There is no way to get the text using the URL scheme, but if you are in the terminal, you can run this command: ```sh defaults read com.sindresorhus.One-Thing text ``` ## Older Versions - [1.13.2](https://www.dropbox.com/scl/fi/s092qpp3p5s77gnjsyty3/One-Thing-1.13.2-macOS-15-1770923231.zip?rlkey=big014nrx8xrw4mwfnxwxbmxy&raw=1) for macOS 15+ - [1.12.2](https://github.com/user-attachments/files/19145029/One.Thing.1.12.2.-.macOS.14.zip) for macOS 14+ - [1.11.3](https://github.com/sindresorhus/meta/files/14759175/One.Thing.1.11.3.-.macOS.13.zip) for macOS 13+ - [1.9.0](https://github.com/sindresorhus/meta/files/11081660/One.Thing.1.9.0.-.macOS.12.zip) for macOS 12+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/tkbtoewq4jpaytzyudrcs/One-Thing-2.0.0-1770922762.zip?rlkey=r0ggwqp4c5vus4xh2k8m19wr7&raw=1) *(2.0.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/online-check.md ================================================ --- title: Online Check subtitle: Online status in your menu bar pubDate: 2024-06-23 platforms: - macOS isMenuBarApp: true isPaid: true appStoreId: 6504709660 olderMacOSVersions: - '14' - '15' --- Check if you are online directly from the menu bar. The menu bar icon turns red when you are offline, and the app can optionally show a notification. Unlike just checking if Wi-Fi is connected, the app verifies actual internet connectivity through network tests. ## Tips #### Connect to other Wi-Fi when status is offline You can have the app connect to a different Wi-Fi if the current one becomes offline. Add [this shortcut](https://www.icloud.com/shortcuts/bf64ec8fd3d24f80b2af845464306614) to the Shortcuts app and edit the required information. Then select this shortcut in the Online Check settings. #### Restart Wi-Fi when status is offline You could also restart the Wi-Fi when it becomes offline. Add [this shortcut](https://www.icloud.com/shortcuts/8bbe914b13ff4f3ab9f063e835c92747). ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### How is it different from just checking whether the Wi-Fi is connected? A Wi-Fi connection only means you are connected to a network. The app verifies internet access by connecting to “apple.com” or “cloudflare.com”, ensuring you're truly online. #### The app shows that I'm offline even though I'm not - Ensure network requests from the app to “apple.com” and “cloudflare.com” are not blocked. These domains are used to verify your online status. #### How can I run this only when not connected to certain networks? Create a shortcut in the Shortcuts app to launch and quit this app. On macOS 26, you can use Shortcuts automations to run the shortcut based on triggers. On older macOS versions, you can use the [Shortery](https://apps.apple.com/app/id1594183810) app. Set up a “Wi-Fi” trigger in Shortery to run the shortcut based on your Wi-Fi connection status. This allows the app to launch or quit when connecting to or disconnecting from specific Wi-Fi networks. #### How does it work? Every 20 seconds and anytime the network changes, it sends a HEAD request to “apple.com”. If that fails, it sends a HEAD request to “cloudflare.com”. If both requests fail, it considers the internet to be offline. #### Can you make the history persistent? It's something I'm considering. #### Can you make the menu bar icon green when online? {#green-icon} No. Menu bar icons are intended to be mostly monotone, changing color only to indicate critical states. For example, the battery icon turns red when low but stays monochrome when full. Showing green also isn't that useful as you can assume it's connected when not red, and having a constant green color there could be distracting. ## Older Versions - [1.5.0](https://www.dropbox.com/scl/fi/jj4d0jqg9vjvxi75ojigb/Online-Check-1.5.0-macOS-15-1772136482.zip?rlkey=vty9ff9bcz2usxsrurls6tczf&raw=1) for macOS 15 - [1.3.0](https://github.com/user-attachments/files/19074059/Online.Check.1.3.0.-.macOS.14.zip) for macOS 14 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/pandan.md ================================================ --- title: Pandan subtitle: Time awareness in your menu bar pubDate: 2021-05-31 platforms: - macOS isMenuBarApp: true appStoreId: 1569600264 hasSentry: true olderMacOSVersions: - '11' - '12' - '13' - '14' - '15' feedbackNote: | [The app randomly disappears/quits](/apps/faq#randomly-quits) --- ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can you make the history be further back than 120 days? The history is intentionally limited. Pandan is about time awareness right now, not analyzing past behavior. If you need more stats and graphs, check out the system [Screen Time](https://support.apple.com/HT210387) feature. #### Can you make the app available on iOS too? This is unfortunately not possible as iOS does not let an app continuously check whether the user is idle. #### How can I play a custom sound as a notification? {#custom-notification-sound} Make a [shortcut](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) that uses the [`Play Sound` action](https://www.icloud.com/shortcuts/9cfae8edd2dd48f3bf318a3d825b1212) and then select that shortcut in the Pandan settings. If you have my [Dato app](https://sindresorhus.com/dato) installed (even the free trial), you could use one of the sounds it provides. Find the `Get Sound` action. [Example](https://www.icloud.com/shortcuts/2bf58f1c90134803a4765745f54794f6) #### How can I show an alert as a notification? {#alert-as-notification} Same as the above, but use the `Show Alert` action instead. You could also use the “Flash Screen” action from the [Actions app](https://github.com/sindresorhus/Actions) to momentarily flash the screen. #### How can I run multiple shortcuts as a notification? Pandan lets you run a single shortcut as a notification, but a shortcut can run other shortcuts. So make the shortcuts you want to run, make another shortcut that uses the “Run Shortcut” action to run the other shortcuts, and then select this shortcut in Pandan. #### Can you support iCloud sync? No. iCloud sync is unreliable and creates too many support issues, especially for a free app. #### How can I use this as an eye-break reminder? {#eye-break-reminder} Set Pandan to remind you to take a break. Make a shortcut in the Shortcuts app that uses the “Wait” action and set it to the wanted duration of the break. After this action, you can either add a “Play Sound” or “Show Alert” action to notify you when the break is done. Then select this shortcut in the Pandan settings. #### How can I disable Pandan while using certain apps? {#disable-for-certain-apps} You can use the Shortcuts app for this. Make a shortcut that uses the “Set Enabled State” action that Pandan provides. On macOS 26, you can use Shortcuts automations to run this shortcut when certain apps are active. On older macOS versions, you can use the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app. In the Shortery app, choose the “Application” trigger type, and then the “Active” or “Inactive” option. *Note that Pandan already disables itself when you are inactive.* #### How can I show the total active duration today as a countdown? {#countdown} Get [this shortcut](https://www.icloud.com/shortcuts/fdf0cd45fedb4290bfe14d84a394b601) (requires the [Actions](https://sindresorhus.com/actions) and [One Thing](https://sindresorhus.com/one-thing) apps) and select it in the Pandan settings. The countdown will update every time Pandan shows a notification. If you want the countdown to update more often, you can use Shortcuts automations on macOS 26, or the [Shortery](https://apps.apple.com/us/app/shortery/id1594183810) app on older macOS versions, and set up an interval trigger. #### How can I start a new session from the command-line? Make a [shortcut](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) that uses the `New Session` action and [run that shortcut from the command-line](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac). > [!TIP] > Shortcuts can be a bit slow sometimes. You can use this command to have it not wait for the shortcut to finish running: `(&>/dev/null shortcuts run ShortcutName &)` #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app. ## Scripting Pandan comes bundled with actions for the built-in Shortcuts app which you can use to automate Pandan. > [!TIP] > You can [run shortcuts from the command-line](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac). ### Use-cases {#shortcuts-use-cases} - [Play custom notification sound](#custom-notification-sound) - [Use Pandan as an eye break reminder](#eye-break-reminder) - [Show an alert as a notification](#alert-as-notification) - Flash the screen as a notification by using the “Flash Screen” action from the [Actions app](https://github.com/sindresorhus/Actions) - [Show a web page as a notification](https://www.icloud.com/shortcuts/0e3914da016b446dbf2fef7aa0341567) - [Lock the screen as a notification](https://www.icloud.com/shortcuts/a3aa4ba2640d4f1b97c85f498e9dd945) - [Invert the screen for 20 seconds](https://www.icloud.com/shortcuts/0710b22b12b74ec1bad0f28b327412fd) - [Make the screen gray for 20 seconds](https://www.icloud.com/shortcuts/dbdeea0a9a8b41749fa27f15cf3eb6c2) - [Show the total active duration today as a countdown](#countdown) *And you can combine these too.* ## Older Versions - [1.17.0](https://www.dropbox.com/scl/fi/fcejz5u34afpe9388ivw4/Pandan-1.17.0-macOS-15-1774711134.zip?rlkey=h07yv6twf0glm3u2gjdpkq78w&raw=1) for macOS 15+ - [1.16.0](https://github.com/user-attachments/files/19008473/Pandan.1.16.0.-.macOS.14.zip) for macOS 14+ - [1.15.0](https://github.com/sindresorhus/meta/files/14230031/Pandan.1.15.0.-.macOS.13.zip) for macOS 13+ - [1.13.2](https://github.com/sindresorhus/meta/files/11072195/Pandan.1.13.2.-.macOS.12.zip) for macOS 12+ - [1.9.1](https://github.com/sindresorhus/meta/files/8003835/Pandan.1.9.1.-.macOS.11.zip) for macOS 11+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/z38d9ejud0mid9tlvk6ax/Pandan-1.18.0-1774710864.zip?rlkey=p73ny62ik1yif3pru812akfzm&raw=1) *(1.18.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/pasteboard-viewer.md ================================================ --- title: Pasteboard Viewer subtitle: Inspect the system pasteboards pubDate: 2020-02-18 platforms: - macOS - iOS - visionOS repoUrl: https://github.com/sindresorhus/Pasteboard-Viewer appStoreId: 1499215709 links: 'Older Versions': https://github.com/sindresorhus/Pasteboard-Viewer#download olderMacOSVersions: - '10.15' - '11' - '12' - '13' - '14' - '15' --- ================================================ FILE: source/content/apps/photo-widget.md ================================================ --- title: Photo Widget subtitle: Photos on your home screen and desktop pubDate: 2020-09-22 platforms: - macOS - iOS - visionOS isPaid: true appStoreId: 1532588789 # links: # 'TestFlight': https://testflight.apple.com/join/ybGzYJ28 feedbackNote: | If you are seeing black/white widgets, this is an iOS bug. Possible workaround: - Restart your device. - Remove the widget and add it again. - Remove the app and download it again. It's unfortunate that this happens, but the widget system in iOS is very buggy. --- For macOS, it's only available for Apple silicon Macs. ## Frequently Asked Questions {#faq} #### The widget does not show up in the widget picker, the widget is stuck, or is missing from the Home Screen The iOS widget system is quite buggy and can fail a lot. This is not a problem with the app and out of my control. [Try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### I'm not seeing the new widget settings for showing date and album title Try adding a new widget. Sometimes existing widgets get stuck and don't receive new settings. This is an iOS bug and out of my control. #### Some widget settings are missing Same as the above. #### How do I add a widget to the home screen? When on the home screen, long-press on the background (not on any icons), press the top-left “+” button, and select “Photo Widget”. [Learn more.](https://support.apple.com/en-us/HT207122) #### How do I edit a widget? When on the home screen, long-press on the widget, and select “Edit Widget”. [Learn more.](https://support.apple.com/en-us/HT207122) #### Why is there no Lock Screen widget? Lock Screen widgets are monochrome-only and too small to properly display photos. #### Why can I only add 100 photos to the app? This is because of a technical limitation in the iOS widget system. Hopefully, it can be increased in the future. It should be enough for most users though. If you use the “Album” widget, there’s no limit to the number of photos. #### How can I hide the name of the app shown below the widget? This is not possible. App developers have no way to hide it. However, in iOS 18 you can hide the title for all apps and widgets. #### If I select an album in a widget, does it include new photos added to the album after I set it up? Yes. The widget fetches a list of all the photos in the album each time and picks a random one. #### Can I show an animated GIF in a widget? This is not possible. #### Why does my widget update more often than the interval I set or not as often? The interval is a suggestion to iOS, not a strict rule. iOS manages widget updates independently to optimize performance and battery life. It may refresh widgets more or less frequently based on various factors. Apps cannot control this behavior. #### How is this different from the built-in “Photos” widget? The built-in widget only shows photos from “Memories” and “Featured Photos” in your photo library. There is no way to customize it or pick the photos to be shown. #### Can you make the cropping prioritize faces? This is something I want to add, but it's more complicated than it sounds. Widgets have limited resources, and currently, it's not enough to do face detection. Apple works around that by having the face data already available, but this data is not available to third-party apps. Other photo widget apps solve this by letting the user pick the album in the app itself and then they do the face detection in the app upfront, however, that would require a rewrite of this app, which is not something I have time to do right now. #### When using the “Run Shortcut” action, why does tapping the widget first open the main app and then the Shortcuts app? This is because of iOS limitations. A widget can only open its own app when a user taps it. And the only way to run a shortcut is to open the Shortcuts app using a special URL. So when you tap the widget, the widget opens the main app, and the main app then opens the Shortcuts app. It's not a very good user experience, but only Apple can fix this. If you work at Apple, you know what to do: - [FB9745173](https://github.com/feedback-assistant/reports/issues/240) - [FB11516334](https://github.com/feedback-assistant/reports/issues/357) - [FB11516273](https://github.com/feedback-assistant/reports/issues/356) #### Why are the images in the widget not full quality? Widgets get very few system resources so it's not possible to load a high-resolution image. If you work at Apple, you know what to do: - [FB8832751](https://github.com/feedback-assistant/reports/issues/177) #### How can I select a people album? Apple does not let third-party apps access these albums. ================================================ FILE: source/content/apps/plain-text-editor.md ================================================ --- title: Plain Text Editor subtitle: Simple distraction-free notepad pubDate: 2022-10-25 platforms: - macOS - iOS - visionOS isPaid: true appStoreId: 1572202501 olderMacOSVersions: - '13' - '14' --- Simple text editor without any rich text nonsense. The simplicity is a feature. It won't handle your 1 million line log file, but it is a nice way to write down some ideas. It's a [Universal Purchase](/apps/faq#universal-purchase). *It only handles UTF-8 text files (meaning no UTF-16).* ## Frequently Asked Questions {#faq} #### How is the macOS version better than TextEdit? - Editor padding - Optimal line spacing and length - Word count - Hide the title bar - Translucent background - Window can stay on top - Force dark/light mode - Brain dump mode #### Spellchecking does not work This is a macOS bug. You can see the same problem in the built-in TextEdit app too. #### Can you add Markdown syntax highlighting? I don't plan to add that as I want to keep the app simple. I do plan to make a proper Markdown editor at some point, but that's not this app. #### Can you add a typewriter mode (centered text)? I don't plan to add that. #### The text sometimes jumps when I write fast This is a macOS bug. There is unfortunately nothing I can do about it. #### Does the app support window tabs on macOS? {#tabs} Yes. Click “View › Show Tab Bar” in the menu bar and then click the plus button in the window. You can also press Command+N if you have [tabs enabled for document apps](https://support.apple.com/guide/mac-help/mchla4695cce/mac). #### Can I keep it in the menu bar? No, that's not supported. However, you may be interested in my [Scratchpad](/scratchpad) app. #### What's the difference between Plain Text Editor and [Scratchpad](/scratchpad)? [Learn more](/scratchpad#plain-text-editor-comparison) #### How can I make the app preserve open documents when I quit on macOS? This is already how it works. Actually, it's how all document-based apps on macOS work. Make sure you don't have “System Settings › Desktop & Dock › Close windows when quitting an application” enabled. #### How can I make the app not open previously opened documents when I launch the app? Disable the setting mentioned above. #### I have enabled the translucent setting on the macOS app, why is the title bar not translucent? Making the title bar translucent is not supported by macOS. I'm hoping to find a workaround in the future. #### How does “brain dump mode” help with creativity? It helps you focus on the actual writing, instead of getting distracted with editing and nitpicking. [Learn more.](https://writingcooperative.com/how-the-brain-dump-method-can-boost-your-writing-output-881089bb897a) #### When I save a file using the popover in the title bar on macOS, it always appends `.txt` when I choose a different file extension This is a macOS bug. Instead, save the file from the “File” menu or by pressing Command+S. #### How can I toggle “Stay on Top” with a keyboard shortcut on macOS? The keyboard shortcut is listed in the “Window” menu in the menu bar. #### Can I open a text file directly from the command-line? Make a [shell alias](https://shapeshed.com/unix-alias/): ```sh alias pte="open -a 'Plain Text Editor'" ``` Usage: ```sh pte unicorn.txt ``` #### Can you add a text color setting? I don't plan to add that. It's not essential and I'm trying to keep the app simple. #### The text flickers a little bit when it wraps on a new line This is unfortunately a macOS bug and out of my control. #### The window size and position is not preserved For document-based apps, which this app is, window size and position are stored per document. macOS is in charge of persisting window size and position for apps, so this is not something the app controls. #### Why is there no way to print? {#print} The app is made using Apple's latest technologies (SwiftUI) and they have not added print support there yet. If you need to print, open the document in TextEdit instead. Sorry for the inconvenience. #### Why is it suddenly showing a scrollbar? You either have a system setting set to always show scrollbars or you have an external mouse connected. This is simply how macOS works. You can see the behavior in other text editing apps too. See the “Appearance › Show scroll bars” system setting. #### The “Check Spelling While Typing” setting in the context menu does not work This is unfortunately a macOS bug and not something I can fix. *If you work at Apple → [FB13607434](https://github.com/feedback-assistant/reports/issues/467)* #### Can you add line numbers? This is out of scope for this app. #### Can you add a setting to turn off line wrapping? This is out of scope for this app. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.5.1](https://github.com/user-attachments/files/18928644/Plain.Text.Editor.1.5.1.-.macOS.14.zip) for macOS 14+ - [1.3.2](https://github.com/sindresorhus/meta/files/14232390/Plain.Text.Editor.1.3.2.-.macOS.13.zip) for macOS 13+ These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/plash.md ================================================ --- title: Plash subtitle: Make any website your desktop wallpaper pubDate: 2020-01-09 platforms: - macOS isMenuBarApp: true appStoreId: 1494023538 hasSentry: true olderMacOSVersions: - '10.15' - '11' - '12' - '13' - '14' - '15' --- Plash enables you to have a highly dynamic desktop wallpaper. You could display your favorite news site, Facebook feed, or a random beautiful scenery photo. The use-cases are limitless. You could even set an animated GIF as wallpaper. You can even add multiple websites and easily switch between them. #### Use-cases - [**Bing Photo of the Day**](https://github.com/sindresorhus/plash-bing-photo-of-the-day) - **Calendar**\ For example, Google Calendar or Outlook 365. - **Personal stats**\ You could even make a custom website for this. - [**Random street view image**](https://randomstreetview.com/#slideshow) - **Animated GIF**\ Example: https://media3.giphy.com/media/xTiTnLmaxrlBHxsMMg/giphy.gif?cid=790b761121c10e72aca8bcfe50b030502b62a69ac7336782&rid=giphy.gif - [**Random color**](https://www.color.pizza) - **Build a custom website**\ You could build something quick and host it on [GitHub Pages](https://pages.github.com), [jsfiddle](https://jsfiddle.net), or [CodePen](https://codepen.io). [*Share your use-case*](https://github.com/sindresorhus/Plash/discussions/136) #### Features - Show a remote or local website - Interact with the website (“Browsing Mode”) - Automatically reload the website at a custom interval - Add multiple websites - Show the website on a different display - Invert website colors (fake dark mode) - Add custom CSS and JavaScript to the website - Lower the opacity - [Transparent background](https://github.com/sindresorhus/Plash/issues/1#issuecomment-573513816) - Automatically deactivate while on battery - Audio is muted - Single image will be aspect-filled to your screen - Hide menu bar icon - Shortcuts support - [Scriptable](#scripting) - [Share extension](#share-extension) ## Tips ### Browsing mode You can interact with the website by enabling “Browsing Mode”. When in this mode, you can right-click to be able to go back/forward, reload, and zoom in the page contents (the zoom level is saved). You can also pinch to magnify. This is different from zooming the page contents in that it will zoom in to a specific part of the page instead of just enlarging everything. Plash injects a CSS class named `plash-is-browsing-mode` on the `` element while browsing mode is active. You could use this class to customize the website for browsing mode. If clicking a link opens it in a new window, you can hold the Option key while clicking the link to open it in the main Plash window. ### Zoom in website To zoom in the website, activate “Browsing Mode”, right-click the website, and then select “Zoom In”. ### URL placeholders for screen width and height Use `[[screenWidth]]` and `[[screenHeight]]` in any URL and Plash will substitute the right values for you. For example, `https://source.unsplash.com/random/[[screenWidth]]x[[screenHeight]]?puppy`. ### Scroll to position You can scroll a website to a specific position each time it is loaded by putting the following in the website's “JavaScript” field. Adjust the “500” to how far down it should scroll. ```js window.scrollTo(0, 500); ``` You can also [scroll to a specific element](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView) matching a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors): ```js document.querySelector('.title')?.scrollIntoView(); ``` ### Make the website occupy only half the screen You can use the “CSS” field in the website settings to adjust the padding of the website: ```css :root { margin-left: 50% !important; } ``` ### Detect Plash Plash injects a CSS class named `is-plash-app` on the `` element. You could use this class to customize your website for Plash. For example, if your website has instructions on how to use it in Plash, you could hide those when it's running in Plash. ### Share extension Plash comes bundled with a [share extension](https://support.apple.com/guide/mac-help/use-the-share-menu-on-mac-mh40614/mac). You can, for example, use it to quickly add a website you have open in Safari to Plash. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can it automatically switch websites every 10 minutes? Plash can be automated with the built-in Shortcuts app, for example, using the “Switch to Next Website” action. On macOS 26, you can use Shortcuts automations. On older macOS versions, you can use the [Shortery app](https://apps.apple.com/app/id1594183810). #### Does it support multiple displays? Support for multiple displays is currently limited to the ability to choose which display to show the website on. Support for setting a separate website for each display is [planned](https://github.com/sindresorhus/Plash/issues/2). However, there is a [workaround](https://github.com/sindresorhus/Plash/issues/2#issuecomment-653891524). #### Can Plash display multiple websites at the same time? No. Plash only shows one website at a time. Displaying multiple websites simultaneously is out of scope. #### Why does Plash use so much memory? Plash uses very little memory. Usually around 40 MB. However, the websites you display can take up a lot of memory, and sometimes even have memory leaks. #### The menu bar does not adapt to the Plash wallpaper The menu bar adapts its color from the actual system wallpaper. Plash is not actually a wallpaper, but rather runs right above the wallpaper. So Plash cannot influence the menu bar color. #### Can Plash block ads? Not built-in, but you can block ads system-wide with a [DNS ad-blocker](https://alternate-dns.com). #### How can I switch to a specific website with a keyboard shortcut? Make a shortcut in the Shortcuts app that uses the “Set Current Website” action and then set a keyboard shortcut for the shortcut. #### Can it also show on the Lock Screen? No. This is not possible. #### Can I contribute localizations? I don't plan to localize the app. #### What does “Plash” mean? “a sound produced by liquid striking something or being struck” ## Scripting You can control Plash using anything that supports opening a URL with a custom scheme. For example, to reload the current website, run this terminal command: ```console $ open -g plash:reload ``` ### Tools - [plash-cli](https://github.com/sindresorhus/plash-cli) - Command-line tool. - [alfred-plash](https://github.com/sindresorhus/alfred-plash) - Alfred workflow. - [Raycast commands](https://github.com/raycast/script-commands/tree/master/commands#plash) ### Commands #### `add` Add a website to Plash. You can optionally specify a title. If no title is given, a title will be automatically fetched from the website. ```console $ open -g 'plash:add?url=https://sindresorhus.com/plash&title=Plash%20website' ``` *Don't forget to correctly encode query parameters.* > [!NOTE] > Local file URLs are not supported. #### `reload` Reload the current website. ```console $ open -g plash:reload ``` #### `next` Switch to the next website in the list. ```console $ open -g plash:next ``` #### `previous` Switch to the previous website in the list. ```console $ open -g plash:previous ``` #### `random` Switch to a random website in the list. It will never show the same website twice in a row, unless you only have a single website. ```console $ open -g plash:random ``` #### `toggle-browsing-mode` Toggle browsing mode. ```console $ open -g plash:toggle-browsing-mode ``` ### Examples #### Node.js ```js import {execFileSync} from 'node:child_process'; execFileSync('open', ['--background', 'plash:reload']); ``` #### Swift ```swift import Cocoa let command = "plash:reload" let configuration = NSWorkspace.OpenConfiguration() configuration.activates = false NSWorkspace.shared.open(URL(string: command)!, configuration: configuration) ``` #### AppleScript ```applescript do shell script "open --background 'plash:reload'" ``` #### Python ```python import subprocess subprocess.run(['open', '--background', 'plash:reload']) ``` ## Older Versions - [2.16.0](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.16.0.-.macOS.15.zip) for macOS 15+ - [2.15.0](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.15.0.-.macOS.14.zip) for macOS 14+ - [2.14.1](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.14.1.-.macOS.13.zip) for macOS 13+ - [2.12.1](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.12.1.-.macOS.12.zip) for macOS 12+ - [2.10.1](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.10.1.-.macOS.11.zip) for macOS 11+ - [2.1.1](https://github.com/sindresorhus/Plash/releases/download/older-releases/Plash.2.1.1.-.macOS.10.15.zip) for macOS 10.15+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/syx3vo5tbik3mfferrvt5/Plash-2.17.0-1774126569.zip?rlkey=t7ht9cspcblgkbat3s9w4mj5u&raw=1) *(2.17.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/pure-paste.md ================================================ --- title: Pure Paste subtitle: Paste as plain text by default pubDate: 2022-03-02 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 1611378436 pressQuotes: - quote: Works so seamlessly. This app just works in the background, you never need to open it, it just does its thing. It feels just like something Apple would invent and it is done so perfectly I never noticed how much I crutched it until I tried working on one of my friends windows laptops. A must get. source: Isaac Majer isStarRating: true - quote: Best app in the world. Probably been using it for 4 years but genuinely haven’t thought about it once since I installed it to today. Works so seamlessly and does what its meant to perfectly. source: '@ek2100' isStarRating: true olderMacOSVersions: - '12' - '13' - '14' - '15' --- Pure Paste lets you paste as plain text by default. It sits in the menu bar and automatically clears formatting (fonts, colors, bold, links, tables, etc.) from the text you copy, while intelligently preserving unrelated content like files, images, and passwords from password managers. Beyond basic formatting removal, Pure Paste can also remove invisible characters (including AI watermarks), normalize quotes and lists, remove tracking parameters from URLs, and much more. You can also choose to manually clear formatting whenever needed instead of automatically. You can right-click the menu bar icon to toggle automatic mode or clear formatting (like Plain Clip).
    #### Limitations Rich text copied from a different device will not have its formatting cleared because of a bug in Universal Clipboard. ## Tips - Right-click the menu bar icon to toggle the “Automatically clear formatting” setting. ## Frequently Asked Questions {#faq} #### Why not just use the `Paste and Match Style` menu item or `⌥⇧⌘V`? - This app can make it the default behavior. - That menu item is not available in all apps. - The keyboard shortcut is hard to remember and type. - In some apps, like Chrome, the keyboard shortcut is different. - This app can exclude certain apps, preserve links, normalize (quotes, newlines, lists, etc.) and also remove tracking parameters from URLs. - The app has workarounds (9000+ lines of code) for lots of apps to make the experience *just work*. #### Why not just remap the `Paste and Match Style` keyboard shortcut to `⌘V`? Same as the above except the first two list items. #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have enabled the “Hide menu bar icon” setting, which hides the menu bar icon. Launch the app again to reveal the menu bar item for 5 seconds. #### The app does not work - Ensure automatic clearing is enabled or you have set a keyboard shortcut for clearing. - Ensure you have not excluded (in the settings) the app you want to use it with. - Try copy-pasting to/from a different app to ensure the problem is with Pure Paste. - If you are using a custom keyboard shortcut for clearing, try [resetting privacy permissions](/apps/faq#mac-reset-permissions). - If you have “Preserve links” enabled, try disabling it. When links are preserved, all styling is cleared but the clipboard remains rich text. Some apps restyle rich text anyway. - Verify that Pure Paste actually cleared formatting by using my [Pasteboard Viewer](/pasteboard-viewer). If you see the item `com.sindresorhus.Pure-Paste.hasRun` in the sidebar, Pure Paste worked. Any remaining formatting is added by the app you paste into. Some apps do this even for plain text. - [More…](/apps/faq#app-problem) #### Pure Paste conflicts with my clipboard manager This is a known issue. It's just a flaw in how the clipboard works. If your clipboard manager reads the clipboard first, it will get it. If Pure Paste then reads the clipboard, it will do its thing, but also tell clipboard managers not to fetch the new contents as otherwise, they might end up with duplicates. This is required as otherwise certain features like "fast-append" don't work in Alfred and other clipboard managers. I'm working on a way all apps can collaborate, but it will take some time. For now, I suggest setting a keyboard shortcut for "Clear formatting and paste" and then turning off "Automatically clear formatting". #### The app clears formatting when it shouldn't or doesn't clear formatting when it should {#clear-formatting-problem} [Let me know.](/feedback?product=Pure%20Paste&referrer=Website-FAQ) I will fix it quickly, if possible. There are some cases I cannot fix though: - **The Pages and Keynote apps paste text as a table.** These apps paste any text with multiple lines as a table. This is not a problem with Pure Paste and is also not something I can fix. You can complain to Apple about the behavior [here](https://www.apple.com/feedback/pages.html). - [**Tables in Word are not preserved.**](#word-tables) - Formatting is not cleared when copying and pasting inside LibreOffice. This is a LibreOffice bug. Pure Paste correctly clears the formatting of the clipboard contents, but LibreOffice does not read the new clipboard contents until you first focus a different window. Try copying some styled text in LibreOffice, focus a different window, focus LibreOffice again, and then paste. It now correctly pastes the text without formatting. - Mail app: Formatting is cleared but does not match the style used for emails. Pure Paste correctly clears the formatting, but the Mail app does not correctly make text without formatting match the existing style. #### The copy/paste custom keyboard shortcut does not work Try [resetting privacy permissions](/apps/faq#mac-reset-permissions) for the app. macOS can sometimes corrupt these permissions, causing the shortcut to fail. #### What are tracking parameters and why would I want to remove them? Removing tracking parameters improves privacy and also makes URLs more aesthetically pleasing. Tracking parameters are used by many websites to track your browsing activity across websites. [Learn more.](https://en.wikipedia.org/wiki/UTM_parameters) Pure Paste supports 200+ common tracking parameters (e.g. Google UTM) and it has special support for removing tracking from links to X (Twitter), Facebook, and TikTok. Before: `https://foo.com?utm_content=buffercf3b2&utm_source=snapchat.com`\ After: `https://foo.com` Did you know that if you click a TikTok link that someone shared with you, they will be able to see that you watched it? Pure Paste anonymizes TikTok links so that you will not be tracked. #### Tracking parameters are not removed {#tracking-parameters-not-removed} First, make sure the setting to remove tracking parameters is enabled. Tracking parameters are not removed if the “Automatically Clear Formatting” preference is disabled or you did not manually trigger format clearing. The app contains a list of tracking parameters to remove, but there may be site-specific tracking parameters it doesn't know about. If you encounter any tracking parameters not being removed, [let me know](/feedback?product=Pure%20Paste&referrer=Website-FAQ) and I'll add support for them. #### Can you add a setting to preserve bold and italic? In short, no. To preserve bold and italic, the app has to preserve the font too, and by preserving the font, it has to set a font name and size. This means the text will not match the destination formatting. Instead, for example, in Word, you can copy with formatting and select “Paste and Match Formatting”, which correctly preserves bold and italic while clearing color and sizes. #### I have “Preserve links” enabled, and when I paste into an app (for example, Mimestream), it ends up with the “Times New Roman” font instead of the system font When “Preserve links” is enabled, Pure Paste removes formatting but keeps the text as rich text instead of plain text. Some apps don't handle this properly and default to “Times New Roman”. The only workaround is to disable “Preserve links”. #### I have “Preserve links” enabled, and when I paste into Word, it ends up with the “Times New Roman” font instead of the existing font {#word-bug} This is a bug in Word. ~~Please upvote [this report](https://feedbackportal.microsoft.com/feedback/idea/614f1602-cdd8-ec11-a81b-000d3a03dba2).~~ (Update: They removed the bug report and blocked me there 🤷‍♂️) As a workaround, you can either disable the “Preserve links” setting or use “Paste and Match Formatting” in the “Edit” menu in Word. #### I have “Preserve links” enabled, and when I paste into an app, it ends up with the “Helvetica” font instead of the existing font {#helvetica-bug} This is a bug in macOS. As a workaround, you can either disable the “Preserve links” setting or use “Paste and Match Style” in the “Edit” menu of the app. If you work for Apple or want to help out by duplicating my reports, see: - [FB10023436](https://github.com/feedback-assistant/reports/issues/307) - [FB10023420](https://github.com/feedback-assistant/reports/issues/306) - [FB10023393](https://github.com/feedback-assistant/reports/issues/305) #### Excel, Word, and PowerPoint are missing some actions in “Paste Options” {#office-apps} Pure Paste works by modifying the clipboard. Office hides most of the “Paste Options” actions if the clipboard is modified. The solution is to either: 1. Exclude the Office apps in the Pure Paste settings. 1. Turn off “Automatically Clear Formatting” and instead set a keyboard shortcut in the settings. That way the clipboard stays unmodified until you use the keyboard shortcut to clear & paste. #### Tables are not preserved when I copy-paste in Word {#word-tables} There is no way to preserve tables while clearing formatting of their cell contents. Different apps have different ways to represent tables on the clipboard. When you need to preserve a table, just temporarily disable Pure Paste. See the “Automatic clear formatting” setting on how to skip format clearing once. You can also right-click the menu bar icon to enable/disable automatic format clearing. Or set a global keyboard shortcut. #### Why doesn't cutting work in Excel when Pure Paste is active? Excel has unique (incorrect) interactions with the clipboard, which is incompatible with Pure Paste. When you cut text in Excel, the app puts metadata on the clipboard that a cut operation is being performed. Pure Paste, designed to remove formatting from copied text, inadvertently clears this info when it cleans the clipboard. The result is that Excel thinks it's a copy operation instead. You can either add Excel to the exclude list in the Pure Paste settings or turn off automatic format clearing and set a “clear formatting and paste” keyboard shortcut instead. #### The app does not clear formatting when copy-pasting an image inside Google Docs Web apps do not follow the standard clipboard conventions that native desktop apps do. When you copy an image in Google Docs, it just puts a bunch of HTML code on the clipboard. Pure Paste cannot easily know it's an image you copied. #### The app does not clear formatting when copy-pasting rich text inside Figma {#figma} Web apps do not follow the standard clipboard conventions that native desktop apps do. When you copy some rich text in Figma, it just puts a bunch of HTML code on the clipboard. Pure Paste cannot easily know it's rich text you copied. #### The app does not preserve links when pasting into Google Docs even with the “Preserve links” setting enabled There is a [problem with Google Docs](https://webapps.stackexchange.com/questions/69248/is-there-a-way-to-paste-rtf-text-into-google-document) where it strips links from rich text content. It happens even without Pure Paste. Web apps are generally bad at following platform conventions. #### Copying a cell with a formula in Numbers or Excel loses the formula {#numbers-formula} Pure Paste clears formatting by replacing the clipboard with a plain text version (this is the only reliable way to clear formatting). However, some apps store metadata on the clipboard, and in this specific case, these apps store the formula as metadata in the clipboard, which is then lost. There is no reliable way to detect this. The solution is to either: 1. Skip clearing formatting for just this copy (see instructions in the app settings). 1. Exclude the app in the Pure Paste settings. #### The exclude setting does not work Copy something from the app you have excluded, press the Option key while clicking the Pure Paste menu bar item, and then make sure the app shown in the menu is the same as the one you excluded. #### How can I exclude certain websites? This will not be supported. A workaround would be to [turn the website into an app in Safari](https://support.apple.com/guide/safari/add-to-dock-ibrw9e991864/mac). You could then exclude that app. The need for such a setting only arises because many web apps do not adhere to platform clipboard standards, unlike native apps. #### Can it support pasting with formatting when pressing Command+Shift+V? The app technically clears formatting when something is copied not pasted, so the formatting is already cleared when that shortcut is pressed. #### Can I quickly toggle “Preserve links” or some other setting? {#toggle-setting} Yes, with the Shortcuts app. Create a shortcut with the “Change Pure Paste Settings” action in Shortcuts. Pin it to the Shortcuts menu bar or assign a global keyboard shortcut in Shortcuts. #### Can you add support for removing newlines/linebreaks? The app is designed to *just work*, but removing newlines is not suitable for all use cases. For instance, you may want to remove newlines when copying text from a PDF, but not from Word. If you still want this feature, add the following to the “JavaScript” setting: ```js return $.text.replace(/(\r?\n)/gm, ' '); ``` And if you want to preserve paragraphs, use: ```js return $.text.replace(/([^\r\n])(?:\r?\n)(?!\r?\n)/g, '$1 '); ``` #### Can I temporarily pause “Automatically clear formatting”? Not built in. You can run [this shortcut](https://www.icloud.com/shortcuts/38ed17936c784768a36b6220700260cc) from Spotlight that disables “Automatically clear formatting”, waits 5 minutes, then re-enables it. #### Does it respect [nspasteboard.org](http://nspasteboard.org) conventions? Yes, it ignores concealed (passwords), transient, and auto-generated content. ## Older Versions - [1.13.2](https://www.dropbox.com/scl/fi/jn1xiyns80ea9jp4g16zx/Pure-Paste-1.13.2-macOS-15-1771414631.zip?rlkey=ah6wly1apojlb1paes5zi9dh6&raw=1) for macOS 15 - [1.11.4](https://github.com/user-attachments/files/18969765/Pure.Paste.1.11.4.-.macOS.14.zip) for macOS 14 - [1.9.2](https://github.com/sindresorhus/meta/files/14350035/Pure.Paste.1.9.2.-.macOS.13.zip) for macOS 13 - [1.6.4](https://github.com/sindresorhus/meta/files/10793621/Pure.Paste.1.6.4.-.macOS.12.zip) for macOS 12 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/quick-launch.md ================================================ --- title: Quick Launch subtitle: Open websites, apps, and shortcuts from your Lock Screen pubDate: 2022-09-28 platforms: - iOS # - macOS isPaid: true appStoreId: 1645566403 hasSentry: true feedbackNote: | If you're having problems with the Shortcuts app showing an error when trying to open an app, this is a problem with the Shortcuts app and out of my control. Try restarting your device and then try changing the system language to something else and then back. That sometimes fixes such issues. Otherwise, just give it some time. Sometimes the system needs some time after a system update to refresh everything. --- Quickly open websites, launch apps, and run shortcuts directly from your Lock Screen. For example, open google.com, launch TikTok, or run a shortcut to play a random music playlist. Here are [some more ideas](https://github.com/bhagyas/app-urls) of what you could open. ## Frequently Asked Questions {#faq} #### How do I add the widget to the Lock Screen? When on the Lock Screen, tap and hold on the clock, tap the “Customize” button, and select “Favorites”. [Learn more](https://support.apple.com/guide/iphone/iph4d0e6c351/ios#iph0ee454f4c) #### The widget does not show up in the widget picker This is a well-known iOS issue. [Try this.](https://webtrickz.com/third-party-lock-screen-widgets-not-showing-ios-16/) #### The Lock Screen widget sometimes disappears Make sure Lock Screen widgets are allowed when locked: “Settings › Face ID & Passcode › Allow Access When Locked › Lock Screen Widgets”. If it’s “off”, iOS may hide the widget until you unlock. #### Can the Lock Screen widgets be full-colored? This is unfortunately not possible. iOS enforces that Lock Screen widgets are single-colored. #### Can you support more actions when tapping a widget? Sure. I'm happy to consider requests. [Send it here.](https://sindresorhus.com/feedback?product=Quick%20Launch&referrer=Website-FAQ) #### How does it compare to other similar Lock Screen launchers? It can open any app, not just from a predefined list, and it has more icon choices. #### When using the “Run Shortcut” action, why does tapping the widget first open the main app and then the Shortcuts app? This is because of iOS limitations. A widget can only open its own app when a user taps it. And the only way to run a shortcut is to open the Shortcuts app using a special URL. So when you tap the widget, the widget opens the main app, and the main app then opens the Shortcuts app. It's not a very good user experience, but only Apple can fix this. If you work at Apple, you know what to do: - [FB9745173](https://github.com/feedback-assistant/reports/issues/240) - [FB11516334](https://github.com/feedback-assistant/reports/issues/357) - [FB11516273](https://github.com/feedback-assistant/reports/issues/356) ================================================ FILE: source/content/apps/quickgpt.md ================================================ --- title: QuickGPT subtitle: Easy access to ChatGPT pubDate: 2023-04-12 platforms: - macOS isPaid: true releasesRepo: quickgpt-meta mainLinks: 'Download': https://sindresorhus.gumroad.com/l/quickgpt?wanted=true olderMacOSVersions: - '13' - '14' - '15' feedbackNote: | If you are having problems with copying text, that's a problem with ChatGPT and not the app. The same problem can be seen on https://chatgpt.com --- Easily access ChatGPT from the menu bar, Dock, or using a keyboard shortcut. #### Highlights - Access from menu bar, Dock, or with a keyboard shortcut - Stay on top of other windows - Launch at login - Design tweaks to the ChatGPT web UI - Add custom CSS and JavaScript ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Why this when ChatGPT has an official macOS app? The web version (used by this app) sometimes gets features before the macOS app. This app is just a browser, so it has a lot less access to your system than the official ChatGPT app, so better for privacy conscious people. This app supports tabs (as long as you have enabled the "prefer tabs" system setting) #### Is the app native? It is a native app with a web view. It adds a lot of extra functionality to the ChatGPT web UI. #### Why does it add a newline when pressing the Return key instead of submitting the prompt? This is a bug in ChatGPT. It changes behavior when the window is narrow (sidebar becomes hidden). It happens in Safari too. I recommend reporting this bug to the [ChatGPT team](mailto:support@openai.com). #### Can you add a certain feature? I'm happy to consider it. If it's about the web interface, I recommend also [sending a request](mailto:support@openai.com) to the ChatGPT team. #### Can you fix a bug in the ChatGPT web interface? I have fixed many bugs in the ChatGPT web interface in the past. However, they constantly change the web interface, which breaks my fixes. It's just too much wasted time. Send bug reports to the [OpenAI team](mailto:support@openai.com) instead. #### Can you support the ChatGPT API? I personally prefer the ChatGPT web UI as it's cheaper for me to pay monthly for unlimited use than to pay per token for the API. #### Why is this not in the App Store? Apple generally rejects website wrappers even if they add useful additional functionality. Apple has also lately been rejecting any app with GPT in the name. ## Older Versions - [1.7.0](https://www.dropbox.com/scl/fi/qvl6941nju5c3k6tz21w0/QuickGPT-1.7.0-macOS-15-1771093340.zip?rlkey=za1y4gew5d3tecaq4ygwzmgsw&raw=1) for macOS 15 - [1.5.2](https://github.com/sindresorhus/sindresorhus.github.com/releases/download/v1.0.0/QuickGPT.1.5.2.-.macOS.14.zip) for macOS 14 - [1.4.11](https://github.com/sindresorhus/meta/files/14156246/QuickGPT.1.4.11.zip) for macOS 13 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/randa.md ================================================ --- title: Randa subtitle: Generate random numbers pubDate: 2022-12-17 platforms: - macOS - iOS - watchOS - visionOS appStoreId: 1589044499 olderMacOSVersions: - '13' - '14' - '15' --- Randa lets you easily generate a random number. Just set a minimum and maximum number and you will get a random number in that range. This can be useful for decision-making, picking stuff from a list, board games, dice rolling, coin flips, etc. For example, it's Netflix & chill night and you cannot decide on a movie. Just generate a random number from 1 to 20 and pick the movie at that position in your watchlist. Need to make a yes or no decision (coin flip)? Just set the minimum to 0 and the maximum to 1. ## Frequently Asked Questions {#faq} #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.4.0](https://www.dropbox.com/scl/fi/476tqhek1duur7j59vtu0/Randa-1.4.0-macOS-15-1769609531.zip?rlkey=qlzf72m22nqq9j0ddymbc1xrx&raw=1) for macOS 15+ - [1.3.1](https://github.com/user-attachments/files/18385766/Randa.1.3.1.-.macOS.14.zip) for macOS 14+ - [1.0.0](https://github.com/sindresorhus/meta/files/13852533/Randa.1.0.0.zip) for macOS 13+ ## Non-App Store Version A special macOS version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/58cje2kirc6i7uv6cxfdb/Randa-1.5.0-1769609488.zip?rlkey=m2rikromxsav4ve3tvxyzq81x&raw=1) *(1.5.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/recordia.md ================================================ --- title: Recordia subtitle: Quickly record audio pubDate: 2020-09-02 platforms: - macOS isMenuBarApp: true appStoreId: 1529006487 hasSentry: true olderMacOSVersions: - '10.15' - '11' - '12' - '13' - '14' - '15' --- Record audio directly from the menu bar or with a global keyboard shortcut. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### How can I preview the recording when done? First, ensure the “Show recording in Finder after saving” setting is enabled. When the recording is shown in Finder, press the Space key to preview it. #### How can I trim the recording when done? Preview the recording as described above and then click the trim button. #### How can I record system audio? {#record-system-audio} Recordia doesn't have a built-in way to record system audio because of App Store restrictions. However, you can achieve it by following the below steps: 1. [Install the BlackHole audio driver](https://github.com/ExistentialAudio/BlackHole#installation-instructions) 2. [Set up a multi-output device](https://github.com/ExistentialAudio/BlackHole/wiki/Multi-Output-Device) 3. Select “BlackHole” as the input device in Recordia #### How can I transcribe the audio (speech to text)? {#transcribe} Recordia does not support transcription, but check out my [Aiko app](/aiko). You can easily share a recording to Aiko after you finish recording. #### How can I sync recordings to iCloud? Choose “iCloud Drive” as the output directory. #### Why 48 kHz and not 44.1 kHz? 48 kHz is the standard for audio in today's video production. It's also the internal production standard for many audio production companies. 44.1 kHz was popularized by music CDs. #### Why WAV over ALAC/FLAC? WAV is supported everywhere. #### Does it do noise reduction? macOS does some noise reduction by default. For stronger noise reduction, check out [this free app](https://www.utterly.app). #### Can I use my iPhone as a microphone? Yes, follow the guide [here](https://www.switchingtomac.com/tutorials/how-to-use-your-iphone-as-a-microphone-on-a-mac/). ## Older Versions - [2.10.0](https://www.dropbox.com/scl/fi/xnrlepmmosvk4282red8t/Recordia-2.10.0-macOS-15-1769967108.zip?rlkey=l7t9fmf4ixcfy2pfotg6zrjbg&raw=1) for macOS 15+ - [2.9.0](https://github.com/user-attachments/files/18787741/Recordia.2.9.0.-.macOS.14.zip) for macOS 14+ - [2.7.0](https://github.com/sindresorhus/meta/files/13975939/Recordia.2.7.0.-.macOS.13.zip) for macOS 13+ - [2.6.1](https://github.com/sindresorhus/meta/files/11053013/Recordia.2.6.1.-.macOS.12.zip) for macOS 12 - [2.3.0](https://github.com/sindresorhus/meta/files/8798113/Recordia.2.3.0.-.macOS.11.zip) for macOS 11 - [1.5.1](https://github.com/sindresorhus/meta/files/6538283/Recordia.1.5.1.-.macOS.10.15.zip) for macOS 10.15 ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/4pzfvx3ixiybchnlka327/Recordia-2.11.0-1769966188.zip?rlkey=27gzy58hhao7ih3jrysp3v68w&raw=1) *(2.11.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/scratchpad.md ================================================ --- title: Scratchpad subtitle: Quick notes, always available pubDate: 2024-08-30 platforms: - macOS - iOS - visionOS - watchOS isPaid: true isMenuBarApp: true appStoreId: 6504040051 pressQuotes: - quote: One of the best indicators of how sticky a cross-device utility will be in my setup is how quickly I install it everywhere. For Scratchpad, the answer was “very sticky”. source: MacStories url: https://www.macstories.net/reviews/scratchpad-the-cross-device-text-utility-that-pairs-perfectly-with-your-clipboard-manager/ olderMacOSVersions: - '14' - '15' feedbackNote: | If you are having problems with sync, [read this](/scratchpad#troubleshooting). --- Capture your thoughts instantly in a single, always-accessible note. Plain text only. Simple by design. On macOS, the app sits in your menu bar or Dock, ready whenever inspiration strikes. On iOS, it can be accessed from the Home Screen, Lock Screen, or Control Center. - One-tap access - Clean, distraction-free interface - Lightning-fast and lightweight - Sync with iCloud, or not - Word and character count - Custom hotkey for instant writing (macOS) - Translucent background (macOS) - Font settings - Support for [Shortcuts](https://support.apple.com/en-ng/guide/shortcuts/welcome/ios), [share service](https://support.apple.com/en-ng/guide/mac-help/mh40614/mac), and [macOS Services](https://support.apple.com/en-bh/guide/mac-help/mchlp1012/mac) Perfect for brain dumps, quick drafts, and fleeting ideas. Your thoughts are just a click away, without breaking your workflow. It's a [Universal Purchase](/apps/faq#universal-purchase). [Review by MacStories](https://www.macstories.net/reviews/scratchpad-the-cross-device-text-utility-that-pairs-perfectly-with-your-clipboard-manager/) #### Privacy The app uses iCloud syncing to securely sync your text across devices. This feature is opt-in. Neither the app developer nor Apple can access the text in your scratchpad. The app does not collect any personal data and contains no tracking. ## Trial Try the fully functional trial of the macOS app [here](https://www.dropbox.com/scl/fi/fku2ko060srmht2zbtl1l/Scratchpad-1.3.7-trial-1748874499.zip?rlkey=35epjlrmrr700xh8fy514pkze&raw=1). The only limitation is a reminder to buy the app every 12 hours, and no automatic updates. All data and settings carry over if you buy it on the App Store. *Download it to the Downloads folder, double-click to unzip, and then move it to the `/Applications` folder.* There is no trial for the iOS version. ## Tips ### Troubleshoot syncing {#troubleshooting} - After enabling sync, try writing some more text on all the devices. - [More…](/apps/faq#icloud-sync) ### Keyboard shortcuts macOS - Copy text ⇧⌘C - Share text ⇧⌘S - Select all text ⌘A - Increase text size: ⌘+ - Decrease text size: ⌘- - Reset text size: ⌘0 ### Launch app from Lock Screen Quickly open the app using the built-in Lock Screen widget. For more customization options, you can also use my [Quick Launch](/quick-launch) app. ### Quickly add text to the scratchpad 1. Tap the share button in any app that deals with text and select “Add to Scratchpad”. 1. macOS: Select some text in any app, right-click, and select “Services › Add to Scratchpad” or “Share › Add to Scratchpad”. 1. iOS: Select some text in any app, tap “Share › Add to Scratchpad”. 1. Use the [Shortcuts action](#scripting) 1. Use the [custom URL scheme](#scripting) 1. Use [this shortcut](https://www.icloud.com/shortcuts/caa5fd4f5a7240cf951ef9a4184b0522) directly from a share sheet ### PopClip integration {#popclip} Select the below snippet and install it with PopClip: ```yaml #popclip Add selected text to Scratchpad name: Scratchpad icon: iconify:material-symbols:add-notes javascript: | popclip.openUrl(`scratchpad:append?text=${encodeURIComponent(popclip.input.text)}&hide`, {activate: false}); ``` You can replace `append` with `prepend`. And if you want Scratchpad to show when adding text, use this: ```yaml #popclip Add selected text to Scratchpad name: Scratchpad icon: iconify:material-symbols:add-notes url: scratchpad:append?text={popclip text} ``` ## Frequently Asked Questions {#faq} #### The macOS app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have disabled the “Show menu bar icon” setting, which hides the menu bar icon. Launch the app again to show the main window. #### Why is my note not syncing between devices? Refer to the [troubleshooting section](#troubleshooting) above to resolve syncing issues. #### Can you add Markdown syntax highlighting? I don't plan to add that as I want to keep the app simple. I do plan to make a proper minimal Markdown editor at some point, but that's not this app. #### Does the app support text formatting? No, it supports plain text only. #### Can I add images to the note? No, it supports plain text only. #### Does the app support multiple notes? No, it is designed for a single, persistent note. You could try out my [Plain Text Editor](/plain-text-editor) app for this, which can open multiple files. Also check out [Tot](https://tot.rocks) (not mine, but good). #### How can I make the macOS app show up right below the menu bar icon? Move the window to below the menu bar icon. It remembers its position. #### Can I open and save an external file? No, see my [Plain Text Editor](/plain-text-editor) app for that. #### Does it support [Advanced Data Protection for iCloud](https://support.apple.com/en-us/102651)? No. The app stores the note in iCloud Drive, which is covered by Advanced Data Protection. But it also syncs using [`NSUbiquitousKeyValueStore`](https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore) to be able to support watchOS, and this is not covered by Advanced Data Protection. I also don't want to commit to Advanced Data Protection support because I could potentially change how syncing works in the future. #### Why doesn’t the app appear in my Dock? By default, it only appears in the menu bar. You can enable the Dock icon in the settings. #### Can it show the text in a widget? No, but check out my [Any Text](/any-text) app for that. #### Can it show the text in the macOS menu bar? No, but check out my [One Thing](/one-thing) app for that. #### The text sometimes jumps when I write fast This is a macOS bug. There is unfortunately nothing I can do about it. #### How can I toggle “Stay on Top” with a keyboard shortcut in the macOS app? The keyboard shortcut is listed in the “…” menu. When in menu bar mode, it's always on top. #### Can you add a color setting? I don't plan to add that. It's not essential and I'm trying to keep the app simple. #### Why is it suddenly showing a scrollbar in the macOS app? You either have a system setting set to always show scrollbars or you have an external mouse connected. This is simply how macOS works. You can see the behavior in other text editing apps too. See the “Appearance › Show scroll bars” system setting. #### Why is the scrollbar still white even with window translucency enabled? macOS does not let apps style the scrollbar. Its background remains solid regardless of translucency. #### Why is there no way to print? The app is made using Apple's latest technologies (SwiftUI) and they have not added print support there yet. If you need to print, copy-paste the text over to TextEdit instead. #### Can you localize the app into my language? I don't plan to localize the app. #### On iOS, the item in the share sheet opens the app, how can I add text to the app in the background? Add [this shortcut](https://www.icloud.com/shortcuts/caa5fd4f5a7240cf951ef9a4184b0522). You can then tap the “Add to Scratchpad” action in a share sheet to add text to Scratchpad in the background. #### What's the difference between [Plain Text Editor](/plain-text-editor) and Scratchpad? {#plain-text-editor-comparison} These two apps serve different purposes. Plain Text Editor is a traditional text editor that lives in your Dock and handles multiple documents - perfect for working with separate text files and longer writing sessions. Scratchpad is designed for quick notes - it lives in your menu bar (macOS) or Lock Screen/Control Center (iOS) and maintains just one persistent note that syncs across your devices. Think of it as a digital sticky note that's always one click away. Both apps handle plain text only and work on macOS, iOS, and visionOS (Scratchpad also on watchOS). They're complementary tools: Plain Text Editor for focused writing with multiple files, Scratchpad for quick, always-accessible note-taking. #### How does this compare to [Tot](https://tot.rocks)? {#tot} Scratchpad advantages: - Simpler, focused design: A single plain text note for minimal distraction. - iCloud sync is optional. Tot does not have a setting to turn off iCloud sync. - More affordable pricing: $8 vs $20 for Tot. - Unlimited note size. Tot is limited to 100,000 characters per dot. - visionOS support. Tot advantages: - Supports 7 notes. - Rich-text support. ## Scripting The app can be automated using the Shortcuts app or with a custom URL scheme. ### Shortcuts app - [Shortcuts usage guide](https://www.xda-developers.com/guide-shortcuts-macos/) - [How to run shortcuts from the command-line on macOS](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac) **Examples** - [*Tell me if you have done anything cool with scripting*](https://sindresorhus.com/feedback?product=Scratchpad&referrer=Website-FAQ) ### Custom URL scheme You can add text to the scratchpad from any tool that can open an URL. This includes a website, Bash, Node.js, Python, Swift, etc. For example, in your terminal: ```sh open --background 'scratchpad:append?text=Hello' ``` By default, the app window shows when this is run. On macOS, you can tell it to not show with the `hide` search parameter: ```sh open --background 'scratchpad:append?text=Hello&hide' ``` You can also prepend: ```sh open --background 'scratchpad:prepend?text=Hello' ``` *Don't forget to [URL encode](https://www.urlencoder.org) the value for the `text=` search parameter. For example, using [this](https://gist.github.com/cdown/1163649) Bash function.* You can also use the custom URL scheme on iOS. There is no way to get the text using the URL scheme, but you can use Shortcuts for that. I have not included a way to overwrite the text because I don't want anything to be able to overwrite the scratchpad. If you want this, [tell me your use-case](https://sindresorhus.com/feedback?product=Scratchpad&referrer=Website-FAQ). I may add this with an opt-in setting. For now, you can do it with Shortcuts. ## Older Versions - [1.3.7](https://www.dropbox.com/scl/fi/xw6k068700wg41jjt7ens/Scratchpad-1.3.7-macOS-15-1771197879.zip?rlkey=ruqmud5mrvhscs0i6dgeres16&raw=1) for macOS 15 - [1.2.8](https://github.com/user-attachments/files/18575785/Scratchpad.1.2.8.-.macOS.14.zip) for macOS 14 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/second-clock.md ================================================ --- title: Second Clock subtitle: Show a second clock for a different time zone in your menu bar pubDate: 2024-01-04 platforms: - macOS isMenuBarApp: true appStoreId: 6450279539 olderMacOSVersions: - '14' - '15' --- The app is simple by design. Check out [Dato](/dato) for more features and settings or [UTC Time](/utc-time) if you just need the time in UTC. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar macOS hides menu bar apps when there is no space left in the menu bar. This is a common problem on MacBooks with a notch. Try quitting some other menu bar apps to free up space. If this does not solve it, try quitting Bartender/Ice if you have it installed. #### Can it show a flag in front of the time? You can set a [flag emoji](https://emojipedia.org/flags) in the “Prefix text” setting. [Example.](https://x.com/sindresorhus/status/1742975880031543330) #### Can it show an icon in front of the time? You can set a [Unicode character](https://www.vertex42.com/ExcelTips/unicode-symbols.html) or SF Symbol in the “Prefix text” setting. For an SF Symbol, download the [SF Symbols app](https://developer.apple.com/sf-symbols/), copy a symbol, and paste it into the “Prefix text” setting. #### Can it show seconds? No, but you can make the system clock show seconds. #### Can it show the date? No. Check out my [Dato](/dato) app for that. #### Can it show an analog clock? I have no plans to support that. #### What if I want more than one additional clock? I don't plan to support that directly, but here are additional builds of the app with different identifiers so they can all run at the same time: - [Second Clock 2](https://www.dropbox.com/scl/fi/jp9vx3xqrfocpcpb9psnx/Second-Clock-2-1754956993.zip?rlkey=yfxracofur29b258y7aeb5850&raw=1) - [Second Clock 3](https://www.dropbox.com/scl/fi/8p3cvjfpg1fd9gq1apsgi/Second-Clock-3-1754957017.zip?rlkey=3a66fig1j223nio1znv81vji9&raw=1) - [Second Clock 4](https://www.dropbox.com/scl/fi/5v77qrgvwg2cyjxjnanjw/Second-Clock-4-1754957043.zip?rlkey=mxapcbqy7famt3srngb9agyf4&raw=1) - [Second Clock 5](https://www.dropbox.com/scl/fi/cds0pdm6qpuanqs7pcooz/Second-Clock-5-1754957062.zip?rlkey=f4anp3pfe8mrtahlpsycn66c4&raw=1) - [Second Clock 6](https://www.dropbox.com/scl/fi/ul7kevyvte8anl2f7mbi2/Second-Clock-6-1754957087.zip?rlkey=h4koh48yg49f50pskl6c9rm33&raw=1) *Requires macOS 15 or later* *If you had downloaded this previously and it stopped respecting the chosen time zone, download the new versions above.* My [Dato](/dato) app supports multiple time zone clocks with settings like color and size. My [Zone Bar](/zone-bar) app also supports multiple time zone clocks. #### Can you add text weight and color settings? This is not planned. The menu bar should generally be monochrome (no colors) and consistent (same text weight). #### Can you localize the app into my language? The time output adheres to your locale. I don't plan to localize the app itself. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.1.0](https://www.dropbox.com/scl/fi/8q5rzafvwh8h38nw162m8/Second-Clock-1.1.0-macOS-15-1774272407.zip?rlkey=3m3t78o84kfaaaxv9khdscuii&raw=1) for macOS 15+ - [1.0.2](https://github.com/user-attachments/files/18694293/Second.Clock.1.0.2.-.macOS.14.zip) for macOS 14+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/9a20p7mo6bdw45xqzl1a8/Second-Clock-1.2.0-1774271996.zip?rlkey=udacl6dtg5apz9guctolox1tu&raw=1) *(1.2.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/shareful.md ================================================ --- title: Shareful subtitle: Give the macOS share menu superpowers pubDate: 2020-09-08 platforms: - macOS appStoreId: 1522267256 hasSentry: true olderMacOSVersions: - '10.15' - '11' - '12' - '13' - '14' --- Shareful makes the system share menu even more useful by providing some commonly needed share services like copy and save. ## Frequently Asked Questions {#faq} #### The share services do not show up in System Settings Shareful provides share services (Copy, Open In, etc.) which macOS is supposed to pick up. Shareful has no control over how it works. In some rare cases, macOS can fail to pick up these share services. This is a problem with macOS not Shareful. Here are some things you could try: - Restart your computer - Reinstall the app - [Reset NVRAM](https://support.apple.com/en-us/HT204063) - [Reset the share services registry](https://web.archive.org/web/20180711015728/https://support.apple.com/en-us/HT203129) If you are on a work computer, it could also be that your company has blocked third-party share services. #### Can you add a “Move” or “Delete” action? This is unfortunately not possible. [Share extensions](https://support.apple.com/guide/mac-help/use-the-share-menu-on-mac-mh40614/mac) (for example, the "Copy" action), usually only receive a copy of the file. They have no guaranteed access to the original file. #### Can you add a “Copy Path” action for use in Finder? That would be moot. Right-click a file in Finder, press the Option key, and select “Copy as Pathname”. #### Can you add items that run specific Shortcuts in the Share menu? {#shortcuts} No. This is not possible. You could use my [Short Run](/short-run) app instead. It can show a curated list of shortcuts in the menu bar, automatically showing some based on which app is currently active. Although, it won't be able to receive what the share items receive. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.10.4](https://github.com/user-attachments/files/18914470/Shareful.1.10.4.-.macOS.14.zip) for macOS 14+ - [1.9.1](https://github.com/sindresorhus/meta/files/14158056/Shareful.1.9.1.-.macOS.13.zip) for macOS 13+ - [1.8.0](https://github.com/sindresorhus/meta/files/11297902/Shareful.1.8.0.-.macOS.12.zip) for macOS 12+ - [1.6.0](https://github.com/sindresorhus/meta/files/8800088/Shareful.1.6.0.-.macOS.11.zip) for macOS 11+ - [1.4.0](https://github.com/sindresorhus/meta/files/7119520/Shareful.1.4.0.-.macOS.10.15.zip) for macOS 10.15+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/4wko3a9hmmv756jn42tc1/Shareful-1.11.0-1740166187.zip?rlkey=rf6vjg4vdbxu04ikt9ic16gqq&raw=1) *(1.11.0)* *Requires macOS 15 or later* ================================================ FILE: source/content/apps/short-run.md ================================================ --- title: Short Run subtitle: Run shortcuts from your menu bar pubDate: 2025-08-14 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 6745427035 olderMacOSVersions: - '15' --- Quick access to your shortcuts from the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app right from the menu bar. Since shortcuts can open URLs, folders, apps, and run shell scripts or AppleScript, you can put virtually any action in your menu bar. #### Highlights - Instant Access – All your favorite shortcuts available from the menu bar - Smart Organization – Organize shortcuts into sections and submenus - App-Specific Shortcuts – Show different shortcuts based on the active app - Linked Folders – Display folders from the Shortcuts app dynamically - Keyboard Shortcut – Toggle the menu with a customizable hotkey - Quick Keys – Assign 1-9 and a-z keys to shortcuts for instant triggering when menu is open - Customizable Menu Bar Icon – Choose between multiple menu bar icons to match your style - Launch at Login – Always ready when you need it #### Common use cases - Essential Folders – Instantly jump to Desktop, Downloads, current project, or that deeply nested work directory - Daily Websites – One-click access to X, Gmail, GitHub, or your company dashboard - File Management – Bulk rename photos, compress for email, convert between formats, organize screenshots - System Shortcuts – Toggle Dark Mode, empty trash, force-quit apps - Developer Workflows – Open terminal here, restart local server, run build scripts, push to Git - Text & Clipboard – Create meeting summary, clean text - Quick Actions – Take annotated screenshots, start screen recording, set focus modes, create calendar events #### URL scheme {#url-scheme} Supports the `shortrun://` URL scheme for running shortcuts silently in the background without opening the Shortcuts app. Works exactly like the standard [Shortcuts URL scheme](https://support.apple.com/en-ke/guide/shortcuts-mac/apd624386f42/mac) `shortcuts://` but executes silently. Perfect for automation workflows and third-party integrations. Examples: - `shortrun://run-shortcut?name=My%20Shortcut` - `shortrun://run-shortcut?name=My%20Shortcut&input=text&text=Hello` *It does not support `shortcuts://x-callback-url`.* #### Privacy Your shortcuts and data never leave your device. The app is built without internet permissions (no network entitlement), so macOS prevents it from connecting to the internet even if it wanted to. #### Example shortcuts - [Open a folder](https://www.icloud.com/shortcuts/29925fe3ff684d0699c82e51f6e86e2f) - [Open a URL](https://www.icloud.com/shortcuts/403bc58451f442e4b94fb4e13043abf1) ## Tips - Option-click a shortcut in the menu to edit it. - Use Command+Z to undo changes in the shortcut organizer. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### How is this different from the built-in Shortcuts menu bar item? {#difference-builtin} The built-in menu bar item shows shortcuts in one long, unorganized list. Short Run benefits: - Choose the order of shortcuts - Organize shortcuts into sections and submenus - Show some shortcuts only when a specific app is active - Assign quick keys (1-9, a-z) to shortcuts for instant triggering when menu is open - Cleaner interface with just the shortcut name - Menu closes automatically when running a shortcut - Open the menu with a keyboard shortcut and navigate to shortcuts using arrow keys - Customizable menu bar icon and menu width - [URL scheme](#url-scheme) to run shortcuts silently in the background, perfect for automation workflows #### How do I disable the built-in Shortcuts menu bar item to avoid duplication? Open the Shortcuts app, select “Menu Bar” in the sidebar, select all shortcuts, right-click on them, and select “Remove from Menu Bar”. #### I already own [Supercharge](/supercharge). Does this offer any benefits over its similar feature? {#supercharge} - Group shortcuts into sections and submenus. - More focused since there are only shortcuts in the menu. - Global keyboard shortcuts to open the menu, create a new shortcut, and to open the Shortcuts app. - [URL scheme](#url-scheme) for running shortcuts silently in the background. #### What's the difference between sections and submenus? Sections display shortcuts inline with a header (like "Development" followed by your dev shortcuts). Submenus create a separate menu that opens when you hover over the folder name. You can toggle between these modes for each folder. #### How do I make a folder show inline as a section? Right-click a folder when organizing and enable “Show Inline”. #### How can I select Safari web apps for app-specific shortcuts? {#safari-web-apps} Safari web apps (created via “File › Add to Dock” in Safari) are just normal apps. In the app picker, click the `+` button, navigate to `~/Applications`, and select the web app. They don't appear by default because Short Run cannot automatically access this folder. #### Will you add icon support for menu items? No. While macOS 26 introduces icons in menu items (similar to iOS), I believe this creates visual noise rather than improving usability. Short Run intentionally maintains a clean, text-only interface to keep the menu focused and distraction-free. #### Can you add search? This is not planned. For searching, use Spotlight on macOS 26 or later, or Raycast or Alfred on earlier versions. #### Do I need to recreate my shortcuts? No. The app uses your existing shortcuts from the Shortcuts app. You're just organizing how they appear in the menu bar. #### How do app-specific shortcuts work? You can set certain shortcuts to only appear when specific apps are active. For example, show your Git shortcuts only when Xcode is open, or media processing shortcuts only when Final Cut Pro is active. #### Can I use keyboard shortcuts to navigate the menu? Yes. Set a keyboard shortcut to open the menu, then use arrow keys to navigate and return to run shortcuts. Much faster than clicking. #### Can I pass arguments to a shortcut from the menu? No. Menu runs have no input. Design the shortcut to prompt, read the clipboard, or pull context itself. #### Why does running a shortcut sometimes add a “Stop and Output” action to it? The Shortcuts app automatically inserts a “Stop and Output” action when a shortcut doesn't have a clear final output. This ensures the shortcut has something to return when executed, preventing execution errors. The action appears when shortcuts contain actions that don't naturally produce output, like opening apps. This is not ideal, but it's out of my control. This does not happen when running shortcuts from the built-in menu bar item. I have reported it to Apple: [FB19805797](https://github.com/feedback-assistant/reports/issues/703)\ *(Consider duplicating my report. The more duplicates, the more likely Apple will look into it.)* #### My shortcut fails when it needs “Full Disk Access” Give Short Run “Full Disk Access” too (“System Settings › Privacy & Security › Full Disk Access”). Short Run is what actually executes the shortcut, so it needs the same permission as the Shortcuts app. #### Can I assign hotkeys to individual shortcuts? No. Use Shortcuts’ own keyboard shortcuts (or Raycast/Alfred) if you want per-shortcut bindings. #### Can you add sync? No. iCloud sync is unreliable and causes a huge support burden. It's not worth the effort for this app. #### Can you add export/import for the shortcuts organization? Maybe at some point, but I want the app to be mature first, since it commits me to that exact format. For now, you can [export/import all app data](https://sindresorhus.com/apps/faq#export-settings). #### Can you support iOS? No, because there is no way to run shortcuts in the background on iOS. #### Can you add another menu bar icon option? Sure! Find an icon you like in the [SF Symbols app](https://developer.apple.com/sf-symbols/) or [here](https://thenounproject.com/icons/), and send me the name or a link. ## Older Versions - [1.3.3](https://www.dropbox.com/scl/fi/us3xw21fz9lr973bcxs3w/Short-Run-1.3.3-macOS-15-1774388916.zip?rlkey=4n102lqactolqj678aqtwncm8&raw=1) for macOS 15 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/shortcutie.md ================================================ --- title: Shortcutie subtitle: Power up the Shortcuts app on Mac pubDate: 2025-02-11 platforms: - macOS isPaid: true hasSentry: true setappId: 1814 releasesRepo: shortcutie-meta mainLinks: 'Buy': https://sindresorhus.gumroad.com/l/shortcutie?wanted=true requirement: Requires macOS 26 or later announcement: text: Save 28% with the Power User Bundle — get 3 power user apps together url: https://sindresorhus.gumroad.com/l/power-user urlText: Get the bundle pressQuotes: - quote: It’s absolutely essential for anyone who uses Shortcuts because it unlocks so many new things you can do. I love the extra power it gives my Mac and it’s totally worth it for those advanced features! source: Anonymous url: https://sindresorhus.gumroad.com/l/shortcutie olderMacOSVersions: - '15' feedbackNote: | ### If the actions don't show up in the Shortcuts app or if you get a “com.apple.extensionKit.errorDomain error 2” error when running your shortcut, restart your device. You could also try setting a different device language and then back. If you just updated the operating system, give it some time to re-index all shortcut actions. Check the [Actions](/actions) app before requesting an action. It may already exist there. This is not the place to ask general Shortcuts questions. Try [r/shortcuts](https://www.reddit.com/r/shortcuts/) instead. --- The app provides 70+ powerful extra actions for the Shortcuts app on macOS. While my free [Actions](/actions) app provides useful functionality for the Shortcuts app through the App Store for macOS, iOS and visionOS, Shortcutie is a Mac-only app that offers more powerful system-level features by operating outside of Apple's restrictions. This enables capabilities like changing system default browser (without a prompt), getting the active browser tab, clearing notifications, etc. - things that wouldn't be possible under App Store rules. > [!IMPORTANT] > Restart your device if the actions do not show up in the Shortcuts app. [Learn more ›](#troubleshooting) #### Included actions - Get Active Browser Tab Gets the URL and title of the active browser tab Supports Safari, Chrome, Edge, Brave, Opera, Vivaldi, Arc, Orion, Atlas, and any Chromium-based browser. Firefox and Firefox-based browsers (including Zen) are not supported as they do not implement the required [AppleScript interface](https://bugzilla.mozilla.org/show_bug.cgi?id=125419) for getting tab info. - Run JavaScript on Active Browser Tab Runs JavaScript code on the active browser tab and returns JSON Supports the same browsers as “Get Active Browser Tab”, except ChatGPT Atlas. - Open URLs in Private Browser Window Opens URLs in a private/incognito browser window Supports Safari, Chrome, Edge, Brave, Opera, Vivaldi, Arc, Orion, Firefox, Zen, and any Chromium-based and Firefox-based browser. Not DuckDuckGo and ChatGPT Atlas. - Get Active Browser Gets the frontmost app if it’s a browser - Get Selected Text Gets the selected text in the currently focused window - Get/Set Current Folder in Finder Gets or sets the currently viewed folder in Finder - Get Document of App Returns the file of the currently active document in the active or specified app Works with native macOS apps like Preview, TextEdit, Pages, Keynote, Numbers, and other document-based apps. - Get File from Path Converts a text path to a file or folder object for use in other Shortcuts actions Accepts both absolute paths (like “/Users/username/Documents/file.txt”) and paths with “~” (like “~/Documents/file.txt”). Returns a reference to the actual file on disk. - Show Alert (Extended) Shows an alert dialog with multiple buttons and returns which button was clicked Timeout, custom icon, and up to 8 buttons. [Screenshot.](https://www.dropbox.com/scl/fi/439bkpixjwssiss0ye7ln/Screen-Shot-2025-05-20-at-18.43.32-1747756364.png?rlkey=jrq1etjed15uz66tpanokw0q6&raw=1) - Join Wi-Fi - Clear Top Notification Clears the top visible system notification - Clear Notifications Clears all system notifications - Click Top Notification Activates the top visible system notification - Get/Set Default Browser View or change the system default web browser - Get/Set Appearance (Extended) View or change the system appearance mode (Light, Dark, or Auto) Unlike the native action, this also supports Auto mode. - Get/Set Icon & Widget Style View or change how app icons and widgets appear Choose default, dark, clear, or tinted. - Press Keyboard Shortcut Simulates pressing a keyboard shortcut Optionally target a specific app. - Trigger Menu Bar Item Executes a menu bar item in the frontmost or specified app Accepts menu paths like “File > Save As”. - Get Menu Bar Item Gets info about a menu bar item in the selected app Returns title, enabled state, checked state, and keyboard shortcut. - Trigger Context Menu Item Executes a context menu item at the current mouse-cursor position Using this you can trigger context-menu items or sub-items for the current mouse-cursor position in any app. - Set Grayscale Mode Makes screen display in black and white - Is Screen Being Watched Detects if the screen is being recorded, mirrored, or shared (Zoom, Teams, etc) - Stash Text Shows the given text in a floating window Multiple calls add items to the sidebar list. Intended for temporary viewing, not long-term storage. [Screenshot](https://www.dropbox.com/scl/fi/9oz7tnd24fohgasuuv6gd/Stash-Text-Screen-Shot-2026-02-01-at-23.17.36-1769962685.png?rlkey=9vd0p1c2zat89yrqssv8rhfnw&raw=1) - Find Listening Port Finds TCP ports that currently have a listening process on this Mac Useful for checking whether a local dev server is running, finding which process is using a specific port, and inspecting listeners before stopping them. - Is Port Listening Checks whether a specific TCP port currently has a listening process - Kill Process Stops a process by process ID, process name, port number, or listening port Supports dry-run mode (find matches without signaling). By default, no-match is treated as success for friendlier automations, with an option to fail when no matches are found. - Open App (Extended) Options to pass in URLs, activate, force new instance, hide, launch arguments, and environment variables - Close All Windows of App Closes all windows of the specified app - Unminimize Windows of Active App Unminimizes all windows or the first window of the currently active app - Isolate Window Hide all other apps and minimize all other windows of the current app, leaving only the frontmost window visible It's like a turbocharged “Hide Others” — also minimizes your extra windows in the current app, so you see just the one you care about. Perfect for quickly clearing away distractions when you have many windows open. - Get/Set Accent Color View or change the system accent color Also includes special iMac and MacBook Neo colors normally only accessible on these Macs. - Toggle Dock Folder Expands or collapses a [folder in the Dock](https://support.apple.com/kk-kz/guide/mac-help/mchl231f08fb/mac), similar to manually clicking on it Tip: Add this to a shortcut and give it a keyboard shortcut to expand or collapse Dock folders from the keyboard. - Get/Set Default Audio Device View or change the default audio input (microphone) or output (speaker) - Get Details of Audio Device Returns comprehensive information about audio devices Includes volume, mute state, type, connection status, sample rates, manufacturer info, and more. - Find Audio Device Returns all audio devices Includes comprehensive details about them. - Get/Set Audio Device Mute State Control mute state of audio devices - Get/Set Audio Device Volume Control volume level of audio devices - Set Folder Color Change the color of folders - Hide All Windows Instantly hides windows for all apps - Minimize All Windows Minimizes all visible windows, with options to only affect the active app and exclude the frontmost window - Quit All Apps Closes all running apps except menu bar apps Options to exclude apps, exclude frontmost app, and close Finder windows. - Get Night Shift Returns whether Night Shift is currently enabled - Get True Tone Returns whether True Tone is currently enabled - Eject All Disks Safely unmounts all external drives (except excluded ones) - Create Email with Files Creates a new email message in the default email app with the given files as attachments Works with Mail, Outlook, Spark, Mimestream, Airmail, Canary Mail, and maybe other apps. Not Thunderbird. - Empty Trash Permanently deletes items in the trash - Toggle Show Desktop Shows or hides the desktop by temporarily moving windows aside - Toggle Mission Control Shows or hides [Mission Control](https://support.apple.com/guide/mac-help/view-open-windows-spaces-mission-control-mh35798/mac) - Toggle App Exposé Shows or hides [App Exposé](https://www.oreilly.com/library/view/switching-to-the/9781449338978/ch04s11.html) - Toggle Launchpad Shows or hides [Launchpad](https://support.apple.com/guide/mac-help/mh35840/mac) - Toggle Spotlight macOS 26 only Toggles Spotlight search, optionally navigating to a specific tab (like Clipboard History) - Get Latest Screenshots Returns the most recent screenshots taken with the system screenshot tool - Get/Set Dock Position View or change the position of the Dock Changes take effect immediately. - Get/Set Desktop Icons Visibility Show, hide, or check visibility status of desktop icons - Get/Set Desktop Widgets Visibility Show, hide, or check visibility status of desktop widgets - Get/Set Function Keys Mode Toggle or check if F1-F12 keys operate as standard function keys or media keys - Get/Set Hot Corner View or change the configuration for a system [hot corner](https://support.apple.com/guide/mac-help/mchlp3000/mac) - Get/Set Keyboard Brightness View or change the keyboard backlight brightness level Only works on Macs with a built-in backlit keyboard. - Get/Set Night Shift Color Temperature Control the [Night Shift](https://support.apple.com/en-us/102191) color temperature. - Get/Set Network Location Switch between different [network configurations](https://support.apple.com/105129) Tip: You could automate switching based on certain conditions with the [Shortery](https://www.numberfive.co/detail_shortery.html) app. - Get/Set iOS Notifications Enabled Control whether notifications from your iOS device appear on your Mac Only works if your Mac supports notifications from iOS. - Center Mouse Pointer Centers the mouse pointer on the primary display - Get/Set Mouse Pointer Visibility Get or set the visibility of the mouse pointer By default, it reappears on mouse movement. - Invert Selection in Finder Inverts the current selection in Finder Deselects what's currently selected and selects everything that wasn't selected. Only works when Finder is the active app. - Create New Text File in Finder Creates a new text file in the current Finder location The file will be created in the frontmost Finder window's current location and will be ready for you to rename. - Toggle Hidden Files in Finder Shows or hides hidden files in Finder Toggles the visibility of files that start with a dot (.) and other hidden system files. This is a temporary toggle that affects the current Finder session. The setting will revert when Finder is restarted. - Get Slack Workspace Gets the name of the current Slack workspace - Clear Recent Lists Clears recent items (files, apps, and servers) from menus - Open System Setting Opens Hide My Email, Private Relay, VPN & Filters, or Apple Account Subscriptions settings directly - Get/Set Finder New Window Target Gets or sets the default folder that opens when creating new Finder windows - Sleep Displays Puts all displays to sleep immediately The Mac itself stays awake, only the displays go to sleep. - Clear Clipboard Clears all contents from the system clipboard - Get Apps Using Secure Input Secure Input prevents other apps from reading keystrokes when typing passwords. Sometimes apps don't properly disable it, causing keyboard shortcuts to stop working. This can find such apps. ## Tips {#tips} ### Sharing shortcuts that use Shortcutie Add a warning at the start of the shortcut to install the app if not installed. [Example](https://www.icloud.com/shortcuts/e31f8ce26d36405ca6d6aca0b2350d8f) ## Frequently Asked Questions {#faq} #### The actions don't show up in the Shortcuts app {#troubleshooting} This is caused by a macOS bug. Some things you could try: 1. Restart your device. 1. Add [this shortcut](https://www.icloud.com/shortcuts/29943b986f934d9da5018853d4e2cc40), run it once, relaunch the Shortcuts app, and see if the actions show up in the Shortcuts app after that. 1. Change the device language to something else and back. 1. Remove the app, install it again, and restart your device. #### I get a “errorDomain error 2” error when running an action Same solution as above. #### Why is this not in the App Store? Much of the functionality would not be possible in the App Store because of [sandboxing](/apps/faq#macos-sandbox). #### Why is this paid when your Actions app is free? Unlike Actions, which uses public APIs, Shortcutie relies on many private APIs that require constant maintenance as macOS evolves. The app targets power users who value these advanced capabilities, and the pricing helps ensure sustainable development while keeping the support burden manageable. #### Can I have this installed together with the Actions app? Yes, they are complementary. #### Can you support iOS? No. The app relies on macOS-specific system features that aren't available on iOS and requires capabilities outside of App Store restrictions. Check out [Actions](/actions) for iOS shortcuts functionality. #### Do I need to keep the app running for the actions to work? No, once installed, the app's actions are always available to the Shortcuts app. #### I can already do some of these actions with AppleScript and the command-line, why use this app? Yes, but the app packages these capabilities into maintained, ready-to-use actions that integrate perfectly with Shortcuts. This lets you focus on building workflows instead of writing and maintaining scripts. #### How is the “Quit All Apps” action better than the built-in “Quit App” action? {#quit-all-apps-vs-builtin} The action can exclude the frontmost app and also close Finder windows. #### What’s up with the app icon? A bit of whimsy makes software more human and approachable. Even Apple uses a smiling Finder icon to this day. Good software can be both powerful and fun. And since the icon is only visible in the App Store and as a tiny icon in Shortcuts, its design has minimal impact on the actual utility of the app. #### Shortcutie and Supercharge seem to have some of the same actions for Shortcuts {#supercharge} There is [some overlap](/supercharge#shortcutie), but Shortcutie includes many more actions. Supercharge only includes actions for its own features. ## Older Versions - [1.5.0](https://www.dropbox.com/scl/fi/1nny73fqfa423v87vz0q6/Shortcutie-1.5.0-macOS-15-1770752068.zip?rlkey=3fxry52nv7nflmc60r4leqlfm&raw=1) for macOS 15 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/simple-color-palette.md ================================================ --- title: Simple Color Palette subtitle: Create, view, and edit color palettes pubDate: 2025-04-12 platforms: - macOS - iOS - visionOS appStoreId: 6744484427 olderMacOSVersions: - '15' --- View, create, and edit color palettes in the [Simple Color Palette](https://github.com/simple-color-palette) format. The app also provides Quick Look preview and thumbnails for such files. A color palette is a collection of colors with optional names, essential for designers to maintain consistent branding, create cohesive user interfaces, and share color schemes across projects and teams. **This is the official app for creating palettes in the Simple Color Palette format. It's intentionally minimal. It's not a palette organizer or palette generator.** #### Highlights - Create and edit color palettes in the Simple Color Palette format (`.color-palette`) - Import Adobe Swatch Exchange (`.ase`) and Color List (`.clr`) files - Support for [wide gamut colors](https://css-tricks.com/the-expanding-gamut-of-color-on-the-web/) - Copy colors in multiple formats: RGB, OKLCH, and Hex - Quick Look preview and thumbnails for color palette files - Drag and drop support for adding colors and palettes - Optional color names for better organization - Support for opacity in colors - iCloud sync (by storing in iCloud Drive) - Shortcuts app integration - Native app ## Tips - macOS: Drag and drop an Adobe Swatch Exchange (.ase) or Color List (.clr) file onto the Dock icon to convert it to a Simple Color Palette format. You can also right-click the file in Finder and open with the app. - iOS: Tap an Adobe Swatch Exchange (.ase) or Color List (.clr) file in the file picker in the app to convert it to Simple Color Palette format. - macOS: Drop a `.color-palette` file onto the window to add the colors from the dragged palette into the current palette. ## Frequently Asked Questions {#faq} #### Is this a palette organizer app? No. This app is specifically designed for creating and editing color palettes in the Simple Color Palette format. For organizing collections of palettes, use Finder, your preferred file management app, or a dedicated palette organizer app. #### Why doesn't the app show color values in Hex format by default? The app supports extended sRGB colors (wide gamut) with values outside the 0-255 range. For example, `-97 197 261`. Hex notation (`#ff69b4`) is limited to standard RGB values and cannot properly represent extended color values. You can optionally enable showing colors in Hex format, but it won't be shown for wide gamut colors. #### How can I export palettes to other formats like Adobe Swatch Exchange (ASE)? The app is focused on the [Simple Color Palette](https://simplecolorpalette.com) format. It doesn't support exporting to other formats. #### What's the benefit of the Simple Color Palette format over Adobe Swatch Exchange (ASE)? The Simple Color Palette format is an open JSON-based format that supports wide gamut colors and isn't tied to any specific ecosystem. Unlike ASE, which is a proprietary binary format limited to Adobe products, Simple Color Palette is human-readable, platform-independent, and designed for modern color management needs with support for extended color gamuts. #### How can I generate a palette? {#generate-palette} The app is not a palette generator app. You can make palettes with existing colors or colors you choose, but it won't generate nice palettes automatically. You can use a palette generator tool like [Coolors.co](https://coolors.co), download the palette as ASE, and import it into the app. You can also use my [ChatGPT bot](https://chatgpt.com/g/g-682c8d11e9988191bcc0f2c54cd1fb71-simple-color-palette-generator) to generate palettes with AI. #### How can I edit a color? Right-click (macOS) or long-tap (iOS) a color to edit. #### How can I change the order of colors? Drag and drop the color to move it to a different position. #### How can I copy a color’s value? Right-click (macOS) or long-tap (iOS) a color to copy its value. #### How can I drag and drop colors between palettes? Because of a macOS/iOS bug, this is not currently possible. #### How can I sync palettes between devices? You can save the palettes to iCloud Drive or any file sharing method. The palettes are just files. #### How do I import colors from other apps? You can paste or drop colors from other apps. #### Why do the color values shown in the app differ from those in the file? The app shows display RGB values (gamma-corrected) for easier understanding, while the file stores linear RGB values for technical precision. Both represent exactly the same color, just expressed in different formats. #### Does it support OKLCH? You can copy colors as OKLCH. Adding color in OKLCH format is planned. #### What is OKLCH? [Learn more.](https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl) #### Does it support showing and copying the color as HSL? No. The app uses [OKLCH](https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl) instead, which better matches how humans perceive color differences and makes it easier to create visually harmonious color combinations. #### Does the app support color spaces other than sRGB? The Simple Color Palette format stores colors in linear sRGB, which can be converted losslessly to any other RGB color space while supporting extended range values for wide gamut colors. #### How can I make the window always stay on top on macOS? Click the “Stay on Top” toggle in the “Window” menu. #### Can I use the palettes in my own apps? Yes. The format is [open source](https://github.com/simple-color-palette/spec) and has a [Swift implementation](https://github.com/simple-color-palette/SimpleColorPaletteSwift) available. #### How can I compare two palettes side by side? Just open both palettes and move the windows next to each other. #### Does it support gradients? No, only flat colors are supported. ## Older Versions - [1.2.0](https://www.dropbox.com/scl/fi/pn0p37paa3no0izdnmo0g/Simple-Color-Palette-1.2.0-macOS-15-1772815829.zip?rlkey=lnt9co9xdb2b9n6bn9rao9pux&raw=1) for macOS 15+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/z9kdudx71b6zkryxdm6oy/Simple-Color-Palette-1.3.0-1772815584.zip?rlkey=z36l3zkwsy4zx0dq9jv4zg9lo&raw=1) *(1.3.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/spaced.md ================================================ --- title: Spaced subtitle: Organize your menu bar items into groups pubDate: 2023-01-20 platforms: - macOS isMenuBarApp: true appStoreId: 1666327168 olderMacOSVersions: - '13' - '14' - '15' --- The app provides menu bar separators to group menu bar items for a more streamlined appearance. It is particularly beneficial on larger screens where menu bar space is ample, as opposed to smaller laptop screens with limited space.
    > [!TIP] > You may also like my [Menu Bar Spacing](/menu-bar-spacing) app for changing the gap between menu bar items. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can the app let me hide and show menu bar items? That is out of scope for this app. You want something like [Bartender](https://www.macbartender.com) or [Hidden Bar](https://apps.apple.com/no/app/hidden-bar/id1452453066?mt=12). #### Can the app support changing the distance between menu bar items? You can do that with my [Menu Bar Spacing](/menu-bar-spacing) app. #### Can the app also support grouping icons in the Dock? You can do that with my [Supercharge](/supercharge) app. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.2.0](https://www.dropbox.com/scl/fi/r3hd7t0uki292tblm91i5/Spaced-1.2.0-macOS-15-1774259497.zip?rlkey=rxpji2s1o2uo68tbt8e7d5xym&raw=1) for macOS 15+ - [1.1.1](https://github.com/user-attachments/files/18212917/Spaced.1.1.1.-.macOS.14.zip) for macOS 14+ - [1.0.4](https://github.com/sindresorhus/meta/files/13852708/Spaced.1.0.4.-.macOS.13.zip) for macOS 13+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/spty4pij7c9geahzhzubx/Spaced-1.3.0-1774258825.zip?rlkey=fboyvze8lg2boa5fcs3kai0rr&raw=1) *(1.3.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/speediness.md ================================================ --- title: Speediness subtitle: Check your internet speed pubDate: 2021-11-23 platforms: - macOS appStoreId: 1596706466 hasSentry: true olderMacOSVersions: - '12' - '13' - '14' - '15' --- Quickly check your internet connection speed, ping, and [RPM](#rpm). ## Tips ### Show the current internet speed in the menu bar {#menu-bar-output} Speediness output in the menu bar You will need the [One Thing](https://sindresorhus.com/one-thing) app. On macOS 26, you can use Shortcuts automations to run the shortcut at a certain interval. On older macOS versions, you can use the [Shortery](https://apps.apple.com/app/id1594183810) app for this. Add [this shortcut](https://www.icloud.com/shortcuts/d073ad4fd89f4c9cb110795780ed2377) and then create a new time trigger in Shortery. I would recommend an interval higher than 10 minutes. Tip: If you have limited space in the menu bar, you could switch the info shown in One Thing at an interval too. For example, you could show the internet speed for 10 minutes and then the weather for the next 10 minutes. ## Frequently Asked Questions {#faq} #### Why does it show different result from other tools? {#different-result} By default, tests are run in parallel to better reflect real-world situations (video chat and voice calls). Because of this, speeds may differ from other tools. You can change this in the settings. #### How does it compare to Speedtest by Ookla? {#ookla} The Speedtest app uses a nearby server, which means the speed does not reflect real-world usage — it shows the most optimal scenario. Its requests are also often prioritized by ISPs, which skews the numbers even more. Speediness also looks more like a proper macOS app and it has support for Shortcuts. #### How does it compare to fast.com? {#fast} The problem with fast.com is that it's run by Netflix, and Netflix's servers are often prioritized (and sometimes throttled), meaning you won't always get a realistic value. It pretty much gives you your speed for watching Netflix. #### What does the responsiveness (RPM) value mean? {#rpm} It's a measurement called Round-trips Per Minute (RPM) — the number of sequential round-trips a network can do in one minute under normal working conditions. [Learn more](https://support.apple.com/HT212313) #### What does the ping value mean? It's a measurement of the round-trip time for messages sent from the originating host to a destination computer that are echoed back to the source. `ms` is the symbol for milliseconds. [Learn more](https://xtrium.com/what-is-a-good-ping-speed/) #### Why should I trust the results? The app makes use of the built-in [`networkQuality` command-line tool](https://support.apple.com/HT212313) under the hood, which is provided by Apple. #### Can it show a progress bar instead of a spinner? No, a progress bar would not accurately reflect progress due to the variability in testing time, which depends on factors like network speed and other unknown conditions. #### Does it measure jitter? {#jitter} No. Jitter sounds useful, but it rarely adds actionable insight. If jitter is bad, you’ll see it immediately through unstable latency and low responsiveness. If responsiveness is high, jitter is already in a safe range. A separate jitter number wouldn’t change what you can do with the result. #### How can I run it from the menu bar? Open the Shortcuts app, create a new shortcut, and then drag the “Get Internet Speed” action into the shortcut editor. Enable the “Pin in Menu Bar” shortcut setting. You can now run speed tests directly from the Shortcuts icon in the menu bar. #### How can I run the speed test automatically every hour? {#scheduled} Open the Shortcuts app, create a new shortcut, and then drag the “Get Internet Speed” action into the shortcut editor. You may want to enable the “Add to History” action setting. On macOS 26, you can use Shortcuts automations to run this shortcut every hour or at an interval of your choosing. On older macOS versions, you can use the [Shortery app](https://apps.apple.com/app/id1594183810) for this. #### Can you add support for iOS? {#ios} This is unfortunately not possible at this time as the app relies on the built-in [`networkQuality` command-line tool](https://support.apple.com/HT212313), which does not exist on iOS. Someone would have to implement the [“Responsiveness under Working Conditions” RFC](https://github.com/network-quality/draft-ietf-ippm-responsiveness/blob/master/draft-ietf-ippm-responsiveness.txt) in Swift. [Reference implementation in Go.](https://github.com/network-quality/goresponsiveness) Let me know if you end up making a Swift package for this. #### Can you make a command-line tool for this app? This app uses the built-in [`networkQuality` command-line tool](https://support.apple.com/HT212313) under the hood. You can use it too. #### Is the app native? Yes, it's native and written in Swift and SwiftUI. #### Why is this free without ads? I just enjoy making Mac apps. Consider leaving a nice review on the App Store. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.8.1](https://www.dropbox.com/scl/fi/84jjd5hqfhdp9sv76jb9a/Speediness-1.8.1-macOS-15-1770360327.zip?rlkey=v8tc9r4r7iz9kqfjyksfdwri2&raw=1) for macOS 15+ - [1.7.2](https://github.com/user-attachments/files/18912491/Speediness.1.7.2.-.macOS.14.zip) for macOS 14+ - [1.6.1](https://github.com/sindresorhus/meta/files/13965129/Speediness.1.6.1.-.macOS.13.zip) for macOS 13+ - [1.5.0](https://github.com/sindresorhus/meta/files/10847708/Speediness.1.5.0.-.macOS.12.zip) for macOS 12+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/xt04xgqt32n6ekqdao10b/Speediness-2.0.0-1770359964.zip?rlkey=d16dzbs51ys756sb2cw49merv&raw=1) *(2.0.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/supercharge.md ================================================ --- title: Supercharge subtitle: Elevate your Mac experience pubDate: 2024-09-29 platforms: - macOS isPaid: true isMenuBarApp: true hasSentry: true setappId: 742 releasesRepo: supercharge-meta mainLinks: 'Buy': https://sindresorhus.gumroad.com/l/supercharge?wanted=true requirement: Requires macOS 15.4 or later # downloads: 10000 announcement: text: Save 28% with the Power User Bundle — get 3 power user apps together url: https://sindresorhus.gumroad.com/l/power-user urlText: Get the bundle pressQuotes: - quote: It's almost as if Sindre Sorhus heard every gripe you've ever muttered about macOS and turned them into a to-do list of app features. source: Today on Mac url: https://todayonmac.com/supercharge/ - quote: Once you try the app, you'll see it was created by a developer using macOS to solve those minor yet never truly minor annoyances. It packs a lot of functionality into one app. It's a really great app. source: MJay Le - quote: If I am allowed to buy only one app to run on my Mac, this would be the one. I simply can't live without it. It adds so many useful features, which are absolutely necessary, and keeps adding new, useful features. source: Saksham Bind # olderMacOSVersions: # - '15' feedbackNote: | If you have moved to a new Mac and need to download the app again, you can download it from your [Gumroad receipt email or Gumroad account](https://gumroad.com/help/article/199-how-do-i-access-my-purchase). When reporting bugs, try quitting Supercharge, and if the issue disappears, it is likely not an issue with Supercharge. If the issue is still there, try turning off things in the “Tweaks” settings tab until it does not happen anymore, to narrow down which feature is causing the issue, and let me know. If the issue is that a keyboard shortcut is not working, it could be [this](/apps/faq#secure-input-problem). If you are seeing the Supercharge icon showing up for drives in the Finder sidebar, see [this](/supercharge#finder-extension-sidebar-icon). The Finder context menu items will not show up in any [sync folder like iCloud, Dropbox, OneDrive, etc](/supercharge#finder-context-menu-icloud) --- Improve your Mac experience with a bunch of useful functionality. Supercharge adds power tools for Mission Control, the Dock, Finder, window management, and more, helping you work faster, reduce friction, and fix everyday macOS annoyances. *(Every feature is opt-in, so you can enable only what you need)* #### Highlights - [Mission Control actions](#mission-control-improvements) — Close, hide, minimize, and quit right inside Mission Control. - [Dock icon behavior](#dock-icon-click-behavior) — Click to hide/minimize/cycle. - [Finder power-ups](#finder-context-menu) — Cut/paste files, new file, templates, open in terminal, inline share services, etc. - [Better window buttons](#green-traffic-light-button-fill) — Red quits app, green fills instead of fullscreen, [yellow hides app](#yellow-traffic-light-button-hide). - Notifications — Clear all or click with a shortcut. - Stop Music app from launching when you press Play/Pause. - [Auto-quit or hide inactive apps](#auto-quit-apps) — Keep focused by automatically managing distraction apps. - [Keyboard Shortcut Inspector](#keyboard-shortcut-inspector) — See which app owns a global hotkey. - Utility — [Keep Awake](#keep-awake), Cleaning Mode, Cat Mode, auto-select AirDrop target. - [Capture text](#capture-text) + [Translate anywhere](#capture-translate-text) — OCR and instant translate from any screen region. - [Scan QR & barcodes](#scan-qr-codes) — From screen or clipboard, multi-code aware. - [Isolate Window](#isolate-window) — One window, zero distractions. - Spotlight keyboard shortcuts - Open clipboard history directly. - Toggles - Dark Mode, Night Shift, etc. - Extras — Add Dock & Finder sidebar spacers, change default browser without prompts.
    #### All - Clear notifications with a keyboard shortcut or from the menu - Click top visible notification with a keyboard shortcut - [Close & minimize windows and hide & quit apps directly from Mission Control](#mission-control-improvements) - [Clicking an active app's Dock icon hides the app, minimizes its windows, or cycles through its windows](#dock-icon-click-behavior) - You can also middle-click any running app for the same actions, plus quit. - Unminimizes an app’s windows (all or one) when activated (e.g., via Command+Tab) - Hide all windows (aka. boss mode) - [Isolate window](#isolate-window) - [Automatically quit or hide apps after inactivity](#auto-quit-apps) - [Capture text from anywhere on screen](#capture-text) - [Capture and translate text from anywhere on screen](#capture-translate-text) - Prevent the Music app from auto-opening when you don't want to. For example, when pressing Play/Pause on your keyboard or AirPods. You can also have it launch another app like Spotify instead. Similar to apps like noTunes and Overkill. - Prevent accidental app quits[^quit] by instead using ⇧⌘Q, double tap Q while holding , or [press and hold ⌘Q](https://github.com/user-attachments/assets/0515e50f-2a93-4369-836e-085ad462fdf8) - Prevent accidental ⌘W window closes Adds a safety layer to ⌘W so you don’t nuke the wrong window (perfect for Safari web apps and standalone sites). Pick your gesture: ⇧⌘W, double-tap W while holding ⌘, or press-and-hold ⌘W with a visual timer. Works per-app with an inclusion filter, so you can guard only the apps that matter. - [Launch any app with a customizable global keyboard shortcut](https://github.com/user-attachments/assets/22bf135a-cc39-45ef-82ef-bf23176f0746) - [Clicking green traffic light button fills window instead of entering fullscreen](#green-traffic-light-button-fill) - [Clicking yellow traffic light button hides app instead of minimizing window](#yellow-traffic-light-button-hide) - Trigger specific Spotlight tabs directly with keyboard shortcuts (macOS 26+) Jump straight to Apps, Shortcuts, Files, or Clipboard History in Spotlight with customizable keyboard shortcuts. - [Scan QR codes and barcodes from anywhere on screen](#scan-qr-codes) - Automatically select AirDrop target (macOS 26 only) Enter a device name to automatically select it when the AirDrop dialog appears. - Cleaning Mode Makes your screen black and disables keyboard and mouse to let you safely clean your device. [Screenshot.](https://www.dropbox.com/scl/fi/6vm94elcusix6oqe5su78/434266737-572f4e43-d42a-49c2-925f-4db90ebbfd06-1748011610.mp4?rlkey=r538vzwv0k9ba5rjqhw4goaa7&raw=1) - Cat Mode Disables keyboard and mouse to prevent cats and other cute creatures from interfering with your computer. Similar to Cleaning Mode but without blacking out the screen. [Screenshot.](https://www.dropbox.com/scl/fi/tpxsx5i9r1vkjlf2recad/Cat-Mode-1756829427.mp4?rlkey=wfyu7192971mnu19p3i2mmqs4&raw=1) - [Run shortcuts from the menu](#run-shortcuts) Show your favorite shortcuts from the Shortcuts app in the menu. - Also available as an [independent app](/short-run). - Move files received through AirDrop to a specified folder Automatically move files from the Downloads folder as soon as they are received. - Prevent Finder window from opening when receiving through AirDrop Stops Finder from opening a new window and stealing focus when you receive AirDropped files. - [Keep computer awake](#keep-awake) - [Automatically clear clipboard for improved privacy](#automatic-clipboard-clearing) - [Prevent accidental window closing for certain apps](#prevent-accidental-window-closing) - Prevent Dock from showing when moving mouse to screen edge Useful if you want to hide the Dock entirely or only show it with a keyboard shortcut. Does not apply to fullscreen. - Open new window by Shift+clicking a running app in the Dock Makes it easy to open a new window for an app, similar to Windows. Works by simulating Command+N in the app, so it may not work correctly in all apps. - (beta) - Launch alternative app when clicking Finder icon in the Dock (e.g., Bloom, QSpace, Path Finder). - Auto-dismiss Shortcuts “Running your automation” notifications Automatically dismisses the “Running your automation” notifications that appear when running Shortcuts automations. - Play a sound when a specified keyboard shortcut is triggered Works for keyboard shortcuts handled by other apps, without changing how that shortcut behaves. Useful to add some fun sounds to your favorite keyboard shortcuts. - Finder: Move files by cutting[^commandx] (Command+X) and pasting (Command+V) - Finder: Open files with Return (you can then rename with Shift+Return or F2) - Finder: Reopen last closed tab with ⇧⌘T Works for tabs closed with ⌘W. Similar to “Reopen Closed Tab” in browsers. - Finder: Create new text file with Option+N *([video](https://github.com/user-attachments/assets/cb2c4606-12eb-4915-a64c-9b8ac3e123cf))* or from the [context menu](#finder-context-menu) Set default extension, auto-open after naming, and choose app. - Finder: Move files to the trash with (Delete) instead of ⌘⌫ - Finder: Go back to the previous folder with (Delete) This has a bonus feature of highlighting the folder you came from. - [Finder: Adds many useful actions to the context menu:](#finder-context-menu) copy path, move to, open folder with, AirDrop, folder colors, etc. - Finder: Paste copied image as file with ⌘V When the clipboard contains an image (for example from a browser), pressing ⌘V in Finder/Desktop creates a real image file in the current folder. Normally, this would do nothing as Finder can only paste files. - Finder: Middle-click sidebar items to open in a new tab *(macOS 26 only)* - Finder: Auto-adjust column widths to filenames in column view, or do it once with a keyboard shortcut - Known (unfixable) issues: - Columns may not adjust correctly in synced folders due to sync status icons. - Columns may not expand fully if the Finder window is narrow. A workaround is to make the Finder window very wide. - **If you are buying Supercharge just for this feature. Please try out the [trial](#trial) first.** - Finder: Invert selection (deselects what's currently selected and selects everything that wasn't selected) - Finder: Move or copy selected files with a keyboard shortcut Shows a system file dialog to choose where to move files. - Finder: Open new window when activating without windows By default, when you Command-Tab to Finder without any windows open, nothing happens. This ensures a new window opens automatically. - Finder: Make ⌘Q close all windows and hide Finder By default, ⌘Q does nothing in Finder. - Finder: Customize clicking Finder icon in Dock Choose what happens when you click the Finder icon in the Dock: System default behavior, open new window when already focused (first click focuses, subsequent clicks open new windows), or always open new window. - [Adds many useful services to “Services” in context menus (like in Finder):](#macos-services) copy path, move to, AirDrop, etc. - Exclude AirDrop, Mail, and Messages from the system Share menu These are usually forced to be shown by macOS. - Center mouse pointer on primary display when waking and unlocking Helps you quickly locate the mouse pointer after returning to your Mac. Also available via keyboard shortcut. - Limit output volume after waking and unlocking Automatically lowers your Mac's volume to a chosen maximum if it's louder when you return. Never unmutes or raises volume. Prevents accidental loud audio after leaving your Mac idle. - Disable delay when showing Dock. Does not apply to fullscreen. - Minimize all windows or just all except frontmost with keyboard shortcuts and from the menu. - Minimize all windows of the active app except frontmost with keyboard shortcuts and from the menu. - Unminimize all windows or first window of active app with keyboard shortcut. - Auto-copy screenshots to clipboard. Useful if you want screenshots saved and also instantly available to paste. Works with the built-in screenshot tool. - [Show markup tools by default in screenshot preview](https://github.com/user-attachments/assets/20b0cfe8-d588-4329-9132-9120b32da7ff) - Auto-open screenshot preview after capturing - Show or hide mouse pointer in screenshots - [Show input devices in the Sound menu bar item menu](https://github.com/user-attachments/assets/e6015206-c927-4c97-8f66-7408231d4f23) By default, it only shows output devices. - Archive old items in the Downloads folder automatically Keeps your Downloads folder tidy by moving older items to a separate location based on when they were added. - Archive old screenshots automatically Keeps your screenshots folder tidy by moving old screenshots to a separate location. Works with third-party screenshot apps too. - [Mail: Copy message link](#mail-copy-message-link) - [Notes: Copy note link](#notes-copy-note-link) - Safari: Use Delete and Shift+Delete to navigate back and forward - Toggle Finder with a keyboard shortcut (aka. [visor mode](https://totalfinder.binaryage.com/visor)) - Show the [menu bar window](https://github.com/user-attachments/assets/1b8e2e12-187a-4d32-8ba3-c13f154de9e0) for the Passwords app with a keyboard shortcut - Show the [menu bar window](https://github.com/user-attachments/assets/567bbbf5-12a1-45be-8ffa-93712574d4a0) for the Weather app with a keyboard shortcut - Show the window for the “Now Playing” menu bar item with a keyboard shortcut - [Change default browser](https://github.com/user-attachments/assets/b58a04da-2bdc-4bd0-bed4-ba62ba456491) (without a prompt) - Also available as an [independent app](/default-browser). - Auto-open downloaded calendar event (`.ics`) files and move them to trash after import Optionally remove alarms from events. - Lowercase file extension of files in Downloads folders For example, images from iPhone, which usually have `.JPG` or `.HEIC` extensions. Applies to both the local Downloads folder and the Downloads folder in iCloud Drive. - [Make brightness and volume key adjustments more precise with half and quarter-step increments](https://github.com/user-attachments/assets/e994755b-94ca-4e3c-8f70-5d3bffc3aed1) - [Export/import (backup) settings for any apps](#export-import-app-settings) - Toggle Terminal with a keyboard shortcut - [Offers to install apps from mounted DMG files](https://github.com/user-attachments/assets/5ecb9b0b-5719-4382-98a0-c3316bd20a6b) - Toggle Stage Manager directly from its menu bar item Normally, clicking it would open a window with a toggle. This saves one click. - Hide mouse pointer automatically after a period of inactivity or with keyboard shortcut (like Cursorcerer) Reappears on movement or when the shortcut is pressed again. - Show desktop (menu action) - Sleep displays (menu action and keyboard shortcut) Puts all your Mac’s screens to sleep. - Quit all apps (menu action and keyboard shortcut) Optionally exclude specific apps. - Quit all apps except frontmost (menu action and keyboard shortcut) Optionally exclude specific apps. - Eject all disks (menu action and keyboard shortcut) (optionally exclude some) - Dim icons of hidden apps in the Dock - Pick color on screen and copy (menu action and keyboard shortcut) (Hex, RGB, OKLCH) - Toggle mute sound Mute or unmute your Mac sound with a keyboard shortcut, from the menu, or using Shortcuts. - Toggle mute microphone Mute or unmute your microphone with a keyboard shortcut, from the menu, or using Shortcuts. Can show a menu bar icon for the current state. [Screenshot.](https://www.dropbox.com/scl/fi/dh8qprcekcjftnjc1hy2l/Mute-microphone-Screen-Shot-2025-07-31-at-19.16.08-1753983397.mp4?rlkey=i9c1ehd348v07g72t2ahpqcsz&raw=1) - Toggle dark mode - Toggle [Night Shift](https://support.apple.com/en-us/102191) - Toggle [True Tone](https://support.apple.com/en-us/102147) - Toggle low power mode - Toggle grayscale mode[^grayscale] - Toggle desktop icons and widgets visibility - Toggle [hot corners](https://support.apple.com/guide/mac-help/mchlp3000/mac) - Toggle function keys (switch between using F1, F2, etc., as standard function keys or media keys) Only supported for the built-in MacBook keyboard and Magic Keyboard. - Toggle iOS notifications Only works if your Mac supports notifications from iOS. - Control keyboard brightness with customizable keyboard shortcuts Only supported for the built-in MacBook keyboard. - Clear clipboard *(menu action and keyboard shortcut)* - Empty trash *(menu action and keyboard shortcut)* - [Clicking a Dock folder reveals it in Finder instead of showing its contents](#dock-folder-click) - Open system settings directly (usually requires a lot of clicks): - Hide My Email - Private Relay - VPN & Filters - [Only show sound menu bar icon when either muted or unmuted](https://github.com/user-attachments/assets/10447e39-f288-406b-a504-6ab7b8fcf261) - [Keyboard shortcut inspector](#keyboard-shortcut-inspector) - Add [Dock spacers](#dock-spacers) - Add [Finder sidebar spacers](#finder-sidebar-spacers) - Access hidden iMac accent colors Apply the special accent colors from iMac models on any Mac. These colors are normally only available on their respective iMac models. Note: iMac computers have fixed model accent color that cannot be modified through this feature. [Screenshot.](https://www.dropbox.com/scl/fi/oq8v03kvqj8kq4tnipqsz/Screen-Shot-2025-10-06-at-20.40.35-1759751136.png?rlkey=756uo6hmfepec095ibzcbw1pb&raw=1) - Disable Command+Tab app switcher Useful to prevent accidental activation if you don't use the app switcher. - Remove Caps Lock activation delay Makes Caps Lock respond instantly. - Prevent text clippings by disabling text dragging - TextEdit: Open a blank document instead of file picker on launch - Disable [Universal Clipboard](https://support.apple.com/en-us/102430) without disabling [Handoff](https://support.apple.com/en-us/102426) Useful if clipboard syncing feels slow or annoying. - Override Maps app language macOS doesn't allow changing the Maps app language in System Settings. This fixes that. Useful when search doesn't work well with your system language. - Reset [privacy permissions](https://support.apple.com/en-vn/guide/mac-help/mchl211c911f/mac) for any apps - Flush DNS cache - Shortcuts actions - Show [poof animation](https://substack.techreflect.org/p/origin-on-macos-cloud-poof-animation) when closing a window by clicking the red traffic light button Mentions: - [Video review](https://www.youtube.com/watch?v=hp-WMYZQ75U) - [Follow-up](https://www.youtube.com/watch?v=srZH0eTjylU) - [Article about the app](https://todayonmac.com/supercharge/) - [This App Brings Some of My Favorite Windows Features to Mac - Lifehacker](https://lifehacker.com/tech/this-app-brings-some-of-my-favorite-windows-features-to-mac) - [Best Mac App Runner-Up - Best Apps of the Year - MacStories](https://www.macstories.net/stories/macstories-selects-2025-recognizing-the-best-apps-of-the-year/#best-mac-app-runner-up) - [11 Mac Apps I (Almost) Can't Live Without - FromSergio](https://www.youtube.com/watch?v=ozVkroyqVGU&t=122s) - [Tiny macOS utility apps I love – Part 6](https://creativerly.com/tiny-macos-utility-apps-part-6/#supercharge) - [Video walkthrough (Spanish)](https://www.youtube.com/watch?v=jvwbDM4cfC8) [^commandx]: Without this feature, you have to first copy (Command+C) and then remember to move (Option+Command+V). The feature works by overriding the normal cut ⌘X keyboard shortcut when Finder is active and executes a copy ⌘C instead. When you then paste ⌘V, it executes the native move ⌥⌘V keyboard shortcut. So really, it's Finder moving the files. This app just makes the keyboard shortcuts more intuitive. If you don't paste, the files just stay in place. This feature also works with the Forklift app. [^quit]: The Q key is next to W, making it easy to accidentally hit Command+Q (quit) when reaching for Command+W (close window). [^grayscale]: Grayscale mode on macOS can be a useful tool for various purposes. It can help reduce eye strain during long work sessions, especially in low-light environments. For designers and developers, it's valuable for checking contrast and readability of user interfaces without the influence of color. Content creators may use it to evaluate the tonal balance of images or videos. Additionally, some users find that grayscale helps minimize distractions and improve focus by reducing the visual appeal of non-work-related apps and websites. While initially an adjustment, many users report increased productivity and a more mindful approach to computer usage when employing grayscale mode periodically. --- ### Features explained
    #### Run shortcuts {#run-shortcuts} Add shortcuts from the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to the menu for quick access. Show them in the main menu or a submenu. This is especially powerful as shortcuts can run AppleScript and shell scripts. You can even configure shortcuts to only show up when specific apps are active. Launch apps, run scripts, automate tasks — anything Shortcuts can do, now just one click away. [Screenshot](https://www.dropbox.com/scl/fi/ny886w93chpav0b325ioi/441329057-67290c47-4d78-490f-b0b8-f263ebc1022d-1748012141.png?rlkey=kf2ha9ygkvd4iu3zme8a0wo07&raw=1) Example shortcuts: - [Presentation Mode](https://www.icloud.com/shortcuts/c559563486a74b1dafb6ca2cb05e2cb5) - Turns on “Do Not Disturb”, keeps screen awake, and hides desktop icons. - [Toggle “Do Not Disturb”](https://www.icloud.com/shortcuts/17a79c58e70446c5a0f1c1c89653a4aa) - [Flush DNS cache](https://www.icloud.com/shortcuts/a91b36f037d74cd7a647284e8c376f3d) - [Keep computer awake for 1 hour](https://www.icloud.com/shortcuts/b5a51cb8ef664377a0536de34711a641) **How is this better than the built-in Shortcuts menu bar item?** - One less menu bar item. - Closes the menu when running a shortcut. - Shortcuts can be configured to only show up for specific apps. - Shortcuts can be shown in a submenu. - Visually less noisy. #### Keep awake {#keep-awake} Prevent your Mac from sleeping and optionally prevent your screen from dimming. A menu bar icon can be shown when active for visual indication. For advanced features like timing, check out [Lungo](/lungo). > [!IMPORTANT] > It will not prevent your computer from sleeping if you close the lid (except when connected to power and an external display). This is a macOS safety precaution and out of my control. > [!NOTE] > This will not prevent you from appearing idle in apps like Slack, Teams, or Discord, which track mouse movement to determine activity. #### Dock icon click behavior {#dock-icon-click-behavior} By default, clicking an app's Dock icon when the app is active does nothing. With Supercharge, you can make it either hide the app, minimize all its windows, or cycle through the app's windows. This can be particularly useful for quickly clearing your workspace or navigating between windows. You can also choose to unminimize all windows instead of just one when clicking a Dock icon of an app with minimized windows. #### Clicking green traffic light button fills window instead of entering fullscreen {#green-traffic-light-button-fill} Makes clicking the green traffic light button fill the window to fit the screen instead of entering fullscreen mode. Hold Option while clicking for the default fullscreen behavior. Click again to restore the previous window size. [Screenshot](https://github.com/user-attachments/assets/41dd0f46-05f7-46f2-b9a5-a5ae441da8a9) *It requires the “Displays have separate Spaces” system setting to be enabled because it relies on the window tile functionality, which is only available then.* #### Clicking yellow traffic light button hides app instead of minimizing window {#yellow-traffic-light-button-hide} Makes clicking the yellow traffic light button hide the app instead of minimizing the window. Hold Option while clicking for the default minimize behavior. #### Prevent accidental window closing for certain apps {#prevent-accidental-window-closing} Disables the red traffic light button for selected apps to prevent accidentally closing windows. This is particularly useful for apps where you want to be extra careful about not losing your work. You can hold Option while clicking the red traffic light button to close the window. #### Keyboard shortcut inspector {#keyboard-shortcut-inspector} Detects which apps are listening to or have registered a certain global keyboard shortcut. This is useful for troubleshooting keyboard shortcut conflicts between apps. Simply press any keyboard shortcut combination to see which apps are handling it. [Screenshot](https://github.com/user-attachments/assets/0f3ddfaa-caf5-471d-a880-93c97952dada) #### Automatic clipboard clearing {#automatic-clipboard-clearing} The clipboard is a common privacy risk as it can retain sensitive content (passwords, credit card numbers, private messages) long after you've copied it. Any app on your Mac can silently read the clipboard at any time. When enabled, it automatically clears the clipboard: - About one minute after copying (timer restarts on new copy) - When your Mac sleeps or locks This ensures sensitive data doesn't linger in your clipboard longer than needed, protecting you from both accidental exposure and malicious apps. #### Isolate window {#isolate-window} Hides all other apps and minimizes all other windows of the current app, leaving only the frontmost window visible. It's like a turbocharged “Hide Others”, but also minimizes your extra windows in the current app, so you see just the one you care about. Perfect for quickly clearing away distractions when you have many windows open (for example, multiple Safari windows across profiles). Available as a menu action, a customizable keyboard shortcut, and as a Shortcuts action for automations. #### Automatically quit or hide inactive apps {#auto-quit-apps} Automatically quits or hides apps when you're not using them, to maintain focus and free system resources. Like [Quitter](https://marco.org/apps#quitter) or Raycast's [Auto Quit](https://manual.raycast.com/window-management/auto-quit-applications), but built into Supercharge. Set up rules per app: quit or hide after a certain amount of inactivity. You might hide Slack after 3 minutes but quit X (Twitter) after 5 minutes, depending on how you work. Pauses for all apps while any camera/mic is in use or screen is being captured. Won't affect the active app. Menu bar-only apps won't be affected since they never become active or inactive. [Screenshot](https://www.dropbox.com/scl/fi/am443hh5uuglk8fiwmdqk/Auto-quit-feature-Screen-Shot-2025-11-06-at-15.45.16-1762418767.png?rlkey=fbbdi22wsdclq1cxeiwiijlam&raw=1) > [!TIP] > To enable only during specific times, places, or Focus modes, you can automate it with the Shortcuts app. *Available on macOS 26 or later. Currently experimental — feedback welcome!* **Why use auto-quit instead of just closing apps manually?** Apps don't close themselves. You check Slack once, then switch to other work and it sits there all day using 3GB of memory, spiking CPU on animated GIFs, draining battery. Same with Discord, Teams, Twitter. They accumulate. You could manually quit them each time, but you won't. Nobody does consistently. Even when backgrounded, these Electron apps consume resources that macOS App Nap can't fully reclaim. Auto-quit handles it automatically: apps only run when you're actually using them, not because you forgot to close them hours ago. Removes both the resource drain and the notification temptation that breaks your flow state. **Why not apply to all apps automatically?** Safety and control. You don't want your code editor or music player suddenly quitting. Each app needs different timing: hide Slack after 3 minutes, quit Mail after 10. Manual selection ensures only resource-heavy, distraction-prone apps get auto-quit—not your productivity tools or background utilities. #### Add spacers to the Finder sidebar {#finder-sidebar-spacers} Creates visual separators in the Finder sidebar to help organize your folders into groups. Simply drag the spacer between two folders in the sidebar. The spacer appears as an invisible folder. > [!NOTE] > The spacer still shows a folder icon. It's not possible to hide this. [Screenshot](https://www.dropbox.com/scl/fi/7ndp0sdiocgf0n7xdbolz/441615369-d929e3fe-6605-46f6-a99f-6f0f3486a88e-1748012169.png?rlkey=xr7716dr9xiyim0pu80qv6n5x&raw=1) #### Finder context menu additions {#finder-context-menu} Adds the following actions (can be customized) directly in the right-click menu in Finder: - New Text File Shown only when right-clicking an empty area in Finder. - New From Template Creates new files from templates. For example, a Markdown or Excel file. Templates can be organized in subfolders. Click a folder to copy its entire structure, or navigate into it to select individual files. Shown only when right-clicking an empty area in Finder, not a file. Supports dynamic placeholders in filenames (like `Diary {datetime-fixed}` → `Diary 2025-02-14 15.30`). And you can even have the file automatically open after naming it. [Screenshot.](https://github.com/user-attachments/assets/cb401a0e-2e40-4714-9493-b91563a7b387) - Open in New Window Opens the folder in a new window instead of a tab, even if you have set new windows to open as tabs. This action also shows up in the context menu for sidebar items. Useful when you want to view multiple folders side by side or drag items between locations. - Image/Video Dimensions - File Size - Date Created Shows the file's creation date. Click to copy. - Date Modified Shows when the file was last modified. Click to copy. - Date Added Shows when the file was added to the current folder. Click to copy. - Copy Path - Copy Filename - Copy File URL Useful for deep links. Clicking such link reveals it in Finder. - Copy Markdown Link Useful for deep links. Clicking such link reveals it in Finder. - Copy Contents Copies the contents of text files to the clipboard. - Open Folder With [Missing apps?](/supercharge#add-app-open-folder-with) - Make Symlink - Cut & Paste Adds Windows-style “Cut” and “Paste” to move files: right-click files and choose “Cut”, then right-click the destination folder and choose “Cut”. - Move To Moves files and folders to a chosen location. - Copy To Copies files and folders to a chosen location. - Share Shows the old-style Share item that is a submenu instead of a separate popover, which is faster to access. You can exclude AirDrop, Messages, and Mail from the menu, which are normally forced to be shown. However, there is no way to hide the existing Share item. - Inline Share Services Shows selected share extensions directly in the context menu for faster sharing. Customize which services appear in settings. [Screenshot](https://www.dropbox.com/scl/fi/wqlofapn6k11s3x2atmcp/Screen-Shot-2025-10-19-at-23.52.14-1760892902.png?rlkey=ek55ijtrjufe6if922cll2k2j&raw=1) - Open in App Adds menu items like “Open in Visual Studio Code” directly to the Finder context menu. Text editors show up for folders and text files, while other apps only show up for types they support. [Screenshot.](https://github.com/user-attachments/assets/980340bc-a257-475c-9a02-7b98853df9a7) - Open in Terminal Shown only when right-clicking a folder or an empty area in Finder. Supports Terminal, iTerm, Ghostty, kitty, WezTerm, Alacritty, and Warp. - AirDrop Shares files via AirDrop. - Email Creates a new email message in the default email app with the selected files as attachments. Works with Mail, Outlook, Spark, Mimestream, Airmail, Canary Mail, eM Client, and maybe other apps. Not Thunderbird. - Run Shortcut Shares files with a shortcut from the Shortcuts app. - Update Modified Date - Folder Color Changes the color of folders. [Screenshot.](https://github.com/user-attachments/assets/0687455b-61d3-4fdd-a863-1e378a3701d5) - Toggle Hidden Files Toggles visibility of hidden files. - New Folder Inside Creates a new folder inside the selected folder and automatically opens it for renaming. Only shown when selecting a single folder. - Flatten Folder Moves all files from subdirectories to the folder's root, eliminating nesting. Useful for cleaning up messy downloads or simplifying complicated folder structures. Handles duplicate names automatically. - Make Executable Makes files executable, similar to `chmod +x` in the terminal. Useful for shell scripts. - Invert Selection Selects the files and folders in Finder that are not selected. - Delete Immediately Permanently deletes files and folders without sending them to the Trash. - Copy Checksum SHA-1, SHA-256, SHA-384, SHA-512, MD5, CRC32 - Unquarantine Removes the quarantine flag that macOS adds to downloaded files and apps. This removes [security prompts](https://github.com/user-attachments/assets/adbf3c7e-8fee-4cd9-9a90-3958badfa94e) and restrictions for trusted items. - Scan QR Code Scans QR codes in images and copies the content to the clipboard. Only shown when right-clicking image files. - Print Prints files directly with the default printer without showing any dialog. - Remove Location Metadata Removes GPS location metadata from images to protect your privacy. - Remove All Metadata Removes all metadata (EXIF, GPS, etc.) from images. - Lock / Unlock Locks or unlocks files and folders. Locked items cannot be modified, renamed, or deleted until unlocked. Same as “Finder › Get Info › Locked”. - Git: Go to Root Navigates to the Git repository root folder in the current Finder window. Only shown when inside a Git repository. - Git: Show on GitHub Opens the selected file or folder on GitHub at the current commit. Only shown when inside a GitHub repository with an “origin” or “upstream” remote pointing to GitHub. - App: Bundle Identifier Shows the app's bundle identifier. Only shown when selecting a single app. Click to copy. - App: Version Shows the app's version. Only shown when selecting a single app. Click to copy. - App: Show on App Store Opens the app's page in the App Store app. Only shown when selecting a single app. - App: Copy App Store URL Copies shareable links to the App Store pages of the selected apps. - Is Identical Shows whether two or more selected files are identical. - Is Identical (Interactive) Opens a comparison window showing whether selected files are identical. Supports drag-and-drop to add more files. Groups identical files together and lists unique files separately. [Screenshot.](https://www.dropbox.com/scl/fi/cctbogzq60huyxceoa5xh/Is-Identical-Supercharge-Screen-Shot-2025-12-11-at-04.59.12-1765425592.png?rlkey=gzwhyzvgmakzz5r14nvrkko1s&raw=1) *They appear at the bottom of the context menu. There is no way to change that. [They also won't appear in iCloud, Dropbox, OneDrive or any other sync folder.](#finder-context-menu-icloud)* #### Services {#macos-services} - Copy Path - Copy Filename - Copy File URL Useful for deep links. Clicking such link reveals it in Finder. - Copy Markdown Link Useful for deep links. Clicking such link reveals it in Finder. - Copy File Contents Copies the contents of text files to the clipboard. - Copy Checksum (SHA-1, SHA-256, SHA-384, SHA-512, MD5, CRC32) Copies checksums of files. - AirDrop Shares files via AirDrop. - Run Shortcut Shares files with a shortcut from the Shortcuts app. - Scan QR Code Scans QR codes from images and copies their content to the clipboard. - Email Creates a new email message in the default email app with the selected files as attachments. Works with Mail, Outlook, Spark, Mimestream, Airmail, Canary Mail, and maybe other apps. Not Thunderbird. - Open URLs Opens all given URLs or those automatically detected in text. - Copy URLs Copies all given URLs or those automatically detected in text. Finder-specific services: - Move To… Moves files and folders to a chosen location. - Copy To… Copies files and folders to a chosen location. - Open in Terminal Shown only when right-clicking a folder in Finder. Supports Terminal, iTerm, Ghostty, kitty, WezTerm, Alacritty, and Warp. - Update Modified Date Updates the modified date of files and folders to the current time. - Make Symlink - Unquarantine Removes the quarantine flag that macOS adds to downloaded files and apps. This removes [security prompts](https://github.com/user-attachments/assets/adbf3c7e-8fee-4cd9-9a90-3958badfa94e) and restrictions for trusted items. - New Folder Inside Creates a new folder inside the selected folder and opens it for renaming. - Flatten Folder Moves all files from subdirectories to the folder's root, eliminating nesting. - Make Executable Makes files executable, similar to `chmod +x` in the terminal. Useful for shell scripts. - New Text File in Finder Creates a new text file in the current folder. You must right-click an existing file or folder to access it. - Invert Selection in Finder Selects the files and folders in Finder that are not selected. - Toggle Hidden Files in Finder Toggles visibility of hidden files. - Lock Locks files and folders. Locked items cannot be modified, renamed, or deleted. - Unlock Unlocks files and folders, allowing them to be modified, renamed, or deleted. - Are Files Identical? Shows whether two or more selected files are identical. - Are Files Identical? (Interactive) Opens a comparison window showing whether selected files are identical. Supports drag-and-drop to add more files. Groups identical files together and lists unique files separately. *[macOS Services](https://macreports.com/what-is-the-services-menu-in-macos/) are built-in quick actions available in right-click and app menus system-wide. They let you perform tasks like copying file info or text without leaving your current app. Supercharge adds extra, genuinely useful services to make these menus even more powerful.* #### Capture text from anywhere on screen {#capture-text} Select any region of your screen to instantly copy the text, even if it's unselectable. Great for extracting text from images, PDFs, presentations, or any other content. Powered by macOS’ built-in OCR. Text quality and language support depend on the system, not the app. [Screenshot](https://www.dropbox.com/scl/fi/6t4hst8wtbnm9k5hvrg1q/Capture-Text-Screen-Shot-2025-09-02-at-21.32.17-1756825559.mp4?rlkey=hztcfyrcba7v7hn7ex34tjy2y&raw=1) *Check out my [Text Lens](/text-lens) app for more features.* **Supported languages** - English - French - Italian - German - Spanish - Portuguese - Chinese, Simplified - Chinese, Traditional - Cantonese, Simplified - Cantonese, Traditional - Korean - Japanese - Russian - Ukrainian - Thai - Vietnamese - Arabic - Arabic, Najdi And on macOS 26 and later: - Turkish - Indonesian - Czech - Danish - Dutch - Norwegian Nynorsk - Norwegian Bokmål - Malay - Polish - Romanian - Swedish #### Capture and translate text from anywhere on screen {#capture-translate-text} Select any region of your screen to instantly translate text, even from images or unselectable text. - [Screenshot](https://github.com/user-attachments/assets/e7c6b336-6b70-4dfe-bba1-ba6ca18907c0) - [Supported languages](https://www.apple.com/macos/feature-availability/#translate-system-wide-translation) (except Hindi) #### Scan QR codes and barcodes {#scan-qr-codes} Select any region of your screen or use an image from your clipboard to instantly scan QR codes and barcodes and copy their content to the clipboard. Supports scanning multiple codes at once. - [Screenshot](https://github.com/user-attachments/assets/caa5aed9-5db2-460e-bbbb-15fae45a5195) - [Supported barcodes](https://developer.apple.com/documentation/vision/vnbarcodesymbology#Supported-Symbologies) #### Copy message link in Mail {#mail-copy-message-link} When you are in the Mail app, you can [open the Supercharge menu](https://github.com/user-attachments/assets/5cce205b-6743-4a60-958c-074a308ccc68) to copy a direct link to one or more selected messages. You can also set up a keyboard shortcut for this. Copying a message link can be useful if you want to refer to specific emails in other contexts. The link will look like this: `message://%3c66e85e1db33c7_961cfc499cd@lowworker-c6756b946-4rskj.mail%3e`. #### Copy note link in Notes {#notes-copy-note-link} When you are in the Notes app, you can [open the Supercharge menu](https://github.com/user-attachments/assets/028c2952-d708-4eda-ad39-613767532eb7) to copy a direct link to one or more selected notes. You can also set up a keyboard shortcut for this. Copying a note link can be useful if you want to refer to specific notes in other contexts, like in a task manager or calendar event. The link will look like this: `applenotes:note/933C49CC-04F4-5F21-A3EE-2CA93AFC88DD`. When clicked, it opens directly in the Notes app. #### Close and minimize windows and hide and quit apps directly from Mission Control {#mission-control-improvements} Enhances Mission Control by letting you close windows or quit apps by right-clicking the hovered window and use keyboard shortcuts (⌘W, ⌘Q, ⌘H, ⌘M) on the window you are hovering over. This makes window management more efficient as you don't have to exit Mission Control to perform these actions. [Example](https://github.com/user-attachments/assets/23c71431-4d3b-4913-b484-3a3f0b7b2b07) You can also navigate windows with arrow keys. Why not add an “X” overlay button on previews? Because right-click is faster and easier: you can click anywhere on the preview instead of hunting a tiny target. It keeps Mission Control visually clean, reduces misclicks, and avoids fighting its animations. #### Dock folder click behavior {#dock-folder-click} By default, clicking a folder in the Dock shows its contents in a popover. With Supercharge, you can make it directly reveal the folder in Finder instead. Does not work with smart folders. #### Export/import app settings {#export-import-app-settings} Back up and restore settings for Mac apps. Export to `.app-settings` files, then import on any Mac that has Supercharge. [Video](https://github.com/user-attachments/assets/82727408-3acb-4c18-91c6-428f1e0ad8c5) **How it works** - Export: Select apps to create backup files (saved to Downloads) - Import: Double-click `.app-settings` files to restore **Compatibility** - Works: Apps that store settings in the standard way ([UserDefaults](https://en.wikipedia.org/wiki/Defaults_(software))). Most native Mac apps do, like: Apple apps, my apps, Things, OmniFocus, etc. - Doesn’t work: Electron/Chrome-based apps and web wrappers (Slack, VS Code, Discord, Spotify, Notion) or apps that store settings outside UserDefaults **Tips** - Verify mission-critical apps before relying on this for migrations - `.app-settings` are standard [Property List](https://en.wikipedia.org/wiki/Property_list) files, and can be opened in any text editor - Use "Export All" for complete backup (timestamped folder) ### For Windows switchers {#from-windows} Just moved to macOS from Windows? Supercharge helps you feel at home: - Use Command+X and Command+V to move files in Finder — just like Cut and Paste in Windows Explorer. - Quit apps by closing their last window — like most Windows apps. - Fill windows to screen size instead of entering fullscreen — matches Windows maximize behavior. - Hide apps by clicking their Dock icon — like minimizing to the taskbar in Windows. - Press Return to open files in Finder (rename with F2 or Shift+Return). - Delete moves files to the trash (no need for Command+Delete). - Create new text files in Finder with Option+N or from the right-click menu — just like in Windows Explorer. - Add “Move To” and “Copy To” to Finder’s right-click menu — like in Windows. - Open Terminal from Finder — like “Open in Terminal” in Windows Explorer. - Restore all app windows when focusing an app — like taskbar behavior in Windows. - “Delete Immediately” in Finder’s right-click menu — like Shift+Delete in Windows. - Minimize all windows or all but the frontmost — same as Win+M or Win+Home. - Shift-click Dock icons to open a new window — just like Shift+clicking taskbar icons. - Command+Q (kinda) quits Finder — like closing Explorer in Windows. - Finder shows a new window when activated with no windows open — Windows Explorer always shows a window when launched. - Click Dock folders to open them in Finder — like clicking taskbar folders in Windows, which opens Explorer. - Use Delete / Shift+Delete in Safari to go back/forward — just like in Windows browsers. - Invert selection in Finder — matches “Invert Selection” in Windows Explorer. - Print files from Finder’s right-click menu — like Windows’ right-click “Print”. Make macOS feel less foreign — and more powerful.
    > [!TIP] > You may also like my [Shareful](/shareful), [Menu Bar Spacing](/menu-bar-spacing), and [Pure Paste](/pure-paste) apps. ## Trial Try the fully functional trial [here](https://www.dropbox.com/scl/fi/mnu1af9kk8qijy2szeewa/Supercharge-1.26.1-trial-1772872331.zip?rlkey=2pl2ngvb28imj7qnnsfw72svq&raw=1). The only limitation is a reminder to buy the app every 12 hours, and no automatic updates. All data and settings carry over if you buy it. *Download it to the Downloads folder, double-click to unzip, and then move it to the `/Applications` folder.* You can also [try it on Setapp](https://go.setapp.com/stp181?refAppID=742&utm_medium=vendor_program&utm_content=button) for 7 days for free. *Requires macOS 15.4 or later* ## Tips ### Troubleshooting {#troubleshooting} - Ensure you are on the latest version (click the “Check for Updates” button). - Restart your computer. - Try closing any anti-virus app you have running as it may [interfere with the app](/apps/faq#secure-input-problem) (or at least disable any Secure Keyboard Entry type setting it may have). And if you don't have any anti-virus app, try closing down all apps and menu bar items, just to rule out some other app interfering. If it's a work computer, your company may have something installed that prevents the app from working. - Reset permissions: Try clicking “… › Debug › Reset Permissions” in the Supercharge menu. #### Accidental quit troubleshooting A common issue is that macOS corrupts the privacy permissions. Try resetting permissions (see above). #### Cut and paste files troubleshooting Ensure you pressed Command+X and not Command+C. To make sure you used the feature correctly, try this: Select a file in Finder, press Command+X, change to a different folder, press Command+V. The file should have been moved to this new folder. > [!NOTE] > You cannot cut, highlight a folder, and then paste. You have to actually go into the folder to paste to it. That's just how Finder works. Same with copy-pasting. If it's still not working, try this: Select a file in Finder, press Command+C, change to a different folder, press Option+Command+V. The file should have been moved to this new folder. If this did not work, the problem is not this app, as those are the keyboard shortcuts it simulates. As a last resort, try [resetting permissions](/apps/faq#mac-reset-permissions) and restarting your computer. Also try closing any anti-virus app you have running as it may [interfere with the app](/apps/faq#secure-input-problem) (or at least disable any Secure Keyboard Entry type setting it may have). And if you don't have any anti-virus app, try closing down all apps and menu bar items, just to rule out some other app interfering. If it's a work computer, your company may have something installed that prevents the app from working. ### Launch browser If you have enabled showing browsers in the menu, you can hold the Option key and click a browser in the menu to open it, rather than setting it as the default. ### Tricks Some things you can already do that you may not know about: - Hide an app by Option-clicking on the app's Dock icon. - Show Control Center by pressing Fn+C. - Toggle a specific VPN using a keyboard shortcut with Shortcuts. Add [this shortcut](https://www.icloud.com/shortcuts/a0c3171fe98a4379b8197299a84b060e) and set the VPN parameter and a keyboard shortcut. - [Make Finder remember its size and position.](https://apple.stackexchange.com/a/171274/2363) - [Prevent opening apps when clicking links that are Universal Links.](https://lapcatsoftware.com/articles/universal-links2.html) - [Change the keyboard shortcut for menu item actions in a specific app.](https://support.apple.com/guide/mac-help/create-keyboard-shortcuts-for-apps-mchlp2271/mac) - [Change the keyboard shortcut for menu item actions in all apps.](https://apple.stackexchange.com/a/125628/2363) - Set Finder's default view options: Open a folder, press Command+J, adjust settings, and click “Use as Defaults”. To reset a folder's custom settings, press Command+J, hold Option, and click “Restore to Defaults”. - [Show “Dimensions” column in Finder.](https://apple.stackexchange.com/questions/18728/how-can-i-show-the-dimension-column-in-finder) - Option-click the sound menu bar icon to be able to also choose input device. Or use the tweak in Supercharge to see it by default. - In open/save dialogs, navigate to a copied absolute path by pressing Command+V. - [Translate website in Safari using a keyboard shortcut.](https://www.reddit.com/r/Safari/comments/1auqjjc/how_to_make_safari_full_page_translation_by/) - In Safari, enter Picture-in-Picture by pressing Shift+Command+R. - In Finder, select a file, and then press Command+Option+C to copy its path. ## Frequently Asked Questions {#faq} #### I have a feature request, bug report, or some feedback Some things are not possible though: - [Removing the Trash icon in the Dock.](https://apple.stackexchange.com/a/454812/2363) - Removing the Finder icon in the Dock. - Disabling Stage Manager animations. - Fill the entire row with the file's tag color in Finder. - Naming spaces. Check out [this app](https://github.com/Jaysce/Spaceman) for showing space names in the menu bar. - Removing or changing Finder context menu items. It can only add items. - Colored Finder sidebar icons. - Moving Stage Manager to the right without having the Dock on the left side. - The "Mission Control tweaks" feature for Stage Manager. - Toggle “auto brightness” system setting. Some things are not planned: - Memory cleaner - Apps like these are a scam. macOS handles memory efficiently. There is no need for an app like this. #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have disabled the “Show menu bar icon” setting, which hides the menu bar icon. Launch the app again to show the main window. #### I moved to a new computer, how can I download the app again? If you purchased it on [Gumroad](https://gumroad.com), you can download the app again from your Gumroad account or the Gumroad receipt email. #### The tweaks like Finder cut & paste no longer work This usually happens when an app [blocks keyboard input reading](/apps/faq#secure-input-problem). #### Why is Supercharge so expensive? {#price} - **It's really 10 apps in 1**\ Supercharge packs dozens of powerful features that would typically require multiple separate apps. - **One-time purchase, lifetime value**\ In a world where everything is subscription-based, Supercharge is a one-time purchase with unlimited free updates forever. No monthly fees, no restrictions on how many personal devices you can use it on. - **Fixes countless macOS annoyances**\ Apple leaves many frustrating gaps in macOS functionality. Supercharge addresses dozens of these pain points that users encounter daily but Apple hasn't fixed. - **Complex engineering under the hood**\ The app performs very difficult technical tasks, from low-level system integration to advanced automation features. Each feature requires significant development effort to work reliably across macOS updates. - **Dedicated ongoing support**\ You get responsive support and regular feature additions. - **Professional quality and reliability**\ I have been obsessively crafting Mac apps for years. - **Small market, high development costs**\ Mac power users are a niche market. The development costs must be spread across fewer users compared to mass-market apps. - **Support an indie developer**\ Get actual human support, genuine privacy protection, and a developer who listens to your feedback, unlike faceless corporations where you're just another number. I'm in it for the long haul. Try the [trial](#trial) and see for yourself. #### I can already do this with the command-line, BetterTouchTool, Keyboard Maestro, etc. Supercharge offers a simpler, more user-friendly approach. It's designed for users who want quick access to useful features without the complexity of scripting or configuring advanced tools. Supercharge provides a curated set of enhancements that work right out of the box, saving you time and effort in setup and maintenance. If you prefer more granular control and don't mind the setup process, those other tools might be a better fit for you. #### Why Command+X? I can already move files with Command+C and Option+Command+V - It's more logical to cut & paste than copy & move. - Consistency and muscle memory benefits if you also use Linux or Windows. #### What are Dock spacers? {#dock-spacers} Dock spacers are [invisible gaps](https://res.cloudinary.com/cpenned/image/upload/f_auto,w_auto/v1636732613/Blog/post-images/20211112-dock.jpg) you can add to your Mac's Dock. They help organize your apps into groups, improving visual clarity. Supercharge lets you easily add these spacers, giving you better control over your Dock's layout. #### Can I add custom actions to the app? As of now, the app focuses on providing a curated set of built-in features for enhancing your Mac experience. I'm happy to consider requests. #### Can you add a certain toggle? I'm happy to consider requests, but I don't intend for this app to turn into a “toggler” app. I have just provided some commonly needed toggles. Some toggles I don't plan to add: - AirPods - Keep awake *(check out [Lungo](/lungo))* #### Does the app consume a lot of system resources? No, the app is optimized to run efficiently in the background with minimal CPU, memory, and battery usage. Most features are event-driven and only activate when needed. #### I cannot use Control+Space or Control+Shift+Space as a keyboard shortcut Go to “System Settings › Keyboard › Keyboard Shortcuts › Input Sources” and disable them all. #### Why would I want to clear my clipboard? Clearing the clipboard helps protect privacy by removing potentially sensitive information (like passwords or personal data) that might otherwise remain available for pasting. Any app can silently read the clipboard. And you could also accidentally paste it somewhere you didn't intend to. #### Why don’t the Finder context menu items show up in iCloud, Dropbox, and OneDrive folders? {#finder-context-menu-icloud} Finder Sync extensions, which power these context menu items, are intended to add sync functionality for third-party services in Finder. Since iCloud, Dropbox, and OneDrive folders have their own built-in sync, macOS doesn't allow the Supercharge extension in these locations to prevent conflicts. Some of the Finder context menu items are also available as [macOS services](#macos-services), which do show up in synced folders. #### I am seeing the Supercharge icon for external drives in the Finder sidebar when enabling context menu items {#finder-extension-sidebar-icon} macOS 26: This is a macOS bug and out of my control. When context menu items are enabled for external volumes, macOS shows the Supercharge app icon for each drive instead of drive icons in the Finder sidebar. As a workaround, you can disable showing the context menu items on external drives. macOS 15: This is a macOS bug and out of my control. When context menu items are enabled for external volumes, macOS shows document icons instead of drive icons in the Finder sidebar. As a workaround, you can disable showing the context menu items on external drives. #### How can I add my preferred apps to the “Open Folder With” Finder context menu? {#add-app-open-folder-with} The menu shows apps that declare support for opening folders. This is controlled by app developers, not by Supercharge. To get your preferred apps to appear in this menu, contact the developers of those apps and request them to add folder opening support. The developer will need to add `public.folder` to `LSItemContentTypes` in their app's Info.plist: ```xml LSItemContentTypes public.folder ``` *(If the app already contains `public.directory`, it will still have to add `public.folder`)* [Example report.](https://github.com/coteditor/CotEditor/issues/1809) If you know the app supports opening folders but it doesn't show up, it may be that the app has not properly declared support for it. Contact the app developer about adding the above. You could also [contact me](/feedback?product=Supercharge), and I can manually add the app. #### Can you add support for keyboard shortcuts to change default browser? Maybe. For now, you can make a shortcut in the Shortcuts app, give it a keyboard shortcut, and use the “Set Default Browser” Shortcuts action that comes with Supercharge. #### Can you add more features to changing the default browser, like rules? Features like rules require the app to intercept and forward URLs by acting as the default browser. This is out of scope for this app. Check out my [Velja](/velja) app for that. #### Why do some tweaks have a list of pre-defined keyboard shortcuts instead of a shortcut recorder? The pre-defined shortcuts are intentionally curated to help users quickly select sensible shortcuts that won't conflict with built-in app shortcuts. This approach reduces potential support issues. Missing a useful key combination? Let me know, and I will consider adding it. #### Can you add a Finder keyboard shortcut to move selected items into a new folder? This is already supported natively. See the “File › New Folder with Selection” menu item. Select some items and then press Control+Command+N. You can change the keyboard shortcut in the [System Settings](https://support.apple.com/guide/mac-help/create-keyboard-shortcuts-for-apps-mchlp2271/mac). #### Can the app support clearing clipboard formatting? {#pure-paste} Check out my [Pure Paste](/pure-paste) app for this. I think it makes more sense as a separate app. #### Can it play a sound when pressing one of the keyboard shortcuts? Use the “Play a sound when a specified keyboard shortcut is triggered” feature in the “Shortcuts”. Set it to the same shortcut to get audible feedback without changing how the shortcut behaves. #### How can I copy the original text in the translate popover? The translate popover is provided by macOS and does not support copying the original text. As a workaround, select the same language as the destination language, and then click “Copy Translation”. #### How can I run the actions from Raycast or Alfred? Most of the actions are exposed as Shortcuts actions, so create a shortcut with the action and run it from Raycast or Alfred. #### Can I trigger the actions using a custom URL scheme? It's something I plan to support at some point, but for now, you can use Shortcuts, as mentioned above. #### Can the app support hiding menu bar items? No, that's out of scope for this app. I recommend [Ice](https://icemenubar.app). #### Can you add Alt-Tab functionality like Windows? No, this would be very complex to implement well and there is already an excellent free app called [AltTab](https://alt-tab-macos.netlify.app) that does exactly this. #### Supercharge and Shortcutie seem to have some of the same actions for Shortcuts {#shortcutie} There is some overlap, but [Shortcutie](/shortcutie) includes many more actions. Supercharge only includes actions for its own features. Supercharge has the following Shortcuts actions that Shortcutie does not have: - Pick Color - Scan QR Code (Interactive) - Capture Text (Interactive) - Capture & Translate Text (Interactive) - Get Links to Selected Mail Messages - Copy Links to Selected Mail Messages - Get Links to Selected Notes - Copy Links to Selected Notes - Start Cleaning Mode - Start Cat Mode - Export App Settings - Get/Set Auto-Quit State - Get/Set Keep Awake State - Get/Set Sound Mute State - Get/Set Microphone Mute State - Toggle Finder - Toggle Terminal - Toggle Passwords Menu Bar Window - Toggle Weather Menu Bar Window - Toggle Now Playing Window - Toggle Hot Corners #### Why is this not in the App Store? Much of the functionality would not be possible in the App Store because of [sandboxing](/apps/faq#macos-sandbox). ## Scripting #### Events The [distributed notification](/apps/faq#distributed-notifications) `com.sindresorhus.defaultBrowserDidChange` is emitted when the default browser is changed from the app or the Shortcuts action. ================================================ FILE: source/content/apps/system-color-picker.md ================================================ --- title: System Color Picker subtitle: The familiar color picker supercharged pubDate: 2021-05-01 platforms: - macOS isMenuBarApp: true appStoreId: 1545870783 hasSentry: true olderMacOSVersions: - '11' - '12' - '13' - '14' - '15' feedbackNote: | ## On macOS 26, there is a bug with the color sampler where it does not always pick the color you want. The app uses the system color sampler and has no control over how it works. Apple will need to fix this. Note that the app wraps the macOS color picker as an app and adds some features. I have no control over how most things work though, like the tabs, color palettes, etc. Bugs with these must be fixed by macOS, not me. To see how it differs: select an image in Finder, open Quick Look, click the markup button, click the color button, and then click "Show Colors". --- #### Features - Palettes - Recently picked colors - Quickly copy, paste, and convert colors in Hex, HSL, RGB, Unit RGB (0-1), OKLCH, LCH, and CMYK format - Show as a normal app or in the menu bar - Pick a color or toggle the window from anywhere with a global keyboard shortcut - Make the window stay on top of all other windows - Launch it at login (when in the menu bar) - Hide menu bar icon - Shortcuts support - Import [Simple Color Palette](https://simplecolorpalette.com) and Adobe Swatch Exchange (ASE) palettes
    > [!TIP] > You may also like my [Simple Color Palette](/simple-color-palette) app. ## Tips - Press the Space key while using the color sampler to show the RGB values. The color sampler is a system component and it can unfortunately not show other kinds of color values. - Press the Option key when copying the Hex color to invert whether to include `#`. - Press the Shift key while selecting a color using the color sampler to prevent it from disappearing after your selection. ### Keyboard shortcuts You can use the following keyboard shortcuts in the app: - Pick color: Command p - Copy as Hex: Shift Command h - Copy as HSL: Shift Command s - Copy as RGB: Shift Command r - Copy as Unit RGB: Shift Command u - Copy as OKLCH: Shift Command o - Copy as LCH: Shift Command l - Copy as CMYK: Shift Command k - Paste color: Shift Command v *(In the format Hex, HSL, RGB, Unit RGB, OKLCH, LCH, or CMYK)* - Reset opacity: Control Shift o #### Switch between picker tabs You can quickly switch between different color picker tabs: - Next tab: Control Tab - Previous tab: Shift Control Tab - Wheel: Control 1 - Sliders: Control 2 - Color Palettes: Control 3 - Image Palettes: Control 4 - Pencils: Control 5 - Extensions: Control 6-9 *(if installed)* ### Plugins The built-in color picker supports plugins: - [Skala Color](https://bjango.com/mac/skalacolor/) - [Pro Picker](https://formulae.brew.sh/cask/colorpicker-propicker) - [Material Design](https://github.com/johnyanarella/MaterialDesignColorPicker) - [Color Picker Plus](https://github.com/viktorstrate/color-picker-plus) ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can the color sampler show Hex values? No. The color sampler in the app is provided by macOS and only supports showing RGB values when you press the Space key. To show Hex (or other formats) directly in the sampler would require a completely custom sampler, which in turn would need extra system permissions like “Screen Recording”. For now, the fastest workflow is to pick a color with the sampler and then copy it in Hex format from the app. #### What is OKLCH color? [It's a more human-friendly color format.](https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl) Prefer this format. #### How is OKLCH better than LCH? [OKLCH](https://evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl) improves upon [LCH](https://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/) by providing more accurate and consistent colors, particularly in very bright or very saturated areas. #### What is Unit RGB? It represents RGB values in the range 0-1 instead of 0-255. This format is commonly used for programming (SwiftUI, AppKit, UIKit, etc.) and other graphics programming contexts. For example, `0.5, 0.5, 0.5` in [Unit RGB](https://rgbcolorpicker.com/0-1) is equivalent to `rgb(128, 128, 128)` in standard RGB. It accepts values in the format `0.1, 0.1, 0.1` and `0.1 0.1 0.1`, including with opacity `0.1, 0.1, 0.1, 0.5`. #### The color changes if I copy and then paste it That is because the default color space in the picker is [Display P3](https://en.wikipedia.org/wiki/DCI-P3), which is [part of CSS Color 4](https://drafts.csswg.org/css-color-4/#valdef-color-display-p3), but the color space used for the legacy CSS color formats is [sRGB](https://en.wikipedia.org/wiki/SRGB) (browsers are starting to [handle color spaces](https://css-tricks.com/the-expanding-gamut-of-color-on-the-web/) but they are not all there yet). #### How do I clear the list of recently picked colors? In the main app window, click the clock icon in the middle toolbar. #### How do I use palettes? You can manage palettes by selecting the third tab in the window toolbar. The fastest way to add a color to a palette is to paste a Hex color value into the app and then click the `+` button in the palette. You can also drag and drop a color into the palette from anywhere. Palettes can be accessed both from the app and the menu bar icon (if enabled). You can even access them in other apps that use the system color picker. You can find palettes on [Coolors](https://coolors.co/palettes/trending). Download the ASE palette type, right-click the file, and select “Open In › Color Picker”. #### How can I remove a color in a palette or swatch? Select the color and press the Delete key or drag and drop the color onto the trash icon in the Dock. #### How can I remove all the swatch colors at once? Unfortunately, this is not possible as swatches are managed by macOS. You will need to delete them individually. #### How can I change the color space? Right-click the color wheel. You want to select “Display P3” if you use LCH or “sRGB” if you use Hex, HSL, or RGB. Note that the HSL and RGB formats will always be clamped to [sRGB](https://en.wikipedia.org/wiki/SRGB) color space. #### Can you support `SwiftUI.Color` / `UIColor` / `NSColor` formats? The best practice is to use [Asset Catalog for colors](https://devblog.xero.com/managing-ui-colours-with-ios-11-asset-catalogs-16500ba48205) instead of hard-coding the values in code. If you really want to hard-code colors, the [Skala color picker plugin](https://bjango.com/mac/skalacolor/) supports `UIColor` and `NSColor`. #### Why does the OKLCH chroma value differ from other sources? The app displays the OKLCH chroma value as a percentage instead of an absolute value for better user-friendliness. For example, `oklch(70% 25% 135)` in the app corresponds to `oklch(70% 0.1 135)` on [oklch.com](https://oklch.com). Both are correct: the percentage form (0-100%) and the decimal form (0-0.4) are standard ways to express [OKLCH chroma](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch#c). #### How can I export color palettes? **[Simple Color Palette](https://simplecolorpalette.com) format** 1. Click the `(…)` button in the window and select “Export Palettes” **CLR format** 1. Open Finder 1. Press Command+Shift+G 1. Enter `~/Library/Colors` 1. Copy the desired palette files #### How can I export swatches? 1. Go to the color palettes folder (see above) 1. Copy `NSColorPanelSwatches.plist` This file is not viewable or editable. It can only be used for backup or transfer between Macs. #### Can I contribute localizations? I don't plan to localize the app. ## Scripting ### URL scheme The app supports the `system-color-picker:` URL scheme for programmatic control: - `system-color-picker:pick` - Start the color sampler (eyedropper) - `system-color-picker:toggle` - Toggle the color picker window Example: ```sh open --background 'system-color-picker:pick' ``` This can be used to create custom keyboard shortcuts in tools like [Raycast](https://raycast.com) and [Alfred](https://alfredapp.com). ### Shortcuts You can use the “Sample Color from Screen” action for Shortcuts to sample color from the screen and then do something with it. > [!TIP] > You can [run shortcuts from the command-line](https://support.apple.com/guide/shortcuts-mac/run-shortcuts-from-the-command-line-apd455c82f02/mac). ## Older versions - [2.1.4](https://github.com/sindresorhus/System-Color-Picker/releases/download/older-releases/Color.Picker.2.1.4.-.macOS.15.zip) for macOS 15+ - [2.0.3](https://github.com/sindresorhus/System-Color-Picker/releases/download/older-releases/Color.Picker.2.0.3.-.macOS.14.zip) for macOS 14+ - [1.15.0](https://github.com/sindresorhus/System-Color-Picker/releases/download/older-releases/Color.Picker.1.15.0.-.macOS.13.zip) for macOS 13+ - [1.12.1](https://github.com/sindresorhus/System-Color-Picker/releases/download/older-releases/Color.Picker.1.12.1.-.macOS.12.zip) for macOS 12+ - [1.9.6](https://github.com/sindresorhus/System-Color-Picker/releases/download/older-releases/Color.Picker.1.9.6.-.macOS.11.zip) for macOS 11+ ## Non-App Store Version A special macOS version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/kk4c8p47uj791k5t0nj0n/Color-Picker-2.2.0-1767305140.zip?rlkey=jivahp9p4k5f24q76473zrnkd&raw=1) *(2.2.0 · macOS 26+)* ================================================ FILE: source/content/apps/text-lens.md ================================================ --- title: Text Lens subtitle: Copy unselectable text on screen pubDate: 2025-03-29 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 6743369285 olderMacOSVersions: - '15' feedbackNote: | [It made a mistake or the detection quality could be improved.](/text-lens#quality) --- Extract text from anywhere on your screen. Select any area containing text - from images, videos, PDFs, or presentations - and instantly convert it to editable text. #### Highlights - Extract text from anywhere on your screen - Scan QR codes and barcodes - Capture by simply clicking the menu bar icon - Works completely offline - Global keyboard shortcut to activate capture - Extract text from images on clipboard or files - Extract text directly from photo taken with iPhone/iPad camera - Drag and drop images onto menu bar icon to extract text - Optionally shows captured text in a window with the ability to edit - Enables doing multiple captures and copy as a single text - [Privacy focused](#privacy) #### Supported languages - English - French - Italian - German - Spanish - Portuguese - Chinese, Simplified - Chinese, Traditional - Cantonese, Simplified - Cantonese, Traditional - Korean - Japanese - Russian - Ukrainian - Thai - Vietnamese - Arabic - Arabic, Najdi - Turkish - Indonesian - Czech - Danish - Dutch - Norwegian Nynorsk - Norwegian Bokmål - Malay - Polish - Romanian - Swedish #### Privacy Everything is done locally on your device. Nothing leaves your device. The app is not even able to connect to the internet due to self-imposed restrictions that are enforced by macOS (no network entitlement). ## Tips ### General - When in capturing mode, simply click again to exit. You could also press Esc. - Right-click menu bar icon to capture. ### Captured text window - Clicking the close button or pressing Esc will discard the text. - If you start a new capture while the window is visible, the new text will be appended to the existing one. - Copy the whole text with Command+Shift+C. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Why does the app require screen recording permission? macOS requires screen recording permission for any app that reads pixels from the screen. The app needs this to extract text from the areas you manually select. It only captures those specific regions — never your entire screen, never continuously. Nothing ever leaves your device. The app has no network access and cannot connect to the internet. #### Why do I keep seeing screen recording permission reminders? {#screen-recording-reminders} This is a macOS 15 bug. Apple added a system that occasionally reminds you which apps have screen recording access. It’s supposed to appear every 90 days, but some users see it constantly due to a bug in macOS 15.3 and later. This affects many apps, not just this app. Workaround: - Open the Terminal app. - Run this command: ```sh defaults write ~/Library/Group\ Containers/group.com.apple.replayd/ScreenCaptureApprovals.plist com.sindresorhus.Text-Lens -dict-add kScreenCapturePrivacyHintPolicy 7776000 kScreenCapturePrivacyHintDate -date 2035-12-31; /usr/bin/killall -HUP replayd ``` #### How is this different from macOS built-in Live Text? While macOS Live Text works well for images and photos in supported apps, Text Lens works everywhere on your screen. You can capture text from videos, webpages, presentations, or any app - even when Live Text is not available. Text Lens also works with non-image content like UI elements and rendered text that Live Text can't detect. #### Can I use the app offline? Yes. Text recognition runs locally on your Mac. No internet connection is required. #### Can I capture text in multiple languages at once? Yes. The app can extract text in different languages simultaneously from the same capture. For example, you can capture a region containing both English and Chinese text, and both will be recognized correctly. The language setting is simply a hint to improve the recognition. #### Does the app preserve text formatting when copying? No, only plain text is captured. Formatting like italics, bold, or underlines is not preserved when copying text. #### Can you add support for more languages? {#add-language} The app uses macOS's text recognition system, so language support is determined by your operating system. #### Can you improve the text detection quality? {#quality} The app uses macOS's text recognition engine, so detection quality is determined by your operating system. Since this is handled by macOS, I cannot modify or improve it. #### I already own [Supercharge](/supercharge). Does this offer any benefits over its similar feature? {#supercharge} - Capture by simply clicking the menu bar icon - Extract text from images on clipboard or files - Extract text directly from photo taken with iPhone/iPad camera - Drag and drop images onto menu bar icon to extract text - Optionally shows captured text in a window with the ability to edit - Enables doing multiple captures and copy as a single text #### How does this compare to TextSniper? {#textsniper} This app's advantages: - Universal capture: Extract text, QR codes, and barcodes with a single action - Capture by simply clicking the menu bar icon - Extract text from clipboard and files - Drag and drop images onto the menu bar icon to extract text - Can show captured text in a window with the ability to edit - Enables doing multiple captures and copy as a single text - Choice of menu bar icon - Cheaper ($6 vs. $12) TextSniper advantages: - Text-to-speech - More keyboard shortcuts ## Older Versions - [1.2.0](https://www.dropbox.com/scl/fi/fl9johm8g2xpnkwb2476z/Text-Lens-1.2.0-macOS-15-1774364288.zip?rlkey=mz0uyd26aimispnl21uqaix32&raw=1) for macOS 15 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/today.md ================================================ --- title: Today subtitle: Today’s schedule in your menu bar pubDate: 2022-10-27 platforms: - macOS isMenuBarApp: true appStoreId: 6443714928 hasSentry: true olderMacOSVersions: - '13' - '14' - '15' feedbackNote: | [The app randomly disappears/quits](/apps/faq#randomly-quits) --- The perfect companion to the built-in Calendar app. Just the events for today. Click an event to show it in the Calendar app. It also gives you a quick way to directly join an upcoming video call. This app is intentionally simple. For more advanced needs, check out [Dato](/dato). It integrates with Calendar, Fantastical, and BusyCal. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### How do I get back to the settings if I have hidden the `…` menu item? Press the Option key while opening the Today menu. #### It does not support the video call service I use I'm happy to add support for more services. Just [send me](https://sindresorhus.com/feedback?product=Today&referrer=Website-FAQ) an invitation link (replace a few characters at the end to anonymize it). The app can also detect the link of any video call service if you correctly add it in the Calendar app: - Create a new event. - Paste the video call link into the location field. - Accept the dropdown suggestion about it being a video call. If you don't use the Calendar app, you can add the following to the notes field of an event: ``` ----( Video Call )---- https://some-video-call-service.com/join/23423 ---===--- ``` #### How do I add a calendar? [Add the calendar to the built-in Calendar app](https://support.apple.com/guide/calendar/add-or-delete-calendar-accounts-icl4308d6701/mac) and then enable it in the Today settings. #### How can I open meeting links (Google Meet, Zoom, Microsoft Teams, etc.) in a specific browser? Check out my [Velja app](https://sindresorhus.com/velja). It has built-in support for this without any setup. It can even open links to Zoom and Microsoft Teams directly in their desktop app. #### I have Fantastical set as my default calendar app but Today still opens Calendar There is a [macOS bug](https://github.com/feedback-assistant/reports/issues/290) that makes the default calendar app setting not work. To work around this, drag an event from the Calendar app into Finder, right-click on it, select “Get Info”, select your calendar in the “Open with” field, and click “Change All”. #### Can you add x feature? This app is a personal experiment to make the simplest calendar app possible. I'm happy to consider requests, but I'm also trying hard to keep the app simple. #### Can the app show notifications for events? {#notifications} You can set up notifications for events in the Calendar app. #### Can the app show notifications with a “Join” button for video calls? I don't plan to add this. You can get this feature in my [Dato app](/dato). #### Can the app show the upcoming event in the menu bar? I don't plan to add this. You can get this feature in my [Dato app](/dato) (with a lot of customizability). #### Can the app support showing reminders? I don't plan to add this. You can get this feature in my [Dato app](/dato). #### Can you make the app show events for more days? “Today” 😁 #### Can you add more menu bar icons? I'm happy to consider requests. You can find icons [here](https://developer.apple.com/sf-symbols/) and [here](https://thenounproject.com). #### I added a calendar to the Calendar app but it doesn't show up in the app You need to enable the calendar in the app settings. #### Can you add support for Google Calendar / Outlook 365 / Exchange? It's already supported. Just add your calendars to the built-in Calendar app and then enable those calendars in the app settings. #### My Google Calendar does not update in the app You might have to re-authenticate your Google account. Open the Calendar app's settings, go to the “Accounts” pane, and try to remove and re-add the Google account. #### How can I make my calendar refresh more often? Open the Calendar app's settings, go to the “Accounts” pane, choose the relevant calendar service in the left sidebar, and then change the “Refresh Calendars” setting. Ideally, it should be set to “Push”, but not all services support that, like Google. #### Can you add some widgets? I don't plan to add this. Very few users use widgets on macOS, so it's not worth the effort for a free app. macOS already has some built-in calendar widgets. And you can get more widgets with my [Dato app](/dato). #### Can you support iOS? I plan to do that at some point when the app is more mature. #### How does it compare to MeetingBar? {#meetingbar} MeetingBar is mainly for video calls and has a gadzillion settings and features around that. Today has a cleaner look and is opinionated so you don't have to make so many choices. If all you need is a quick way to join video calls, Today is probably what you want. If you need more advanced features, MeetingBar or [Dato](/dato) may be a better choice. #### How does it compare to Meeter? {#meeter} Meeter is mainly for video calls. It's also quite buggy and does not follow macOS conventions. Today has a cleaner look and is opinionated so you don't have to make so many choices. If all you need is a quick way to join video calls, Today is probably what you want. If you need more advanced features, MeetingBar or [Dato](/dato) may be a better choice. #### Can you localize the app into my language? I don't plan to localize the app. ## Older Versions - [1.7.1](https://www.dropbox.com/scl/fi/ca9u8j9b563svmshjh37j/Today-1.7.1-macOS-15-1770891871.zip?rlkey=80exyjq71aemdfagycis82u3w&raw=1) for macOS 15+ - [1.6.2](https://github.com/user-attachments/files/18873369/Today.1.6.2.-.macOS.14.zip) for macOS 14+ - [1.5.0](https://github.com/sindresorhus/meta/files/13997505/Today.1.5.0.-.macOS.13.zip) for macOS 13+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/06fgch1tc9yp87n44203e/Today-1.8.0-1770891350.zip?rlkey=8kgvpzcdme7bq917h717nlbk5&raw=1) *(1.8.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/touch-bar-simulator.md ================================================ --- title: Touch Bar Simulator subtitle: Use the Touch Bar on any Mac pubDate: 2017-04-16 isArchived: true platforms: - macOS repoUrl: https://github.com/sindresorhus/touch-bar-simulator --- Launch the Touch Bar simulator from anywhere without needing to have Xcode installed, whereas Apple requires you to launch it from inside Xcode. It also comes with a handy transparency slider, a screenshot button, and a service to toggle the Touch Bar in the Services menu or with a keyboard shortcut. ================================================ FILE: source/content/apps/utc-time.md ================================================ --- title: UTC Time subtitle: Show the time in UTC in the menu bar or a widget pubDate: 2021-03-16 platforms: - macOS isMenuBarApp: true appStoreId: 1538245904 hasSentry: true olderMacOSVersions: - '11' - '12' - '13' - '14' - '15' --- This can be useful as a quick reference. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can you localize the app into my language? The date & time output adheres to your locale settings. I don't plan to localize the app itself. #### UTC Time doesn't show up in the menu bar When the menu bar grows too large, macOS hides overflowing items, so UTC Time might have been hidden. Try to close some of your other menu bar apps. There’s, unfortunately, no way for apps to detect this and warn the user. #### Can you add an analog clock? I have no plans to add that. #### Can you add support for other time zones? That is outside the scope of this app, but check out my [Second Clock](/second-clock) or [Dato](/dato) app, which do support this. #### How can I customize the menu bar date and time format? Same answer as above. #### Can it show seconds in the clock? I don't plan to add this. Showing seconds wastes a lot of system resources and energy as macOS is very inefficient at rendering updates in the menu bar. Instead, just enable seconds in the system clock. #### Why is this free without ads? I just enjoy making apps. Consider leaving a nice review on the App Store. ## Older Versions - [1.10.0](https://www.dropbox.com/scl/fi/oj2tobls8f2dtotzo5u0j/UTC-Time-1.10.0-macOS-15-1769181410.zip?rlkey=3snz635x894dx95ngar8tns6p&raw=1) for macOS 15+ - [1.9.1](https://github.com/user-attachments/files/18215312/UTC.Time.1.9.1.-.macOS.14.zip) for macOS 14+ - [1.7.1](https://github.com/sindresorhus/meta/files/13973570/UTC.Time.1.7.1.-.macOS.13.zip) for macOS 13+ - [1.5.1](https://github.com/sindresorhus/meta/files/10767291/UTC.Time.1.5.1.-.macOS.12.zip) for macOS 12+ - [1.3.0](https://github.com/sindresorhus/meta/files/8007477/UTC.Time.1.3.0.-.macOS.11.zip) for macOS 11+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/t98b3p4kebmb7hrmahms4/UTC-Time-1.11.0-1769179922.zip?rlkey=2i3xk1wm2okqh1237rfkbuj3t&raw=1) *(1.11.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/velja.md ================================================ --- title: Velja subtitle: Powerful browser picker pubDate: 2022-04-21 platforms: - macOS isPaid: true isMenuBarApp: true hasSentry: true appStoreId: 1607635845 olderMacOSVersions: - '12' - '13' - '14' - '15' feedbackNote: | [Can you support Safari profiles?](/velja#safari-profiles) [Can you support Arc/Dia spaces/profiles?](/velja#arc) [Can you support ChatGPT Atlas profiles?](/velja#atlas-profiles) [Support for opening links directly in Slack is not possible.](/velja#slack) **If you're requesting an addition to the “Apps” list, [please read this](/velja#builtin-apps-requests).** If you are missing a browser in the browser prompt, ensure you have enabled it in the “Shown browsers” setting. Also try restarting your computer. --- Open links in a specific browser or a matching native app. Easily switch between browsers. [In-depth review of Velja.](https://www.podfeet.com/blog/2022/11/velja/) [*Trusted by almost 130K users.*](https://github.com/user-attachments/assets/011c6bda-186c-4ee7-868a-b71cc6f49a0b)
    > [!TIP] > You may also like my [Default Browser](/default-browser) app.
    #### Example use-cases - Use Safari as your primary browser but open Google Meet links in Chrome - Open links to figma.com directly in the Figma desktop app - Open links to the internal company website in Firefox - Open Zoom meeting invitations directly in the desktop Zoom app - Open all links clicked in the Slack app in your Chrome work profile
    #### Help Please help out by starring these Chrome issues which would help Velja users: - - - #### Supported browsers Any browser. #### Supported browsers for profiles - Chrome *(and Beta, Canary, Dev)* - Edge *(and Beta, Canary, Dev)* - Brave *(and Beta, Nightly)* - Vivaldi *(and Snapshot)* - Chromium - [Comet](https://comet.perplexity.ai) - [Helium](https://helium.computer) - Thorium - Wavebox - Firefox *(and Firefox Nightly, Firefox Developer Edition)* \* - Zen \* \* Only supports [new-style profiles](https://support.mozilla.org/en-US/kb/profile-management), not ones created with `about:profiles`. [How to migrate.](#firefox-migrate-profiles) ## Trial Try the fully functional trial [here](https://www.dropbox.com/scl/fi/3a9nj35coz3ohyizixxkg/Velja-3.1.0-trial-1770404437.zip?rlkey=qp07o6we2quz4715z2li7vdnu&raw=1). The only limitation is a reminder to buy the app every 12 hours, and no automatic updates. All data and settings carry over if you buy it. *Download it to the Downloads folder, double-click to unzip, and then move it to the `/Applications` folder.* *Requires macOS 26 or later* ## Tips ### Prompt Instead of showing the browser prompt by default, you could set it as the alternative browser, which would make it show when you hold the Fn key while clicking a link. You could also create a custom rule and select `Prompt` as the browser. For example, you could only show the prompt when clicking links in the Slack app. If you want to open a link in the background, press Control when selecting a browser in the prompt. [Known issue.](#chrome-background-bug) ### Prompt shortcuts While showing the browser prompt, you can press Option to show buttons to copy or share the link. Or press Shift or Command+C to quickly copy the link. Assign a custom letter to each browser in the “Shown Browsers” list to pick it directly by key while the prompt is open. Press Option+Tab/Shift+Option+Tab or arrow keys to cycle through browsers. Press Return or Space to select one. Command-click a browser to create a rule that always opens the current domain in that browser. You can also right-click a browser for more options, including creating a rule and opening in a new window (if supported by the browser). ### Copy URL See the above tip. You can also have “copy URL” as a browser choice in the prompt by installing [this app](https://github.com/sindresorhus/Copy-URL). ### Open links clicked in a specific app in a specific browser For example, to open all links you click in Slack in Chrome: - Open the Velja settings and go to the “Rules” pane. - Create a new rule and give it a name. - Select the browser to open. You can even choose a specific Chrome profile. - Create a new “Source Apps” matcher and select the app you want. For example, Slack. - Click “Save”. ### Using the Velja browser extension to open links directly in another browser To open links from one browser to another when clicking the Velja browser extension icon without seeing a prompt: 1. Go to Velja's Advanced settings and disable “Force show prompt when opening from browser extension” 2. Create a new rule: - Choose your target browser in “Open in” - Add your source browser in “Source Apps” For example, clicking the Velja extension icon in Safari should now open the link directly in Firefox. ### Open links in a private/incognito window For Safari, [click here](https://github.com/sindresorhus/Safari-Private). This is especially useful in combination with custom rules. For example, you could make a rule to open links to certain websites in a private window. *Support for other browsers is planned.* ### Open multiple URLs If you have a document with many URLs you want to open, select them, right-click, go to “Services”, and click “Open URLs with Velja”. [Learn more.](#macos-services) ### Open links in a website-wrapper app Let's say you have generated a website wrapper app for facebook.com using an app like [Unite](https://www.bzgapps.com/unite) or [Coherence](https://www.bzgapps.com/coherence), and you want all links to Facebook to go to this app instead of your browser: - Open the Velja settings and go to the “Rules” pane. - Create a new rule and give it a name. - Select the website wrapper app in the “Open in” field. - Create a new “URL Matchers” matcher and write “facebook.com” in the “Match” field. - Click “Save”. ### Open default browser You can use [this shortcut](https://www.icloud.com/shortcuts/c0104150c4054ff2a577237056aad083) to open the default browser. ### System services {#macos-services} The app comes with [system services](https://macreports.com/what-is-the-services-menu-in-macos/?utm_source=chatgpt.com) to open URLs with Velja. This lets you open URLs with Velja from anywhere. For example, select some text with URLs, right-click, go to “Services”, and click “Open URLs with Velja”. If you want to force the browser prompt, you can either press Option when activating the service or use the “Open URLs with Velja Prompt” service. If you want to force the link to open in the background, press Shift when activating the service. [Known issue.](#chrome-background-bug) *You may have to enable the service in “System Settings › Keyboard › Keyboard Shortcuts › Services”.* ### Browser extensions - Safari — Built-in. Just enable it in the Safari settings. - [Chrome](https://chrome.google.com/webstore/detail/velja/gpipdgcamiclkcomcnogmlfpalggmcmk) — Also works in Edge, Brave, and other Chromium-based browsers. - [Firefox](https://addons.mozilla.org/firefox/addon/velja/) ### Open the current website in a different browser For example, you are surfing a website in Safari and want to open it in Chrome. You could enable the Velja browser extension and then click the toolbar icon in your browser to show the Velja browser prompt. You could also show the browser prompt when pressing a keyboard shortcut: - Add [this shortcut](https://www.icloud.com/shortcuts/6c2d3793f101447dad449e83bde8d967). - If your browser is not Safari, change the app name in the shortcut. - Add a keyboard shortcut to the shortcut config. - Pressing the configured keyboard shortcut will now show the browser prompt. If you want to open the website in a specific browser directly instead of showing the browser prompt, add [this shortcut](https://www.icloud.com/shortcuts/d3f833d1a1334d169ccefe26fa0ec240) instead. ### Open links clicked in a browser or PWA in a specific browser Velja generally cannot handle links clicked in a browser because browsers don't notify the system about it. However, there is a workaround. Install the [Redirector browser extension](https://rxliuli.com/project/redirector/) and make a rule in that extension to open links in Velja. Here's an [example rule](https://www.dropbox.com/scl/fi/nlfz76zbfd2fy0sg2ebz1/rules-1750189056.json?rlkey=32vbyznt3051ibd1lhbafbhtb&raw=1) (import it into the Redirector extension) that opens certain URLs clicked in a browser in Velja. For Chrome, you can run the following commands in the Terminal app to ensure that these types of links always open in the associated app: ```sh defaults write com.google.Chrome URLAllowlist -array-add 'velja:*' defaults write com.google.Chrome ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true ``` And for Edge: ```sh defaults write com.microsoft.Edge URLAllowlist -array-add 'velja:*' defaults write com.microsoft.Edge ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true ``` For other Chrome-based browsers, replace `com.google.Chrome` with their bundle identifier in the above commands. ### Launch browsers from Velja menu Hold the Option key when clicking a browser in the Velja menu to launch it instead of setting it as the current browser. This even works with browser profiles. ### Open certain URLs in a specific browser profile - Open the Velja settings. - Go to the “Browsers” tab and grant access to browser profiles. - Go to the “Rules” tab. - Click “+”. - Choose a browser profile in “Open in”. - Click “+” for the “URL Matchers”. - Define a pattern that matches the URLs you want to match. - Click “Save”. ### Automatically switch browser or browser profile based on time, location, or Focus mode Say you use different browser profiles for work and home and want them to switch automatically. This is a good use for the Shortcuts app. Create a shortcut with the “Set Default Browser” action that sets the browser profile to the one you want at home and another for work. You will then need the [Shortery](https://apps.apple.com/app/id1594183810) app to trigger these shortcuts at specific times, or based on your Focus mode if you have one for work. You could even trigger the shortcuts based on Wi-Fi name, which may be easier than defining work times if you work from an office. macOS 26 has automations in Shortcuts and you don't need Shortery there. ### Miscellaneous - In the Velja menu, you can click “History” to directly open the history window. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) You may also have disabled the “Show menu bar icon” setting, which hides the menu bar icon. Launch the app again to reveal the menu bar item for 5 seconds. #### Why is the app suddenly paid? It used to be free. While I love making free apps that are available to anyone, the high volume of support requests became unsustainable. After providing Velja for free for 3 years with nearly 130K downloads, I made the decision to make it paid. This isn't about revenue - it's about managing my time more effectively by reducing the support burden to a sustainable level. #### Can this app be available on Setapp? {#setapp} Setapp curates apps based on demand, so if you'd like to see this app on Setapp, [email them](https://support.setapp.com/hc/articles/4950254561052-How-to-contact-Setapp-team#:~:text=to%20your%20issue.-,Send%20an%20email,%3A%20support%40setapp.com.) and request its inclusion. #### Velja does not work First, make sure that the problem is Velja. Go to “System Settings › Desktop & Dock” and change the “Default web browser” setting to Safari. Then try clicking the link again. If the problem persists, it's not caused by Velja. **I clicked a link in a browser** Velja is not able to handle links clicked inside a browser. However, Velja comes with a Safari extension which you can enable in the Safari settings. You can then click the toolbar icon to open the current page with Velja or right-click a link to open it with Velja. There are also [extensions for other browsers](#browser-extensions). If you use a browser where Velja does not have a browser extension, you could also right-click the link and use the share extension \* or copy the link and then click “Open URL from Clipboard” in the Velja menu. \* *Chrome (and Edge, Brave, etc.) does not have a “Share” item in its context menu. Please [star this issue](https://bugs.chromium.org/p/chromium/issues/detail?id=916291).* Velja also comes with a [system service](https://www.computerworld.com/article/2476298/os-x-a-quick-guide-to-services-on-your-mac.html). However, neither Safari ([issue](https://github.com/feedback-assistant/reports/issues/304)) nor Chrome ([issue](https://bugs.chromium.org/p/chromium/issues/detail?id=1325557)) correctly sends links to a system service, so it cannot be used for this purpose. **The prompt does not show** Make sure you didn't click the link in a browser. See above. **I clicked a link in VS Code** VS Code may be set to not use the system default browser. Because of this, Velja is not used. Delete the `workbench.externalBrowser` setting in VS Code if it's set. **I clicked a short URL** If the link is a [short URL](https://en.wikipedia.org/wiki/URL_shortening), make sure the “Expand short URLs” setting is enabled and the URL shortening service is either in the built-in list or added by you. Velja is only able to do its matching when it receives the resolved URL. **I clicked a button in the Dropbox app** This is either a macOS or Dropbox bug. Velja simply opens what it receives, but what it receives has incorrect permissions. When you click a button in Dropbox to open it on the web, it doesn't actually open the URL directly, but instead writes an HTML file (which redirects to the final URL) to a temporary directory. I’m not sure why it does this, but it’s likely the cause of the issue. **It did not respect my rule that uses a “source app” condition** Ensure Velja correctly identifies the source app where the link was clicked. To check, enable the history setting (in the “Advanced” settings tab), click a link, and confirm the correct source app appears in the history screen. If the URL was opened using the `open` command-line tool, it may not work as expected because `open` closes before Velja can capture the app name. To work around this, use the following command: ```sh timeout 0.5 open --wait-apps "https://sindresorhus.com/velja" ``` Some apps use the `open` command-line tool internally, and they will unfortunately also not be detected. In short, if the source app does not show up in the history, there isn't anything Velja can do about it. Known apps where Velja cannot reliably identify the source: - Terminal apps - AWS VPN Client #### Why is my custom rule not matching? {#custom-rule-problem} Make sure you have added a “Sample URL” to the rule to confirm your match pattern is correct. See [this](#debug) for how to debug what URLs Velja receives. If your rule uses a “source app” condition, make sure Velja correctly identifies the source app (see the FAQ entry on that). If the link is a short URL, make sure the "Expand short URLs" setting is enabled. Some apps use a redirect URL for tracking purposes. Velja has built-in support for a lot of redirect services and it also tries to resolve URLs to their final destination. However, some redirects cannot be resolved by Velja. This is the case with some links clicked in Slack as they require the login token to be able to redirect. There is unfortunately nothing I can do about that. If the redirect URL contains the destination URL (usually in a search parameter), contact me and I will add support for it. #### What are tracking parameters and why would I want to remove them? Removing tracking parameters improves privacy and also makes URLs more aesthetically pleasing. Tracking parameters are used by many websites to track your browsing activity across websites. [Learn more.](https://en.wikipedia.org/wiki/UTM_parameters) Velja supports 200+ common tracking parameters (e.g. Google UTM) and it has special support for removing tracking from links to X (Twitter), Facebook, and TikTok. Before: `https://foo.com?utm_content=buffercf3b2&utm_source=snapchat.com`\ After: `https://foo.com` Did you know that if you click a TikTok link that someone shared with you, they will be able to see that you watched it? Velja anonymizes TikTok links so that you will not be tracked. #### Tracking parameters are not removed {#tracking-parameters-not-removed} First, make sure the setting to remove tracking parameters is enabled. If the clicked/copied link is a short URL, Velja is only able to remove the tracking parameters if the “Expand short URLs” setting is enabled and it's a known short URL service or you added the short URL service in the “Advanced” settings pane. The app contains a list of tracking parameters to remove, but there may be site-specific tracking parameters it doesn't know about. If you encounter any tracking parameters not being removed, [let me know](/feedback?product=Velja&referrer=Website-FAQ) and I'll add support for them. #### Can you add support for this browser? {#add-browser} Velja automatically retrieves all browsers on your computer. There is no manual list of browsers. If some browser is not showing up, make sure it's in the `/Applications` folder and not in the `~/Applications` folder. #### Can you add another app to the “Apps” settings? {#builtin-apps-requests} **I'm not currently accepting more apps.**\ However, if the app supports a custom URL scheme to open links in the app, you could create a custom rule in Velja and use the “transform URL” feature to rewrite the URL to the custom URL format the app accepts. You could ask AI for help with this. I'm happy to consider requests (but read the below first). [Submit here.](/feedback?product=Velja&referrer=Website-FAQ) *(Include a link to the app and what behavior you expected)* > [!NOTE] > This is about opening a link in a specific app. If you want to open a link **from** a specific app, just use the rules feature in the settings (it supports any app). *If this is about opening a specific website (for example, Google Sheets) in a specific browser, you should use the rules feature instead (the “Rules” tab in the settings). You can easily make a rule for any website.* *If this is about opening a specific website like Facebook in an app-wrapped website generated with something like Unite or Coherence, it's better to just add support yourself. You can use the rules feature for this. For example, write “facebook.com” as the domain and select the website wrapper app you generated.* However, some apps are not feasible: - Slack + [Explanation.](#slack) - Cisco Webex + *[Comment here](https://github.com/johnste/finicky/discussions/228) if you know how to do this.* - [MURAL](https://mural.co) + The app has no support for opening URLs from the web version. - [GitHub Desktop](https://github.com/desktop/desktop) + The app only accepts a link to a repo to clone. This is not very useful in practice. - Monday.com + The app does not accept any links. - Todoist + Only supports opening links to a todo item and it only works when the app is already running. - Craft.do + The app does not accept any links. It does accept [custom URL scheme](https://support.craft.do/hc/articles/360020168838-Using-URL-Scheme) links, but I'm not interested in having to maintain more code to transform URLs in Velja when the services should just handle it themselves in their desktop apps. And some apps do not need special support because they already support [universal links](https://developer.apple.com/ios/universal-links/): - [Quip](https://quip.com) - Maps (the built-in app) - Overcast *Universal links also prevent Velja from letting you open a link in the browser instead of the app. [Possible workaround.](https://lapcatsoftware.com/articles/universal-links2.html)* If your favorite service is in the above list, I would recommend contacting them and asking them to support opening a link directly in their app. That means being able to run the command `open -a AppName https://foo.com/link-to-project-or-meeting`. #### Can Velja override Universal Links? No. There is a way to do it, but it requires a special entitlement from Apple. I applied for it a year ago and haven't heard anything. There are some ways to [disable Universal Links](https://mjtsai.com/blog/2022/04/19/disabling-universal-links/). #### How can I add a browser profile to the prompt? First, make sure you grant access to profiles in the settings and then enable them in the “Shown Browsers” setting. #### How can I open specific URLs in a Safari PWA (website added to the Dock)? {#safari-dock-app} Websites added to the Dock from Safari are just normal apps located in `~/Applications`. You could create a custom rule to match certain URLs and have them open in one of these web-wrapper apps. #### Why does a Chromium browser PWA open to its default page instead of the URL I opened? {#chromium-pwa} Progressive Web Apps (PWAs) created by Chromium-based browsers (Chrome, Edge, Brave, etc.) do not accept URL arguments, so when Velja opens one via a rule, the PWA will always navigate to its default page instead of the specific URL. This is a Chromium limitation and cannot be fixed by Velja. Use [Safari “Add to Dock” web apps](#safari-dock-app) instead, which correctly open the specific URL. #### Can you support [Firefox Multi-Account Containers](https://github.com/mozilla/multi-account-containers)? {#firefox-containers} It's not feasible to support it built-in because of missing features: - - - *(Vote them up)* However, you can achieve it yourself using Velja's URL transform feature. **Setup** 1. Install [Firefox Multi-Account Containers](https://addons.mozilla.org/firefox/addon/multi-account-containers/) 2. Install [Open URL in Container](https://addons.mozilla.org/firefox/addon/open-url-in-container/) 3. Create your containers in Firefox (e.g., “Work”, “Personal”) 4. Get the signature from the Open URL in Container extension settings (External Protocol section) **Creating a rule** 1. Open Velja settings → **Rules** → Click **“+”** 2. Set **Open in:** Firefox 3. Add **URL Matchers** for domains you want in this container 4. Enable **“Transform URL”** and add this script: ```js const containerName = 'Work'; // Your container name const signature = 'YOUR_SIGNATURE'; // From extension settings const originalURL = $.url.href; const containerURL = `ext+container:name=${encodeURIComponent(containerName)}&url=${encodeURIComponent(originalURL)}&signature=${signature}`; $.url = new URL(containerURL); ``` 5. Click **“Run”** to test - output should be `ext+container:name=Work&url=https%3A%2F%2F...` 6. Save the rule Repeat for each container you want to use. **Notes** - Container names are case-sensitive. - The signature is the same for all containers. - If the signature changes (e.g., after reinstalling the extension), update all rules. #### Can you support Firefox profiles? {#firefox-profiles} Firefox profiles are now supported. Make sure you grant access to profiles in the Browsers settings tab, then enable Firefox profiles in the “Shown Browsers” setting. > [!NOTE] > Only profiles created using Firefox's [new profile system](https://www.reddit.com/r/firefox/comments/1mi38vp/firefox_has_a_profile_switcher_now_heres_how_to/) (Firefox 138+) are supported (not profiles created using `about:profiles`). See below on how to migrate. #### How do I migrate legacy Firefox profiles to the new profile system? {#firefox-migrate-profiles} The legacy profiles (created with `about:profiles`) and the new profile groups are separate, and unfortunately, Firefox has not provided any automatic migration. How to migrate: - Create a new profile with the [new profile manager](https://support.mozilla.org/kb/profile-management), then quit Firefox. - Open the old profile’s root directory using the [old profile manager](https://support.mozilla.org/kb/profile-manager-create-remove-switch-firefox-profiles), then go up one level to find the new profile folder (ends with “Profile 1”, e.g., VqlLK6hB.Profile 1). - Delete all files inside that new profile folder. - [Copy the contents from an old profile](https://support.mozilla.org/kb/profiles-where-firefox-stores-user-data#w_finding-your-profile-without-opening-firefox) into that folder. - Launch it using the [new profile manager](https://support.mozilla.org/kb/profile-management). - If extensions misbehave, start Firefox in [Troubleshoot Mode](https://support.mozilla.org/kb/diagnose-firefox-issues-using-troubleshoot-mode), then restart. #### I opened a link in the background but it brought Chrome to the foreground {#chrome-background-bug} Chrome (and Chrome-based browsers) does not properly respect opening URLs in the background (it generally does not respect platform conventions). This can be reproduced even without Velja by setting Chrome as the system default browser in the System Settings and then running the following in the Terminal: ```sh open --background 'https://sindresorhus.com' ``` [Star this issue](https://issues.chromium.org/issues/41182587) #### The link takes a long time to open This is most likely not caused by Velja. Some users reported it was a problem with Microsoft Office and happened without Velja too. Also try to disable the “Expand redirect and short URLs” setting. To confirm Velja is not the problem: Go to “System Settings › Desktop & Dock” and change the “Default web browser” setting to Safari. Then try clicking the link again. If the problem persists, it's not caused by Velja. #### Can you add support for opening Slack links in the Slack desktop app? {#slack} This is currently not possible. The Slack app does not accept a normal deep link (example: `https://team-name.slack.com/archives/CKPE4C/p161643063559`). It only accepts a special Slack-specific URL. To be able to convert a normal Slack link to one that the desktop app accepts, we would need to get the team ID from the Slack API and that requires authentication. It's simply not feasible to do this. **Please do send feedback to Slack asking them to accept a normal link, like most other apps support.** You can actually solve this yourself by [creating a rule in Velja](https://gist.github.com/tim775/bbcf473460fbe786e927d8d961b23988). #### Can the default browser change based on the active [focus mode](https://support.apple.com/guide/mac-help/set-up-a-focus-to-stay-on-task-mchl613dc43f/mac)? {#focus-mode} You can use the [Focus Filter](https://support.apple.com/HT212608) that comes with the app. Alternatively, you can use the Shortcuts app for this. Make a shortcut for each focus mode you want to handle, where you use the “Set Default Browser” action that Velja provides. You will need the [Shortery app](https://apps.apple.com/app/id1594183810) to automatically run these shortcuts when the focus mode changes. macOS 26 has automations in Shortcuts and you don't need Shortery there. #### Can the default browser change depending on whether I'm at work or not? See the above answer. You just create a work focus mode. #### Can the default browser change depending on whether the computer is on battery? See the above answer. Use the “Power Status” trigger in Shortery. macOS 26 has automations in Shortcuts and you don't need Shortery there. #### Can you support [Focus filters](https://support.apple.com/HT212608)? {#focus-filters} It is supported. #### Can you add iCloud syncing for the rules? {#icloud} No. iCloud syncing is unreliable, opaque, and significantly increases my support burden. Very few users request it, and for such a niche feature, the effort and ongoing cost are not worth it. You can already export and import rules manually. #### Can you add a vertical or circular browser prompt? I don't plan to add this. I recommend giving the horizontal prompt a try. A lot of users found it to work better than vertical/circular. #### Does it support [Handoff](https://support.apple.com/en-vn/102426)? {#handoff-support} Yes. It will open the handoff in the chosen primary browser. Note that it shows the Velja app icon for Handoff, not the chosen primary browser. There is no way to work around this. #### How can I set the last active browser as the default browser? You can use the [Shortery](https://apps.apple.com/app/id1594183810) and Shortcuts apps for this. Create a shortcut ([example](https://www.icloud.com/shortcuts/cca638ad5d8548dca7f2cbc8e7eb967b)) for each browser you use. The shortcut should use the “Set Default Browser” action to set the default browser in Velja. In Shortery, create an “Application” trigger for each browser, where you choose the corresponding shortcut and app in the “Application” field ([screenshot](https://www.dropbox.com/scl/fi/pjbimgvq3wtuvp0265vk6/Screenshot-2024-06-30-at-17.41.45-1719762112.png?rlkey=7qgwyxq2woz4zaeib1cs2r5w0&raw=1)). The default browser in Velja will now change when you focus one of those browsers. #### How can I see what URL Velja received? {#debug} In the advanced settings, enable the link history setting, and then click the link. The URL will show up there. To see more detailed debug info on how Velja handled the URL: Quit Velja if it's open. Press Shift+Control while launching Velja, click the menu bar icon, click “Debug”, and then go to “Logs”. If a rule with a “source app” condition isn't working, check the history to verify the source app matches what you expect. Some apps launch URLs through helper processes, causing a different app to appear. #### How can I open a URL in a specific Safari Tab Group? {#safari-tab-group} Safari does not provide any way to achieve this. You will have to send a [feature request to Apple](https://feedbackassistant.apple.com). Tell them they need to add support for opening a URL in a specific Safari Tab Group from AppleScript and Shortcuts. #### Some browsers are missing If the browsers are in the “~/Applications” folder or are browser profiles, see below. #### Velja does not show browsers from the user “~/Applications” folder Apple generally recommends putting apps in the global “/Applications” folder. Third-party apps like Velja get automatic access to this one, but not to the user “~/Applications” folder. Try clicking the “More › Reset Access” button in the Velja menu. #### I have Mastodon links set to open in a specific browser, but it opens in the Ivory app {#ivory-mastodon} Ivory supports [Universal Links](https://developer.apple.com/ios/universal-links/) for some Mastodon instances and Velja cannot override Universal Links. Universal Links is an annoying feature as it gives users (and other developers) no control over how it works. As of Ivory 1.0.0, it supports [these Mastodon instances](https://github.com/sindresorhus/meta/assets/170270/e256c5e1-5048-4cbc-8df2-aa09c969b639). #### How can I export, import, sync, transfer, or back up the settings? You can export and import rules in the settings. See the bottom of the “Rules” settings tab. For all settings, [see this](/apps/faq#export-settings). #### Can you support Safari profiles? {#safari-profiles} Safari does not expose any way to open URLs in a specific profile. I recommend [sending feedback](https://feedbackassistant.apple.com) to Apple that they should add Shortcuts and AppleScript support for this. More feedback increases the chances of it happening. *This is still the case on macOS 26.* Feel free to duplicate my feedback reports: - [FB12320822](https://github.com/feedback-assistant/reports/issues/398) - [FB12320895](https://github.com/feedback-assistant/reports/issues/399) You can submit it [here](https://feedbackassistant.apple.com). #### Can you support spaces for the [Arc](https://thebrowser.company) browser? {#arc} I would love to support Arc, but it's currently missing some required functionality. > [!NOTE] > They now support [something similar to Velja built in](https://x.com/browsercompany/status/1654525608305491984). Arc supports fetching the spaces of a specific Arc window using AppleScript. However, Velja needs to be able to fetch the spaces even when Arc has no open windows, so that it can show a list of spaces in the Velja settings. I recommend sending them feedback about this. Either through the feedback button in Arc or at [hello@thebrowser.company](mailto:hello@thebrowser.company). I have prepared a ready-made feature request text you can use: > It would be great if Arc could support getting a list of all the spaces with AppleScript. Currently, it's possible to get the spaces of a specific window, but this only works when Arc has any windows open. Being able to get all spaces regardless of whether any Arc window is open is required for integration with apps like browser pickers (for example, Velja), which need to fetch all spaces and store them, so users can pick which space to use for different situations. I imagine it would be a top-level command like `tabs` and `windows`. If you want to help out more. This is another feature request. Nice to have, but not required: > It would be useful if it were possible to open a URL in a specific Arc space from the command-line. This would make it easier to integrate Arc with things like browser pickers and scripts. I imagine it could be something like this: `open -b company.thebrowser.Browser --new --args --space "F0366664-F475-40EC-9530-45CC511CE9A6" https://arc.net` Where the `--space` argument would accept a space identifier. *It's true that it would be possible to implement a somewhat working solution with the current functionality, but that would not be a great user-experience and I don't want to ship something that is not great.* #### Can you support browser profiles for the [Arc](https://thebrowser.company)/[Dia](https://www.diabrowser.com) browser? {#arc-profiles} The Arc/Dia browser is based on Chrome, so you may think that it should just work with browser profiles in Velja. However, Arc/Dia doesn't support the `--profile-directory` command-line flag. So while Velja can fetch the profiles, it's not able to actually use them. **Arc works differently from other browsers. In Arc, you use spaces. Each space can be assigned a certain profile. So it makes more sense to support spaces rather than profiles in Velja. See the above FAQ.** #### Can you support browser profiles for the [Atlas](https://thebrowser.company) browser? {#atlas-profiles} The Atlas browser is based on Chrome, so you may think that it should just work with browser profiles in Velja. However, unlike Chrome, Atlas stores the profile names in an encrypted file that Velja cannot access. **I encourage you to send feedback to Atlas about exposing the profiles names unencrypted so other tools can read them.** #### Can it open a specific browser when I double-click a file in the Google Drive folder in Finder? You can use the rules feature in the settings for this. 1. Create a rule with the source app set to `Finder` and the “URL Prefix” set to `google.com/open`. 2. Create a second rule with the source app set to `Google Drive` and the “URL Prefix” set to `docs.google.com/open`. #### Can the default browser change based on the macOS desktop Space I’m in? {#macos-spaces} No. macOS does not expose the active [Space](https://support.apple.com/guide/mac-help/work-in-multiple-spaces-mh14112/mac) to apps, so Velja cannot detect or react to it. Use per-app rules, or automate switching with Focus Filters or Shortcuts (see [Focus mode](#focus-mode)) and triggers like time, Wi-Fi, or location. #### How can I open a website from Spotlight results in a specific browser? {#spotlight} Create a custom rule where you set the Spotlight app as “Source Apps”. The app is located at `/System/Library/CoreServices/Spotlight.app`. #### How can I open Google Meet links in a desktop app? You can choose an app to open Google Meet links in the “Apps” tab in the settings. The app must support these URLs. Many [PWAs](https://en.wikipedia.org/wiki/Progressive_web_app) don’t, including ones made in Chrome or Chrome-based browsers. Safari PWAs do work. Create one from `https://meet.google.com/` using “Add to Dock”, then select the generated app in `~/Applications/Google Meet` in Velja. #### I have both Firefox and Firefox Beta installed, but only one of them is showing up in Velja Firefox and Firefox Beta use the same [identifier](https://cocoacasts.com/what-are-app-ids-and-bundle-identifiers/). Velja uses the identifier to uniquely identify different apps. This means there cannot be multiple apps with the same identifier in Velja. This is not a problem with Velja. It's just how macOS works. #### How do I disable Velja? [Change the system default browser back to Safari.](https://support.apple.com/HT201607) #### Can you add another menu bar icon option? Sure! Find an icon you like in the [SF Symbols app](https://developer.apple.com/sf-symbols/) or [here](https://thenounproject.com/icons/), and send me the name or a link. #### Why do I sometimes see a cog icon in the menu bar when opening a link? {#url-support-infoplist} Some apps support opening a URL but they don't declare support for it. Velja must then use an alternative method to open the URL, which causes the cog icon to appear. If you notice the cog icon when opening a URL with an app, I recommend sending feedback to the developer of the app. Right-click and copy [this link](#url-support-infoplist) to send to them. **To the developer. You must include this in the Info.plist of your app:** ```xml CFBundleURLTypes CFBundleTypeRole Viewer CFBundleURLSchemes https http ``` *You can optionally drop the `http` item if your app does not need to support that.* #### The Fn/Globe modifier key is not detected on my external keyboard {#fn-key-not-detected} Some third-party keyboards (e.g. Nuphy Air75) have a firmware issue where the Fn/Globe key-down event is only sent to macOS when the key is released, not when pressed. This means macOS cannot see the key as held down, so Velja cannot detect it. You can verify this with the [Key Codes](https://apps.apple.com/app/id414568915) app: enable “log key up events and modifier changes”, then press and hold the Globe key. On an affected keyboard, nothing appears until you release the key. This is a keyboard firmware problem. Contact the keyboard manufacturer about it. As a workaround, use a different modifier key (like Option) for the alternative browser trigger. Click the `(?)` button in the Velja settings. #### What does “Velja” mean? It means [“to choose”](https://en.wiktionary.org/wiki/velja) in [Old Norse](https://www.discovermagazine.com/planet-earth/what-language-did-the-vikings-speak) (also Icelandic and Faroese). Hence the Viking hat. #### Can you support iOS? {#ios} No: 1. **Not allowed:** Velja works by being the default browser, but iOS only [allows full browsers](https://developer.apple.com/documentation/xcode/preparing-your-app-to-be-the-default-browser) (like Safari or Chrome) to be set as default. 2. **Too slow:** Each link would first open Velja, then the actual browser. This is fast on macOS because Velja runs in the background, but not on iOS. #### How does it compare to [Choosy](https://www.choosyosx.com)? {#choosy} Velja benefits: - It can open Google Meet links in Chrome without any manual setup - It can open Mastodon links directly in a native Mastodon app - It can [open links to certain services](https://x.com/sindresorhus/status/1519020970027401216) in their desktop app (Zoom, Microsoft Teams, Figma, etc.) without any manual setup and without those apps supporting such links directly - Can show the icon of the active default browser in the menu bar - Removes tracking parameters on clicked and copied links - Open links in a private Safari window - Available in the App Store - Sandboxed (more secure) - Shortcuts support - Services support - Can choose menu bar icon - Convert copied links to [Songlink](https://odesli.co) for easy sharing Choosy benefits: - More options for custom rules #### How does it compare to [Bumpr](https://www.getbumpr.com)? {#bumpr} Velja benefits: - It can open Google Meet links in Chrome without any manual setup - It can open Mastodon links directly in a native Mastodon app - It can [open links to certain services](https://x.com/sindresorhus/status/1519020970027401216) in their desktop app (Zoom, Microsoft Teams, Figma, etc.) without any manual setup and without those apps supporting such links directly - Browser profile support - More advanced custom rules, like the ability to open a certain link based on what app the link was clicked in - Expands [short URLs](https://en.wikipedia.org/wiki/URL_shortening) for better matching - Can show the icon of the active default browser in the menu bar - Removes tracking parameters on clicked and copied links - macOS-like user interface (Bumpr has a custom non-macOS-like user interface) - You can open copied links from the menu bar menu - You can quickly switch the primary browser - You can press a keyboard shortcut to use an alternative browser for a specific link - Setting to hide the menu bar icon - Open links in a private Safari window - Shortcuts support - Handoff support - Services support - Share extension - Can choose menu bar icon - Convert copied links to [Songlink](https://odesli.co) for easy sharing Bumpr benefits: - Supports configuring the primary email app #### How does it compare to [OpenIn](https://loshadki.app/openin/)? {#openin} Velja benefits: - It can open Google Meet links in Chrome without any manual setup - It can open Mastodon links directly in a native Mastodon app - It can [open links to certain services](https://x.com/sindresorhus/status/1519020970027401216) in their desktop app (Zoom, Microsoft Teams, Figma, etc.) without any manual setup and without those apps supporting such links directly - Can show the icon of the active default browser in the menu bar - Better user interface for browser profiles (OpenIn requires you to manually find the browser profile ID) - The user interface is more macOS-like and better follows the [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/macos/overview/themes/) - You can open copied links from the menu bar menu - You can quickly switch the primary browser - You can press a keyboard shortcut to use an alternative browser for a specific link - Open links in a private Safari window - Browser extensions - Shortcuts support - Services support - Can choose menu bar icon - Convert copied links to [Songlink](https://odesli.co) for easy sharing OpenIn benefits: - Supports configuring the primary app for more types, like email clients #### How does it compare to [Browserosaurus](https://github.com/will-stone/browserosaurus)? {#browserosaurus} Velja benefits: - Native app written in Swift (Browserosaurus is an Electron app — a web app) - Lower memory usage (Velja uses 36 MB and Browserosaurus uses 300 MB) - Lower CPU usage (Velja uses 0% CPU when idle and Browserosaurus uses 0.1-0.2%) - Available in the App Store - Sandboxed (more secure) - It can open Google Meet links in Chrome without any manual setup - It can open Mastodon links directly in a native Mastodon app - It can [open links to certain services](https://x.com/sindresorhus/status/1519020970027401216) in their desktop app (Zoom, Microsoft Teams, Figma, etc.) without any manual setup and without those apps supporting such links directly - Browser profile support - Can show the icon of the active default browser in the menu bar - Custom rules, like the ability to open a certain link based on what app the link was clicked in - Expands [short URLs](https://en.wikipedia.org/wiki/URL_shortening) for better matching - Removes tracking parameters on clicked and copied links - The user interface is more macOS-like and follows the [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/macos/overview/themes/) - You can open copied links from the menu bar menu - You can quickly switch the primary browser - You can press a keyboard shortcut to use an alternative browser for a specific link - Finds new browsers automatically (Browserosaurus has to manually scan for new browsers) - Setting to hide the menu bar icon - Open links in a private Safari window - Browser extensions - Shortcuts support - Handoff support - Services support - Share extension - Can choose menu bar icon - Convert copied links to [Songlink](https://odesli.co) for easy sharing Browserosaurus benefits: - Open source #### Can you localize the app into my language? I don't plan to localize the app. ## Scripting {#scripting} The app can be automated using the Shortcuts app or with a custom URL scheme. ### Custom URL scheme You can open a URL using Velja from any tool that supports opening a URL. This includes a website, Bash, Node.js, Python, Swift, etc. For example, in your terminal: ```sh open 'velja:open?url=https%3A%2F%2Fsindresorhus.com&prompt' ``` Leave out `&prompt` to not show the browser prompt. *Don't forget to [URL encode](https://www.urlencoder.org) the value for the `url=` parameter. For example, using [this](https://gist.github.com/cdown/1163649) Bash function.* > [!TIP] > You can specify the `url` parameter multiple times to open multiple URLs. You can force the use of a specific browser by specifying an `app` parameter: ```sh open 'velja:open?url=https%3A%2F%2Fsindresorhus.com&app=org.mozilla.firefox' ``` It expects the [bundle identifier](/apps/faq#find-bundle-identifier) of an app. Rules will be ignored when this is specified. You can also specify a browser profile by adding the `profile` parameter (Velja 2.1.0 and later): ```sh open 'velja:open?url=https%3A%2F%2Fsindresorhus.com&app=com.google.Chrome&profile=Work' ``` The `profile` parameter must be used together with the `app` parameter and expects the profile name (not ID). See the Velja settings for supported browsers. ### Change default browser in Velja from the command-line Run this command: ```sh defaults write com.sindresorhus.Velja defaultBrowser com.apple.Safari ``` Replace `com.apple.Safari` with the [bundle identifier](/apps/faq#find-bundle-identifier) of the browser you want. You can also use this trick to change the alternative browser by using `alternativeBrowser` instead of `defaultBrowser`. Use the special bundle identifier `com.sindresorhus.Velja.promptMarker` to set the prompt as the browser. ## Older Versions - [3.0.1](https://www.dropbox.com/scl/fi/r29c600toa048kwutn9h1/Velja-3.0.1-macOS-15-1770405022.zip?rlkey=t5vgfdoy5875j4eef74ifew5l&raw=1) for macOS 15 - [2.0.14](https://github.com/user-attachments/files/18629080/Velja.2.0.14.-.macOS.14.zip) for macOS 14 - [1.16.4](https://github.com/sindresorhus/meta/files/14577839/Velja.1.16.4.-.macOS.13.zip) for macOS 13 - [1.12.4](https://github.com/sindresorhus/meta/files/10895250/Velja.1.12.4.-.macOS.12.zip) for macOS 12 These are free for everyone but they will not run on newer macOS versions. ================================================ FILE: source/content/apps/week-number.md ================================================ --- title: Week Number subtitle: The current week number in your menu bar pubDate: 2024-05-19 platforms: - macOS isMenuBarApp: true appStoreId: 6502579523 olderMacOSVersions: - '14' - '15' --- **Features** - Week number in the menu bar - Customizable prefix - Find week number for a specific date - Widget
    --- Check out [Dato](/dato) for week number in the menu bar and more features and settings. --- ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Can you add custom week numbering options (for example, fiscal weeks, school terms, or work weeks)? No, the app is intentionally simple. #### Why does it not show week 53? You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar). You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### Why does it show the last days of December as week 1? That is called [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date). #### It shows the incorrect week number {#incorrect-week-number} You are probably expecting [ISO week-numbering](https://en.wikipedia.org/wiki/ISO_week_date) while having your system set to [Gregorian week numbering](https://en.wikipedia.org/wiki/ISO_week_date#Relation_with_the_Gregorian_calendar), or the inverse. You can change it with [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). #### How can I change the week number to [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date) format? Change [this system setting](https://apple.stackexchange.com/questions/191445/standard-iso-8601-week-number-in-calendar-app/209340#209340). ## Older Versions - [1.2.1](https://www.dropbox.com/scl/fi/fb15x1smj4rujjb62wrnz/Week-Number-1.2.1-macOS-15-1769175798.zip?rlkey=zqm0dhna8o4ck7gl9k36e7uwm&raw=1) for macOS 15+ - [1.1.0](https://github.com/user-attachments/files/18203839/Week.Number.1.1.0.zip) for macOS 14+ ## Non-App Store Version A special version for users that cannot access the App Store. It won't receive automatic updates. I will update it here once a year. [Download](https://www.dropbox.com/scl/fi/4d61fatess5oqykg4hne9/Week-Number-1.3.0-1769172114.zip?rlkey=y8hvpd0sci9zwqqy03i2hu0f5&raw=1) *(1.3.0)* *Requires macOS 26 or later* ================================================ FILE: source/content/apps/zone-bar.md ================================================ --- title: Zone Bar subtitle: World clocks in your menu bar pubDate: 2025-11-20 platforms: - macOS isPaid: true isMenuBarApp: true appStoreId: 6755328989 requirement: Requires macOS 26.1 or later # olderMacOSVersions: # - '26' --- Show multiple world clocks in your menu bar. Add clocks for any time zone, give them custom names and emoji, and see them at a glance. The time travel slider lets you check what time it will be hours from now across all clocks. Useful for planning meetings or checking if friends abroad are awake. Simple by design. No sync, no widgets, no iOS version. Just your clocks, always there when you need them. #### Highlights - **Menu Bar Display**\ Show clocks directly in your menu bar - **Time Travel**\ Slide to see what time it will be hours from now across all time zones - **Custom Labels**\ Name each clock (“Tokyo Office”, “Mom”) and add emoji icons - **Keyboard Shortcut**\ Toggle the window with a global shortcut - **Adjustable Text Size**\ Make it comfortable to read #### Privacy Your shortcuts and data never leave your device. The app is built without internet permissions (no network entitlement), so macOS prevents it from connecting to the internet even if it wanted to. ## Tips - Right-click a time zone to see more info and copy. - The +1/−1 indicator shows when a time zone is in a different day. - Press Command+ when the time zone window is open to quickly add a new time zone. ## Frequently Asked Questions {#faq} #### The app does not show up in the menu bar [Try this](/apps/faq#app-not-showing-in-menu-bar) #### Some world clocks are missing from the menu bar Probably same as the above. #### Can it show seconds? No. This is a glanceable menu bar app. Seconds clutter the UI and have real performance costs in menu bar updates. #### Can it show the UTC offset (e.g. UTC+8)? No. I want to keep it minimal. The focus is on name and time. You can right-click a time zone to see it. #### Does it work offline? Yes. Everything runs locally, except the time zone search. #### Does it handle summer / winter time (DST) correctly? Yes. It follows macOS time zone rules, including daylight saving, so times update automatically. Unless you pick a fixed time zone like UTC+2. #### I only see Chinese cities when adding a time zone. Where are London, San Francisco, etc.? This is a [macOS bug](https://github.com/feedback-assistant/reports/issues/462) when searching from China. You will have to pick a time zone manually using the `…` button. #### Can you add half hour steps to the Time Travel slider? No. It’s meant for quick, rough shifts. Smaller steps slow it down. If you need an exact offset, just adjust the minutes yourself. #### Does the app use CPU constantly to keep the time updated? {#cpu} No. It updates once per minute. Negligible. #### Does it show AM/PM or 24-hour time? It follows your macOS system time format. You can change it in “System Settings › General › Date & Time”. #### Can it show analog clocks? No. Digital only. #### Can you reduce the space between menu bar clocks? The spacing is controlled by the system, but you could use [Menu Bar Spacing](/menu-bar-spacing) to change it for all items. #### Can you add sync? No. iCloud sync is unreliable and causes a huge support burden. It's not worth the effort for this app. #### Can you add widgets? No. This is a simple menu bar app. #### Can you support iOS? No. #### Can you add another menu bar icon option? Sure! Find an icon you like in the [SF Symbols app](https://developer.apple.com/sf-symbols/) or [here](https://thenounproject.com/icons/), and send me the name or a link. #### I already own [Dato](/dato). Does this offer any benefits over its similar feature? {#dato} - More minimal - Flag or emoji icons - Custom text size ================================================ FILE: source/content/blog/empathy-in-open-source.md ================================================ --- title: Empathy in Open Source description: Open source is not just about code, it's about people. pubDate: 2023-05-23 tags: - open-source --- The success of any open source project relies on the collaboration and participation of individuals from all over the world. In order to foster a healthy and productive open source community, it's crucial to prioritize empathy and kindness towards one another. Empathy allows us to understand and relate to the experiences of others. It's important to recognize that not everyone has the same level of expertise or access to resources, and that's okay. Instead of dismissing someone's perspective or ideas, try to understand where they are coming from and how you can work together to achieve a common goal. Kindness is about treating others with respect and compassion. It's important to remember that behind every screen is a real person with their own unique experiences and challenges. By being kind to one another, we can create a welcoming and supportive environment where everyone feels valued and appreciated. Empathy and kindness can manifest in a variety of ways. It could mean taking the time to review someone's code and providing constructive feedback instead of tearing it apart. It could mean welcoming new contributors and making an effort to help them feel included. Remember, empathy and kindness is a choice. ================================================ FILE: source/content/blog/goodbye-nodejs-buffer.md ================================================ --- title: Goodbye, Node.js Buffer description: It's time to move from Buffer to Uint8Array. pubDate: 2023-10-24 tags: - nodejs - javascript - open-source --- The [`Buffer`](https://nodejs.org/api/buffer.html) type has been the cornerstone for binary data handling in Node.js since the beginning. However, these days we have [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), which is a native JavaScript type and works cross-platform. While `Buffer` is an instance of `Uint8Array`, it introduces numerous methods that are not available in other JavaScript environments. Consequently, code leveraging Buffer-specific methods needs polyfilling, preventing many valuable packages from being browser-compatible. `Buffer` also comes with additional caveats. While [`Uint8Array#slice()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice) creates an immutable copy, [`Buffer#slice()`](https://nodejs.org/api/buffer.html#bufslicestart-end) creates a mutable segment linked to the original Buffer, resulting in possible unpredictable behavior. The problem is not the behavior of the `Buffer#slice()` method, but the fact that `Buffer` is a subclass of `Uint8Array` and completely changes the behavior of an inherited method. Instead of `Buffer#slice()`, use `Uint8Array#subarray()` or `Buffer#subarray()`. Furthermore, [buffers expose private information](https://github.com/nodejs/node/issues/41588#issuecomment-1016269584) through global variables, a potential security risk. It is time to move on. ## The Plan I intend to move [all my packages](https://github.com/search?q=owner%3Asindresorhus+%22node%3Abuffer%22&type=code) from using `Buffer` to `Uint8Array`. If you are a maintainer of a JavaScript package, I encourage you to do the same. `Buffer` will never be removed, and probably never even deprecated, but at least the community can slowly move away from it. My hope is that the Node.js team will at least start discouraging the use of `Buffer`. ## How First, familiarize yourself with the [subtle incompatibilities](https://nodejs.org/api/buffer.html#buffers-and-typedarrays) between `Uint8Array` and `Buffer`. I have made the [`uint8array-extras` package](https://github.com/sindresorhus/uint8array-extras) to make the transition easier. Pull requests are welcome for additional utilities. If your code accepts a `Buffer` and doesn't use any `Buffer`-specific methods, you can simply update your docs and types to `Uint8Array`. Changing the input type from `Buffer` to `Uint8Array` is a non-breaking change since `Buffer` is an instance of `Uint8Array`. Changing the return type from `Buffer` to `Uint8Array` is a breaking change, because consumers may use `Buffer`-specific methods. If you absolutely need to convert a `Uint8Array` to a `Buffer`, you can use `Buffer.from(uint8Array)` (copies the data) or `Buffer.from(uint8Array.buffer, uint8Array.byteOffset, uint8Array.byteLength)` (does not copy). However, there is usually a better way. The primary transition steps are: - Remove all `import {Buffer} from 'node:buffer'` imports. - Remove all occurrences of the `Buffer` global. - Stop using `Buffer`-specific methods. - Replace `Buffer` reading/writing methods, like [`Buffer#readInt32BE()`](https://nodejs.org/api/buffer.html#bufreadint32beoffset), with [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView). ## Questions #### Why did `Buffer` exist in the first place? `Buffer` was created long before `Uint8Array` existed. #### How can I convert to and from Base64 with `Uint8Array`? You can use my [`uint8array-extras` package](https://github.com/sindresorhus/uint8array-extras) for now. It will most likely eventually be [supported natively](https://github.com/tc39/proposal-arraybuffer-base64/issues) in JavaScript. #### How do I handle Node.js APIs that return a `Buffer`, like the `fs` methods? Since `Buffer` is a subclass of `Uint8Array`, you can just treat it like a `Uint8Array`. Just make sure you don't use `.slice()` (which differs in behavior) or any Buffer-specific methods. ## Examples #### JavaScript ```diff +import {stringToBase64} from 'uint8array-extras'; -Buffer.from(string).toString('base64'); +stringToBase64(string); ``` ```diff +import {uint8ArrayToHex} from 'uint8array-extras'; -buffer.toString('hex'); +uint8ArrayToHex(uint8Array); ``` ```diff const bytes = getBytes(); +const view = new DataView(bytes.buffer); -const value = bytes.readInt32BE(1); +const value = view.getInt32(1); ``` ```diff import crypto from 'node:crypto'; -import {Buffer} from 'node:buffer'; +import {isUint8Array} from 'uint8array-extras'; export default function hash(data) { - if (!(typeof data === 'string' || Buffer.isBuffer(data))) { + if (!(typeof data === 'string' || isUint8Array(data))) { throw new TypeError('Incorrect type.'); } return crypto.createHash('md5').update(data).digest('hex'); } ``` Most Node.js APIs accept `Uint8Array` too, so no extra work was required. Ideally, this code should also transition to [Web Crypto](https://nodejs.org/api/webcrypto.html), but that's not relevant to this example. ##### TypeScript ```diff -import {Buffer} from 'node:buffer'; -export function getSize(input: string | Buffer): number { … } +export function getSize(input: string | Uint8Array): number { … } ``` ## Enforcement I recommend enforcing `Uint8Array` over `Buffer` with linting. Add this to your ESLint config: ```js { 'no-restricted-globals': [ 'error', { name: 'Buffer', message: 'Use Uint8Array instead.' } ], 'no-restricted-imports': [ 'error', { name: 'buffer', message: 'Use Uint8Array instead.' }, { name: 'node:buffer', message: 'Use Uint8Array instead.' } ] } ``` And if you use TypeScript, add this: ```js { '@typescript-eslint/ban-types': [ 'error', { types: { Buffer: { message: 'Use Uint8Array instead.', suggest: [ 'Uint8Array' ] } } } ] } ``` If you use [XO](https://github.com/xojs/xo), it comes with this config by default. ## How Can I Help? [Voice your support](https://github.com/nodejs/node/issues/41588) for Node.js using `Uint8Array` for new APIs. Help me move [my packages](https://github.com/search?q=owner%3Asindresorhus+%22node%3Abuffer%22&type=code) to `Uint8Array`. Pick one and give it a go. Help us make a [lint rule](https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1808) to prevent the use of `Buffer` methods. ## Future `Uint8Array` (or rather `TypedArray`) need more utility methods! For example, there is currently no good built-in way to convert a `Uint8Array` to Base64 or Hex. Although, it looks like this is [most likely coming](https://github.com/tc39/proposal-arraybuffer-base64). Consider proposing missing bits to [TC39](https://github.com/tc39/proposals). ## The End Let's make the JavaScript package ecosystem more cross-platform. Thanks for reading. [Discuss](https://github.com/sindresorhus/meta/discussions/22) ================================================ FILE: source/content/blog/issue-bumping.md ================================================ --- title: Issue Bumping pubDate: 2020-10-09 tags: - open-source --- ![](/blog/issue-bumping.jpg) I frequently receive notifications on GitHub where someone comments, “Any updates?” on an old issue thread. The answer is always “No”. Updates are in the issue. A lack of recent activity on an issue can signify either a lack of time or interest from the maintainers, or that the issue is currently blocked by some external factor. Repeatedly asking for updates on such issues is not productive and will only result in spamming everyone who is subscribed to the issue. ## So what can you do? The most helpful action you could take is to offer your assistance. Even providing some failing tests could be valuable. Another option is to leave a comment that contributes to the issue. For instance, you could provide additional information about a bug report, reproduction steps, a crash report, use-cases for a feature, or suggestions on how to implement a feature or bug fix. If you simply want to express your agreement with an issue, you can use the reactions feature to give it a 👍🏻. ## When is it ok to bump an issue? It's appropriate to bump an issue when there was supposed to be some action taken, but none occurred. For instance, if a maintainer promises to investigate an issue and fails to follow through, it's acceptable to remind them. Similarly, if you submit a pull request, the maintainer reviews it, you address the review comments, but then don't receive any further communication, it's ok to bump. Please keep in mind that open source is just a hobby for most maintainers and they are often overloaded with notifications. If you’re going to create a notification in someone's inbox, make it worth it. ================================================ FILE: source/content/blog/micro-benchmark-fallacy.md ================================================ --- title: The Micro-Benchmark Fallacy description: It's a trap. pubDate: 2024-08-13 tags: - programming --- Micro-benchmarks, while seemingly insightful, often mislead developers by presenting a skewed view of performance. They isolate small fragments of code, amplifying their significance in ways that don’t reflect real-world scenarios. ## Lack of Real-World Context Micro-benchmarks strip away the complexities of actual apps. A function may perform well in isolation, but its impact on overall system performance can be negligible. ## Artificial Testing Conditions These benchmarks typically run under ideal circumstances, failing to account for real-world factors like I/O operations, network latency, and user interactions that significantly affect performance. ## Misguided Optimization Focus Obsessing over micro-optimizations often yields diminishing returns. It's more productive to focus on optimizing critical paths and bottlenecks that genuinely impact user experience. ## Overlooking Concurrency and Parallelism Apps generally rely heavily on concurrent and parallel execution. Micro-benchmarks typically test single-threaded performance, which may not accurately represent how code behaves in a multi-threaded environment. ## Neglecting Startup and Initialization Costs Some operations have significant startup or initialization costs that are amortized over time in long-running apps. Micro-benchmarks may overemphasize these costs if they don't run long enough, leading to misguided optimization efforts. ## JIT and Caching Complications Modern languages use Just-In-Time (JIT) compilation and caching to dynamically optimize performance. Micro-benchmarks include warm-up phases to account for this, but often miss the full impact. A function in a micro-benchmark might run faster or slower when integrated with other code due to changes in execution paths, resource contention, or different inlining decisions. ## Misleading Marketing Be skeptical of projects that boast micro-benchmark results. These figures are often cherry-picked and rarely reflect real-world performance. A prime example is when frameworks use these benchmarks to promote their performance, showcasing isolated scenarios where they shine. However, these results quickly lose relevance once real-world factors like database I/O come into play. Such benchmarks often distract from more important considerations when evaluating a framework. ## The Bottom Line While micro-benchmarks can provide some insights, they shouldn't be the primary basis for performance optimization decisions. Instead, focus on comprehensive profiling of your app under realistic conditions to identify and address genuine performance bottlenecks. ================================================ FILE: source/content/blog/shortcutie-setapp.md ================================================ --- #isUnlisted: true title: Shortcutie + Setapp = ❤️ description: My Shortcutie app is now available on Setapp. pubDate: 2026-02-24 redirectUrl: https://sindresorhus.com/shortcutie --- ================================================ FILE: source/content/blog/small-focused-modules.md ================================================ --- title: Small Focused Modules description: Make small focused modules for reusability and to make it possible to build larger more advanced things that are easier to reason about. pubDate: 2018-10-26 tags: - open-source - javascript --- *This was originally an [answer](https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328) on my AMA (Ask Me Anything) about why I make small Node.js modules. My answer applies to Node.js and might not be applicable to your platform. The reason this works so well on Node.js is that you can have [nested dependencies](https://maxogden.com/nested-dependencies.html), so they never conflict.* People get way too easily caught up in the LOC (Lines Of Code). LOC is pretty much irrelevant. It doesn’t matter if the module is one line or hundreds. It’s all about containing complexity. Think of node modules as Lego blocks. You don’t necessarily care about the details of how it’s made. All you need to know is how to use the Lego blocks to build your Lego castle. By making small focused modules you can easily build large complex systems without having to know every single detail of how everything works. Our short-term memory is finite. In addition, by having these modules as reusable packages, other people can reuse them, and when a module is improved or a bug is fixed, every consumer benefits. Imagine if PC manufacturers all made their own CPUs. Most would do it badly. The computer would be more expensive and we would have slower innovation. Instead most use Intel, ARM, etc. This would not be possible if it weren’t for how npm works. The beauty of being able to use [nested dependencies](https://maxogden.com/nested-dependencies.html) means I don’t have to care what dependencies a dependency I use has. That’s powerful. Some years ago. Before Node.js and npm. I had a large database of code snippets I used to copy-paste into projects when I needed it. They were small utilities that sometimes came in handy. npm is now my snippet database. Why copy-paste when you can import it and with the benefit of having a clear intent? Fixing a bug in a snippet means updating one module instead of manually fixing all the instances where the snippet is used. For example, [chalk](https://github.com/chalk/chalk) is one of the most popular modules on npm. What you might not realize is that it’s actually a [collection of modules](https://github.com/chalk/chalk/blob/d7537f37df874619511994f1debf2ec6dbacaa3c/package.json#L48-L52). It depends on a module for [detecting if the terminal supports color](https://github.com/chalk/supports-color), for [getting the ansi escape codes](https://github.com/chalk/ansi-styles), etc. All of this could have been just embedded in the main module, and it probably is in many cases. But that would mean anyone else wanting to create an alternative terminal string styling module would have to reinvent the wheel on everything. By having these supporting modules, people can easily benefit from our work in Chalk and maybe even help improve Chalk indirectly by improving one of the dependencies. Yet another example. I have this module [user-home](https://github.com/sindresorhus/user-home) which gets the user’s home directory. You might think it would be simpler to just do `process.platform === 'win32' ? process.env.USERPROFILE : process.env.HOME`. And most do this. But first, why require everyone to know how to get the home directory? Why not use a "Lego block"? What you also might not realize is that this check is incomplete. On Windows, you should also check `process.env.HOMEDRIVE + process.env.HOMEPATH` and you might also want to do [additional checks](https://github.com/sindresorhus/os-homedir/blob/7e39e2e049de404f06233fa617ecf46fed997a78/index.js). Lego blocks. (Node.js actually has an [API](https://nodejs.org/api/os.html#os_os_homedir) for this now, exactly for the reasons stated above) Do you make your own shoes? No, you buy them in a store. Most don’t care how the shoe is made. Just how good it fits. I want programming to be easier. Making it easier to build durable systems. And the way forward, in my point of view, is definitely not reinventing everything and everyone making the same stupid mistakes over and over. ================================================ FILE: source/content.config.ts ================================================ import {defineCollection} from 'astro:content'; import {glob} from 'astro/loaders'; import {z} from 'astro/zod'; const appsCollection = defineCollection({ loader: glob({pattern: '**/*.md', base: './source/content/apps'}), schema: z.object({ draft: z.boolean().default(false), isUnlisted: z.boolean().default(false), isArchived: z.boolean().default(false), title: z.string().nonempty(), subtitle: z.string().nonempty(), pubDate: z.date(), platforms: z.array(z.enum([ 'macOS', 'iOS', 'watchOS', 'tvOS', 'visionOS', 'Linux', 'Windows', ])), repoUrl: z.string().url().optional(), appStoreId: z.number().int().positive().safe().optional(), setappId: z.number().int().positive().safe().optional(), isPaid: z.boolean().default(false), isMenuBarApp: z.boolean().default(false), mainLinks: z.record(z.string(), z.string().url()).optional(), links: z.record(z.string(), z.string().url()).optional(), overflowLinks: z.record(z.string(), z.string().url()).optional(), showSupportLink: z.boolean().default(true), redirectUrl: z.string().url().optional(), releasesRepo: z.string().optional(), olderMacOSVersions: z.array(z.enum([ // eslint-disable-line @typescript-eslint/naming-convention '10.13', '10.14', '10.15', '11', '12', '13', '14', '15', '26', '27', '28', '29', '30', '31', '32', '33', '34', ])).optional(), requirement: z.string().optional(), downloads: z.number().int().positive().optional(), feedbackNote: z.string().optional(), hasSentry: z.boolean().default(false), pressQuotes: z.array(z.object({ quote: z.string().nonempty(), source: z.string().nonempty(), url: z.string().url().optional(), isStarRating: z.boolean().default(false), })).optional(), announcement: z.object({ text: z.string().nonempty(), url: z.string().optional(), urlText: z.string().optional(), }).optional(), }).strict(), }); const blogCollection = defineCollection({ loader: glob({pattern: '**/*.md', base: './source/content/blog'}), schema: z.object({ draft: z.boolean().default(false), isUnlisted: z.boolean().default(false), title: z.string().nonempty(), description: z.string().nonempty().optional(), pubDate: z.date(), tags: z.array(z.enum([ 'programming', 'open-source', 'swift', 'javascript', 'nodejs', ])).optional(), redirectUrl: z.string().url().optional(), }).strict(), }); export const collections = { apps: appsCollection, blog: blogCollection, }; ================================================ FILE: source/data/apps-extra.json ================================================ [ { "label": "Categories", "items": [ { "title": "Free", "url": "/apps/free", "description": "Apps that are free" }, { "title": "Paid", "url": "/apps/paid", "description": "Apps that are paid" }, { "title": "Setapp", "url": "/apps/setapp", "description": "Apps available on Setapp" }, { "title": "Mac", "url": "/apps/macos", "description": "Apps that run on the Mac" }, { "title": "Menu Bar", "url": "/apps/menu-bar", "description": "Apps that live in the menu bar" }, { "title": "iPhone & iPad", "url": "/apps/ios", "description": "Apps that run on iPhone and iPad" }, { "title": "Apple Watch", "url": "/apps/watchos", "description": "Apps that run on Apple Watch" }, { "title": "Apple Vision", "url": "/apps/visionos", "description": "Apps that run on Apple Vision" }, { "title": "Shortcuts-related", "url": "/apps/shortcuts", "description": "Apps related to the Shortcuts app" }, { "title": "Open Source", "url": "https://github.com/search?q=user%3Asindresorhus+language%3Aswift+topic%3Aapp+archived%3Afalse&type=repositories", "description": "Apps with the source code available" }, { "title": "Random", "url": "/apps/random", "description": "Show a random app" } ] }, { "label": "More", "items": [ { "title": "FAQ", "url": "/apps/faq", "description": "Frequently asked questions about my apps" }, { "title": "Tiny Apps", "url": "/tiny-apps", "description": "Smaller utilities" }, { "title": "Older Versions", "url": "/apps/older-versions", "description": "Apps for older macOS versions" }, { "title": "RSS Feed for New Apps", "url": "/feeds", "description": "Get notified about new apps I publish" }, { "title": "Discounts", "url": "/apps/discounts", "description": "Student discounts and special offers for my apps" }, { "title": "Terms of Use", "url": "/apps/terms", "description": "Guidelines and conditions for using my apps" }, { "title": "Archived Apps", "url": "/apps/archived", "description": "Apps that are no longer being worked on" } ] } ] ================================================ FILE: source/env.d.ts ================================================ /* eslint-disable @typescript-eslint/triple-slash-reference */ /// /// ================================================ FILE: source/layouts/BaseLayout.astro ================================================ --- import '../../styles/global.css'; import MetaTags from '~/components/core/MetaTags.astro'; const {meta = {}} = Astro.props; --- ================================================ FILE: source/layouts/BlogLayout.astro ================================================ --- import Layout from '~/layouts/PageLayout.astro'; const {meta} = Astro.props; ---
    ================================================ FILE: source/layouts/MarkdownLayout.astro ================================================ --- import Layout from '~/layouts/PageLayout.astro'; import {proseCSS} from '~/utils/apps.js'; const {frontmatter} = Astro.props; const {title, description} = frontmatter; const meta = { title: `${title} — Sindre Sorhus`, ...(description && {description}), }; ---
    ================================================ FILE: source/layouts/PageLayout.astro ================================================ --- import Layout from '~/layouts/BaseLayout.astro'; import Header from '~/components/widgets/Header.astro'; import Footer from '~/components/widgets/Footer.astro'; const {meta, isAppPage = false} = Astro.props; ---