<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>MacOS Launcher on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/macos-launcher/</link>
        <description>Recent content in MacOS Launcher on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Wed, 16 Sep 2026 20:43:28 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/macos-launcher/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>tinycast</title>
        <link>https://producthunt.programnotes.cn/en/p/tinycast/</link>
        <pubDate>Wed, 16 Sep 2026 20:43:28 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/tinycast/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1679478562104-d1115a0a7253?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3ODk1NjI0NzF8&amp;ixlib=rb-4.1.0" alt="Featured image of post tinycast" /&gt;&lt;h1 id=&#34;abue-ammartinycast&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/abue-ammar/tinycast&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;abue-ammar/tinycast&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;tinycast&#34;&gt;Tinycast
&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;A tiny, fully native macOS launcher. One hotkey, everything you reach for all day, under 100 MB of
RAM.&lt;/strong&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://github.com/abue-ammar/tinycast/releases/latest&#34;&gt;
    &lt;img alt=&#34;Latest release&#34;
         src=&#34;https://img.shields.io/github/v/release/abue-ammar/tinycast?sort=semver&amp;style=flat&amp;label=release&amp;color=1F6FEB&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/abue-ammar/tinycast/actions/workflows/ci.yml&#34;&gt;
    &lt;img alt=&#34;CI status&#34;
         src=&#34;https://img.shields.io/github/actions/workflow/status/abue-ammar/tinycast/ci.yml?branch=main&amp;style=flat&amp;label=CI&#34;&gt;&lt;/a&gt;
  &lt;img alt=&#34;Swift 6.0&#34;
       src=&#34;https://img.shields.io/badge/Swift-6.0-F05138?style=flat&amp;logo=swift&amp;logoColor=white&#34;&gt;
  &lt;img alt=&#34;macOS 15 or later&#34;
       src=&#34;https://img.shields.io/badge/macOS-15%2B-000000?style=flat&amp;logo=apple&amp;logoColor=white&#34;&gt;
  &lt;a href=&#34;LICENSE&#34;&gt;
    &lt;img alt=&#34;License: AGPL-3.0&#34;
         src=&#34;https://img.shields.io/badge/License-AGPL--3.0-3DA639?style=flat&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://discord.gg/v2Eeb4QQy3&#34;&gt;
    &lt;img alt=&#34;Join the Tinycast Discord&#34;
         src=&#34;https://img.shields.io/badge/Discord-Join-5865F2?style=flat&amp;logo=discord&amp;logoColor=white&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://buy.polar.sh/polar_cl_NDVFC20DKQpLcNawsh97QzbARBXD3WNn8v35R0mbJmT&#34;&gt;
    &lt;img alt=&#34;Support Tinycast&#34;
         src=&#34;https://img.shields.io/badge/Support-Tip%20the%20dev-EA4AAA?style=flat&amp;logo=polar&amp;logoColor=white&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;SwiftUI and AppKit, &lt;strong&gt;zero third-party dependencies&lt;/strong&gt;, no Electron and no telemetry. It also &lt;strong&gt;runs
real Raycast extensions&lt;/strong&gt;, rendered as native SwiftUI. Free, open source, and staying that way.&lt;/p&gt;
&lt;p&gt;For anything private, email &lt;a class=&#34;link&#34; href=&#34;mailto:iabueammar@gmail.com&#34; &gt;iabueammar@gmail.com&lt;/a&gt;.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;docs/screenshot.png&#34; alt=&#34;Tinycast command palette&#34; width=&#34;720&#34;&gt;
&lt;/p&gt;
&lt;h2 id=&#34;support&#34;&gt;Support
&lt;/h2&gt;&lt;p&gt;Tinycast is &lt;strong&gt;free, and it stays that way&lt;/strong&gt;. If it earns a place in your daily flow, a one-off tip helps
keep it actively maintained. GitHub Sponsors isn&amp;rsquo;t available in my country, so please support here:&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://buy.polar.sh/polar_cl_NDVFC20DKQpLcNawsh97QzbARBXD3WNn8v35R0mbJmT&#34;&gt;
    &lt;img alt=&#34;Support Tinycast&#34; width=&#34;188&#34; height=&#34;44&#34; src=&#34;docs/support-button.svg&#34;&gt;&lt;/a&gt;&lt;br&gt;
  &lt;sub&gt;Payments are handled securely by &lt;a href=&#34;https://polar.sh&#34;&gt;Polar.sh&lt;/a&gt;.&lt;/sub&gt;
