Skip to content

v0.1.2 — install just works: live permissions + Keychain

Choose a tag to compare

@todddickerson todddickerson released this 01 Aug 20:46
· 16 commits to main since this release

FunButton v0.1.2 — install "just works" edition

The Fn key at the bottom-left of your Mac keyboard, finally with a job: hold it, talk, release — clean text appears at your cursor. Dev-first (code-aware modes), local AI cleanup bundled in (no API key required for cleanup), GPLv3.

What's new in 0.1.2

Permissions setup no longer needs a relaunch. The #1 fresh-install stall is fixed: FunButton now re-arms the Fn listener within seconds of you granting Input Monitoring — the onboarding wizard's permission steps poll live and auto-advance as you grant Microphone → Accessibility → Input Monitoring, and the hotkey comes alive immediately. No quit-and-reopen dance.

Your Groq API key now lives in the macOS Keychain. Previously it sat in plaintext in ~/.funbutton/settings.json. On first launch of 0.1.2 the key is migrated automatically into your login Keychain and scrubbed from the file. If the Keychain is unavailable, FunButton degrades gracefully instead of losing your key.

Onboarding knows about the bundled model. Step 6 shows the on-device Qwen 2.5 cleanup model warming up → ready, live. You can finish setup with zero accounts and zero keys — cleanup runs fully offline. (Speech-to-text still uses Groq Whisper today, so a free Groq key is recommended; bundled offline Whisper is next on the list.)

Plus: Lucide icons replace emoji across the system UI, and assorted copy fixes.

Install (unsigned build — two extra steps)

  1. Download FunButton-v0.1.2-macos-arm64.dmg below, open it, drag FunButton into Applications.
  2. The app is unsigned (no Apple Developer cert yet), so Gatekeeper will block it. Clear the quarantine flag:
    sudo xattr -cr /Applications/FunButton.app
  3. Launch FunButton. The onboarding wizard walks you through the three permissions (Microphone, Accessibility, Input Monitoring) — each step detects the grant automatically and moves on.
  4. Hold Fn, talk, release. Cleaned text lands at your cursor.

Requirements: Apple Silicon Mac (arm64), macOS 12+. The bundle is ~1 GB because the local cleanup model ships inside the app.

FunButton-v0.1.2-macos-arm64.dmg sha256: f13bafd42e722f4fbe5a156d8fd97baf318abe30fe70944d7d8af7fda240860a

Handy defaults

  • Hold Fn — push-to-talk (switch to Right Option in Settings if you've remapped Fn)
  • ⌘⇧V — re-paste the last cleaned text
  • ⌘⇧H — transcription history (local SQLite, auto-pruned, never leaves your machine)
  • Modes: auto / code / email / slack / raw — auto picks by frontmost app (Cursor, VS Code, terminal → code mode)
  • Custom dictionary for brand names and jargon

Known issues

  • Speech-to-text requires a Groq key (free tier is fine) — cleanup is zero-key via the bundled model, transcription isn't yet.
  • Apple Silicon only; Intel Macs can't use the embedded model.
  • Some external non-Apple keyboards don't emit the Fn flag at all — switch the hotkey to Right Option in Settings.
  • Unsigned build: the xattr step above is required until we ship signed builds.