{"id":50523051,"url":"https://github.com/kykim79/Cluxo","last_synced_at":"2026-06-20T00:00:52.885Z","repository":{"id":358455131,"uuid":"1240701983","full_name":"kykim79/Cluxo","owner":"kykim79","description":"macOS menu-bar 발표 도우미 — 커서 강조·라디얼 메뉴·그리기·키스트로크 표시·스포트라이트·돋보기","archived":false,"fork":false,"pushed_at":"2026-06-07T12:23:38.000Z","size":13392,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-07T14:13:39.970Z","etag":null,"topics":["annotation","cursor","keystroke-display","macos","menu-bar","menubar-app","mouse-cursor","presentation","productivity","radial-menu","screen-annotation","screencast","spotlight","swift","swiftui"],"latest_commit_sha":null,"homepage":"https://github.com/kykim79/Cluxo","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kykim79.png","metadata":{"files":{"readme":"README.en.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-16T13:11:16.000Z","updated_at":"2026-06-07T12:23:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kykim79/Cluxo","commit_stats":null,"previous_names":["kykim79/cursorhighlight","kykim79/cluxo"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/kykim79/Cluxo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kykim79%2FCluxo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kykim79%2FCluxo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kykim79%2FCluxo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kykim79%2FCluxo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kykim79","download_url":"https://codeload.github.com/kykim79/Cluxo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kykim79%2FCluxo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34552295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotation","cursor","keystroke-display","macos","menu-bar","menubar-app","mouse-cursor","presentation","productivity","radial-menu","screen-annotation","screencast","spotlight","swift","swiftui"],"created_at":"2026-06-03T06:00:31.030Z","updated_at":"2026-06-20T00:00:52.879Z","avatar_url":"https://github.com/kykim79.png","language":"Swift","funding_links":[],"categories":["Screenshot / Screen Recording"],"sub_categories":["Text"],"readme":"# Cluxo\n\n[![License](https://img.shields.io/github/license/kykim79/Cluxo?style=flat-square)](LICENSE)\n[![Latest Release](https://img.shields.io/github/v/release/kykim79/Cluxo?style=flat-square)](https://github.com/kykim79/Cluxo/releases/latest)\n[![macOS](https://img.shields.io/badge/macOS-13.0+-blue?style=flat-square\u0026logo=apple)](https://github.com/kykim79/Cluxo)\n[![Swift](https://img.shields.io/badge/Swift-5.9-orange?style=flat-square\u0026logo=swift)](https://swift.org)\n[![Downloads](https://img.shields.io/github/downloads/kykim79/Cluxo/total?style=flat-square)](https://github.com/kykim79/Cluxo/releases)\n[![Stars](https://img.shields.io/github/stars/kykim79/Cluxo?style=flat-square)](https://github.com/kykim79/Cluxo/stargazers)\n\nmacOS menu bar app for presentations and screencasts. Visually emphasizes the mouse cursor with drawing tools, radial menu, keystroke display, spotlight, magnifier, and more — a complete helper for screen-sharing workflows.\n\n\u003e 🇰🇷 [한국어 README](README.md)\n\n![Cluxo demo — colors · spotlight · magnifier · radial menu · drawing](docs/screenshots/01-hero-en.gif)\n\n\u003ca href=\"https://www.producthunt.com/products/cluxo?embed=true\u0026amp;utm_source=badge-featured\u0026amp;utm_medium=badge\u0026amp;utm_campaign=badge-cluxo\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg alt=\"Cluxo - Highlight your cursor for screencasts and demos | Product Hunt\" width=\"250\" height=\"54\" src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1165711\u0026amp;theme=light\"\u003e\u003c/a\u003e\n\n## Features\n\n- **Cursor Ring** — colored ring around the cursor (circle/squircle/rounded diamond/rounded hexagon, 4 sizes, opacity, border weight/style, glow, breathing animation)\n- **Click Effects** — left (circular ripple), right (double ripple), double-click (burst), middle/wheel (rotating arcs)\n- **Drag Indicator** — ring stretches in drag direction\n- **Scroll Indicator** — directional arrows (↑↓←→) with magnitude-proportional size (precise scroll vs page scroll distinguished at a glance)\n- **Cursor Trail** — afterglow comet tail\n- **Magnifier** — real-time 1.5×–4× zoom around cursor. Adjustable lens size, Lanczos upscale + sharpening for crispness, reduced jitter while moving\n- **Spotlight** — dim everything except a circle around the cursor. Smooth fade in/out when toggled (Mousepose-style), adjustable edge softness (feather) and radius\n- **Keystroke Display** — show pressed shortcuts as bottom overlay. Optional auto-enable when an unknown external monitor (meeting room, etc.) connects (trusted monitors excluded)\n- **Shake Detection** — shake the mouse to flash expanding rings at the cursor (\"where did my cursor go?\"). On/off + 3 sensitivity levels\n- **Screenshot Mode** — menu bar toggle. Normally overlay window has `sharingType = .none` (so the magnifier doesn't re-capture itself), but you can flip it to `.readOnly` temporarily for external `screencapture`/OBS. Auto-OFF on app restart.\n- **Radial Menu (⌃⌥, or long-press)** — 8-sector menu fans out at the cursor. Adjust effects/color/shape/spotlight/magnifier/ring-look with the menu staying open for quick multi-changes during a presentation.\n  - **Two-level hierarchy** — grab an item and drag further out to fan out its detail values: spotlight (radius, edge), magnifier (zoom, lens size), ring look (size, opacity, border weight/style). The current value is highlighted with a faint accent.\n  - **Drag to reposition** — grab the center and drag to move the menu anywhere (across monitors too).\n  - **How to open** — `⌃⌥,`, a **long-press (0.5s) of the left mouse button**, or a **long-press on the trackpad** (handy on laptops). A 5pt deadband prevents conflict with normal drag/click.\n- **Drawing Mode (⌃⌥D)** — on-screen annotation for presentations/screencasts. 7 tools: free pen, line (Shift), arrow (Opt), rectangle (Cmd), ellipse (Cmd+Shift), highlighter (Cmd+Opt), numbered badge (Shift+Opt click). While active: Cmd+Z to undo last shape, `[` / `]` to adjust thickness (5 steps). Stroke color follows the ring color.\n- **Trackpad gesture feedback (experimental)** — visual labels/effects for system gestures: 4-finger pinch in/out, 3- and 4-finger swipes (↑↓←→), 5-finger pinch. Useful for showing your gestures to the audience during a presentation. Relies on the private MultitouchSupport API, so it's OFF by default — enable it in the Behavior tab of Preferences.\n\n## Shortcuts\n\nAll shortcuts use `⌃⌥` (Control + Option):\n\n| Key | Action |\n|---|------|\n| `⌃⌥S` | Toggle spotlight |\n| `⌃⌥M` | Toggle magnifier |\n| `⌃⌥=` | Magnifier zoom in (0.5× step, max 4.0×) |\n| `⌃⌥-` | Magnifier zoom out (min 1.5×) |\n| `⌃⌥K` | Toggle keystroke display |\n| `⌃⌥1` | Yellow ring |\n| `⌃⌥2` | Red ring |\n| `⌃⌥3` | Blue ring |\n| `⌃⌥4` | Green ring |\n| `⌃⌥5` | Cyan ring |\n| `⌃⌥6` | Purple ring |\n| `⌃⌥7` | White ring |\n| `⌃⌥C` | Cycle to next ring color |\n| `⌃⌥H` | Cycle to next ring shape (circle → squircle → rounded diamond → rounded hexagon) |\n| `⌃⌥I` | Inspector — show (x, y) system coordinates next to the cursor |\n| `⌃⌥,` | **Radial Menu** — 8-sector mouse menu. Grab an item and drag further out to fan out detail values (radius/zoom/size/opacity/border…) in a second level. Grab the center to move the menu. ESC to close. **Also opens on long-press (0.5s) of the left mouse button — or a long-press on the trackpad** |\n| `⌃⌥D` | **Toggle Drawing Mode** — on-screen annotation. While active: Drag=pen / **Shift**+drag=line / **Opt**+drag=arrow / **Cmd**+drag=rectangle / **Cmd+Shift**+drag=ellipse / **Cmd+Opt**+drag=highlighter / **Shift+Opt**+click=numbered badge. While active: **Cmd+Z**=undo last shape, **`[`** / **`]`**=adjust thickness, **ESC**=clear+exit. Color follows current ring color |\n\nSome shortcuts are configurable in Preferences (menu bar → Preferences).\n\n## Preferences\n\n8 color slots (incl. custom), 4 ring shapes, 4 sizes, plus opacity / border / speed / effect toggles, spotlight edge softness, and shake sensitivity — all in one place. UI language (System Default / Korean / English) is selectable from the **General** tab.\n\n![Preferences — Ring: color, shape, size, opacity, border](docs/screenshots/pref-en-ring.png)\n\n![Preferences — Effects: animation, ring effects, drag, scroll](docs/screenshots/pref-en-effects.png)\n\n![Preferences — General: language, startup, cursor, screenshot mode](docs/screenshots/pref-en-general.png)\n\n## System Requirements\n\n- macOS 13.0 or later\n- Apple Silicon (current build; Universal build required for Intel)\n\n## Installation\n\n### Homebrew (recommended)\n\n```bash\nbrew install --cask kykim79/tap/cluxo\n```\n\nHomebrew automatically removes the quarantine flag, so no Gatekeeper bypass needed. Updates: `brew upgrade --cask cluxo`.\n\n### Manual\n\nDownload `Cluxo.zip` from [Releases](https://github.com/kykim79/Cluxo/releases):\n\n1. Unzip → move `Cluxo.app` to `/Applications`\n2. **First launch**: right-click in Finder → Open → confirm \"Open\" (Gatekeeper bypass, once)\n\nIf right-click → Open doesn't work:\n```bash\nxattr -dr com.apple.quarantine /Applications/Cluxo.app\n```\n\n### Permissions (required regardless of install method)\n\nSystem Settings → Privacy \u0026 Security:\n- **Accessibility** (required): mouse/keyboard event capture\n- **Input Monitoring** (required): shortcut detection\n- **Screen Recording** (optional): for magnifier feature\n\nAfter granting, restart the app → `cursorarrow.rays` icon appears in menu bar.\n\n## Localization\n\nThe app UI supports **Korean** and **English** based on macOS system language. To switch:\n\nSystem Settings → General → Language \u0026 Region → reorder preferred languages.\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\nCopyright (c) 2026 kykim79\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkykim79%2FCluxo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkykim79%2FCluxo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkykim79%2FCluxo/lists"}