&lt;/p&gt;
&lt;h2 id=&#34;features&#34;&gt;Features
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;App launcher&lt;/strong&gt; — fuzzy-search and launch anything, pin favorites, see what&amp;rsquo;s running, quit an app
or every app at once.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global hotkey&lt;/strong&gt; — one shortcut summons the palette from anywhere.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per-app hotkeys&lt;/strong&gt; — bind a key to an app; press it to toggle (focus/hide).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Search Files&lt;/strong&gt; — open files and folders from the folders you choose, through Spotlight, with no
index of our own.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clipboard history&lt;/strong&gt; — text and images, searchable, pasted back into the app you were using.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calculator&lt;/strong&gt; — do math, unit, live currency and crypto conversions inline, right in the palette.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quicklinks&lt;/strong&gt; — turn a URL, search, file or deeplink into a command, with placeholders for typed
input, the clipboard or the date.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apple Shortcuts&lt;/strong&gt; — search and run the shortcuts you built in the Shortcuts app, with aliases and
global hotkeys.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Snippets&lt;/strong&gt; — reusable Markdown templates with dynamic placeholders, arguments, nested references
and optional keyword expansion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom commands&lt;/strong&gt; — run named shell commands through fuzzy search or their own global hotkeys.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Window management&lt;/strong&gt; — 34 Rectangle-style actions: halves, quarters, thirds, sizing, nudging,
display moves, fullscreen and Spaces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;System actions&lt;/strong&gt; — lock, sleep, restart, empty trash, toggle appearance, Bluetooth, mute, hidden
files, and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calendar and meetings&lt;/strong&gt; — your next meeting on the empty palette and in the menu bar, one key to
join it, or let it join itself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt; — an unlimited collection of plain Markdown files in one floating editor, searchable from
the palette.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Emoji picker&lt;/strong&gt; — a searchable emoji grid, one keystroke away.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI chat&lt;/strong&gt; — use your own key or an installed AI account, chat from the palette. Off out of the box, like every AI feature.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quick Actions&lt;/strong&gt; — fix grammar, rewrite, translate or summarize the selected text in any app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Raycast extensions&lt;/strong&gt; — run the ones you already have natively, rendered as SwiftUI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backup and import&lt;/strong&gt; — export your settings to a file, or import your setup from Raycast.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;install&#34;&gt;Install
&lt;/h2&gt;&lt;p&gt;First, add the tap:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew trust --tap abue-ammar/tinycast   &lt;span class=&#34;c1&#34;&gt;# required for third-party taps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew tap abue-ammar/tinycast
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then run the one line that matches your Mac:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Your Mac&lt;/th&gt;
					&lt;th&gt;Install&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Apple silicon, macOS 26 or newer&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;brew install --cask tinycast&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Intel, macOS 26&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;brew install --cask tinycast-universal&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;macOS 15 Sequoia &lt;sub&gt;(no longer maintained)&lt;/sub&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;brew install --cask tinycast-sequoia&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Not sure which you have? &lt;strong&gt;Apple menu → About This Mac.&lt;/strong&gt; Homebrew checks too, and refuses the
wrong one.&lt;/p&gt;
&lt;p&gt;Want early builds? &lt;code&gt;brew install --cask tinycast@beta&lt;/code&gt; puts &lt;code&gt;Tinycast Beta.app&lt;/code&gt; beside the stable
app, with its own settings and permissions. Apple silicon, macOS 26+.&lt;/p&gt;
&lt;p&gt;Homebrew clears the macOS quarantine flag on every install and update, so there is nothing else to
run. Downloading a DMG from &lt;a class=&#34;link&#34; href=&#34;https://github.com/abue-ammar/tinycast/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Releases&lt;/a&gt; instead?
Tinycast is self-signed, so clear the flag once:
&lt;code&gt;xattr -dr com.apple.quarantine &amp;quot;/Applications/Tinycast.app&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;permissions&#34;&gt;Permissions
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; — needed when Tinycast pastes or expands text into another app, and the only
permission snippet keyword expansion needs. You&amp;rsquo;re prompted when you first use a feature that needs
it; grant access in &lt;strong&gt;System Settings → Privacy &amp;amp; Security → Accessibility&lt;/strong&gt;. Snippets ship
disabled, and keystrokes are matched locally, never stored and never sent anywhere.&lt;/p&gt;
&lt;h2 id=&#34;using-it&#34;&gt;Using it
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Settings → General&lt;/strong&gt; and record a global shortcut to summon Tinycast.&lt;/li&gt;
&lt;li&gt;Press it anywhere → the palette floats in. Type to filter, &lt;strong&gt;↵&lt;/strong&gt; to launch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab&lt;/strong&gt; switches between Apps and Clipboard; &lt;strong&gt;↑/↓&lt;/strong&gt; move, &lt;strong&gt;Esc&lt;/strong&gt; dismisses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Settings → Shortcuts&lt;/strong&gt; — search an app or custom command and record a global shortcut.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Settings → Snippets&lt;/strong&gt; — enable the feature, then create templates with expansion keywords.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;building-from-source&#34;&gt;Building from source
&lt;/h2&gt;&lt;p&gt;See &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;docs/development.md&#34; &gt;docs/development.md&lt;/a&gt;&lt;/strong&gt; for the toolchain, build, packaging, release and
website workflows. &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;docs/README.md&#34; &gt;docs/&lt;/a&gt;&lt;/strong&gt; indexes everything else — architecture, engineering
standards, the design system and one document per feature.&lt;/p&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
&lt;strong&gt;Open an issue before you write code — this is mandatory.&lt;/strong&gt; Get the bug or the feature agreed on
first; discussing it in the issue (or on &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/v2Eeb4QQy3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord&lt;/a&gt;) is strongly
encouraged. A PR that doesn&amp;rsquo;t close an issue marked &lt;code&gt;approved&lt;/code&gt; is closed automatically however good
the patch is, and the work is wasted. Docs-only fixes are the one exception.&lt;/p&gt;
&lt;p&gt;Tinycast&amp;rsquo;s feature set is deliberately closed, and &amp;ldquo;another launcher has it&amp;rdquo; is not a reason on its
own. Ask whether a feature is wanted before you ask for it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Read &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;CONTRIBUTING.md&lt;/a&gt;&lt;/strong&gt; first — it covers the memory budget every PR is held to,
the before/after video requirement for visual changes, and why features get declined. Every PR fills
in the &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;.github/PULL_REQUEST_TEMPLATE.md&#34; &gt;pull request template&lt;/a&gt;&lt;/strong&gt;. Security issues go through
&lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;SECURITY.md&lt;/a&gt;, not the issue tracker.&lt;/p&gt;
&lt;p&gt;Questions, ideas, or just want to follow along? &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/v2Eeb4QQy3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Join the Discord&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;AGPL-3.0&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
