feat: Add macOS Tahoe cursor and wallpaper support structure#1155
feat: Add macOS Tahoe cursor and wallpaper support structure#1155SH20RAJ wants to merge 1 commit intoCapSoftware:mainfrom
Conversation
- Add Tahoe wallpaper entries to ConfigSidebar (tahoe-dark, tahoe-light) - Add comprehensive documentation for extracting Tahoe cursor hashes - Add code comments explaining Tahoe cursor support requirements - Create TAHOE_SUPPORT.md guide for adding cursor support - Create TAHOE_WALLPAPERS_NEEDED.md for wallpaper guidelines - Update cursor-info README with Tahoe compatibility notes This prepares the codebase for macOS Tahoe (macOS 16) support. Once Tahoe is publicly available or beta access is obtained: 1. Cursor hashes can be extracted using cursors.html 2. Tahoe wallpapers can be added to assets/backgrounds/macOS/ 3. Cursor SVGs can be updated if designs changed Related: CapSoftware#1100
WalkthroughAdds macOS Tahoe wallpaper docs and two new wallpaper identifiers in the editor config. Introduces Tahoe-specific documentation for cursor support and version compatibility. Updates macOS cursor source with comments/TODOs only; no logic changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
apps/desktop/src-tauri/assets/backgrounds/macOS/TAHOE_WALLPAPERS_NEEDED.md(1 hunks)apps/desktop/src/routes/editor/ConfigSidebar.tsx(1 hunks)crates/cursor-info/README.md(1 hunks)crates/cursor-info/TAHOE_SUPPORT.md(1 hunks)crates/cursor-info/src/macos.rs(2 hunks)
🧰 Additional context used
📓 Path-based instructions (7)
apps/desktop/**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
apps/desktop/**/*.{ts,tsx}: Do not manually import icons in the desktop app; rely on auto-imported icons
In the desktop app, use @tanstack/solid-query for server state management
Files:
apps/desktop/src/routes/editor/ConfigSidebar.tsx
**/*.{ts,tsx,js,jsx,rs}
📄 CodeRabbit inference engine (CLAUDE.md)
Do not add inline, block, or docstring comments in any language; code must be self-explanatory
Files:
apps/desktop/src/routes/editor/ConfigSidebar.tsxcrates/cursor-info/src/macos.rs
**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use strict TypeScript and avoid any; leverage shared types from packages
**/*.{ts,tsx}: Use a 2-space indent for TypeScript code.
Use Biome for formatting and linting TypeScript/JavaScript files by runningpnpm format.
Files:
apps/desktop/src/routes/editor/ConfigSidebar.tsx
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx,js,jsx}: Use kebab-case for filenames for TypeScript/JavaScript modules (e.g.,user-menu.tsx).
Use PascalCase for React/Solid components.
Files:
apps/desktop/src/routes/editor/ConfigSidebar.tsx
crates/**/src/**/*.rs
📄 CodeRabbit inference engine (CLAUDE.md)
For desktop IPC, use tauri_specta derive/macros on Rust types/events; do not hand-roll bindings
Files:
crates/cursor-info/src/macos.rs
**/*.rs
📄 CodeRabbit inference engine (AGENTS.md)
**/*.rs: Format Rust code usingrustfmtand ensure all Rust code passes workspace-level clippy lints.
Rust modules should be named with snake_case, and crate directories should be in kebab-case.
Files:
crates/cursor-info/src/macos.rs
crates/*/src/**/*
📄 CodeRabbit inference engine (AGENTS.md)
Rust crates should place tests within the
src/and/or a siblingtests/directory for each crate insidecrates/*.
Files:
crates/cursor-info/src/macos.rs
| // TODO: Add macOS Tahoe cursor support | ||
| // macOS Tahoe (macOS 16) introduced a new "Liquid Glass" design language which may include | ||
| // updated cursor designs. Once macOS Tahoe is publicly released, the cursor hashes should be | ||
| // extracted and added to the from_hash() function below. The process for extracting cursor | ||
| // hashes is documented in cursors.html and the README.md file. | ||
| // | ||
| // Expected Tahoe cursor variants to check: | ||
| // - All existing cursor types may have new designs/hashes | ||
| // - Potentially new cursor types introduced in Tahoe | ||
| // | ||
| // To extract Tahoe cursor hashes: | ||
| // 1. Run the cursors.html file on a macOS Tahoe system | ||
| // 2. Note any new hash values for existing cursors | ||
| // 3. Check for any completely new cursor types | ||
| // 4. Update the from_hash() function with new/changed hashes | ||
| // 5. Update cursor SVG assets if designs have changed | ||
|
|
There was a problem hiding this comment.
Remove the newly added Tahoe comments
Per the repo guidelines for *.rs files we must not add inline or doc comments. The Tahoe TODO block (Lines 5-21) and the new doc/inline notes inside from_hash (Lines 142-151) violate that rule. Please drop these comments and keep the Tahoe guidance in the dedicated markdown docs instead. As per coding guidelines
-// TODO: Add macOS Tahoe cursor support
-// macOS Tahoe (macOS 16) introduced a new "Liquid Glass" design language which may include
-// updated cursor designs. Once macOS Tahoe is publicly released, the cursor hashes should be
-// extracted and added to the from_hash() function below. The process for extracting cursor
-// hashes is documented in cursors.html and the README.md file.
-//
-// Expected Tahoe cursor variants to check:
-//
-// - All existing cursor types may have new designs/hashes
-// - Potentially new cursor types introduced in Tahoe
-//
-// To extract Tahoe cursor hashes:
-//
-// 1. Run the cursors.html file on a macOS Tahoe system
-// 2. Note any new hash values for existing cursors
-// 3. Check for any completely new cursor types
-// 4. Update the from_hash() function with new/changed hashes
-// 5. Update cursor SVG assets if designs have changed
-
- ///
- /// Note: macOS Tahoe (macOS 16) may have different cursor hashes due to the new "Liquid Glass"
- /// design language. Once Tahoe is publicly available, new hashes should be extracted and added
- /// to this function. Hashes can be extracted using the cursors.html tool on a Tahoe system.
pub fn from_hash(hash: &str) -> Option<Self> {
Some(match hash {
- // NOTE: The hashes below are for macOS versions prior to Tahoe (macOS 16)
- // TODO: Add macOS Tahoe cursor hashes once available
- // If running on macOS Tahoe and cursors aren't being detected, extract new hashes
- // using cursors.html and add them here.
-
"de2d1f4a81e520b65fd1317b845b00a1c51a4d1f71cca3cd4ccdab52b98d1ac9" => Self::Arrow,Also applies to: 142-151
🤖 Prompt for AI Agents
crates/cursor-info/src/macos.rs lines 5-21 and 142-151: remove the newly added
macOS Tahoe TODO/doc comments from the top-of-file block (lines 5-21) and the
inline notes inside from_hash (lines 142-151); leave no inline or doc comments
about Tahoe in this .rs file and instead move or reference that guidance into
the project's markdown documentation, ensuring the Rust source contains only
permitted comments per repo guidelines.
richiemcilroy
left a comment
There was a problem hiding this comment.
Need to implement the cursors
Description
This PR adds the necessary structure and documentation to support macOS Tahoe (macOS 16) cursors and wallpapers in Cap's custom cursor selection feature.
What's Included
1. Wallpaper Support ✅
tahoe-darkandtahoe-lightentries to the wallpaper selector inConfigSidebar.tsxTAHOE_WALLPAPERS_NEEDED.md) for adding actual wallpaper files.jpgfiles are added2. Cursor Support Documentation ✅
cursor-info/src/macos.rsexplaining Tahoe cursor supportTAHOE_SUPPORT.md) with step-by-step instructions for extracting Tahoe cursor hashescursor-info/README.mdwith Tahoe compatibility informationWhy This Approach?
macOS Tahoe (macOS 16) is currently in developer preview/beta and not publicly released. The new "Liquid Glass" design language may include updated cursor designs and definitely includes new wallpapers.
Since the actual assets are not yet publicly available:
How to Complete (for maintainers with Tahoe access)
For Wallpapers:
tahoe-dark.jpgandtahoe-light.jpgfrom macOS Tahoe systemapps/desktop/src-tauri/assets/backgrounds/macOS/TAHOE_WALLPAPERS_NEEDED.mdfileFor Cursors:
crates/cursor-info/cursors.htmlon a macOS Tahoe systemTAHOE_SUPPORT.mdsrc/macos.rswith new hashes (if cursors changed)Testing
Related Issue
Closes #1100
/claim #1100
Screenshots/Demo
N/A - This PR provides the infrastructure. Visual changes will appear once the actual Tahoe wallpaper files are added.
Checklist
Note: This PR provides the complete infrastructure for Tahoe support. The actual wallpaper files and cursor hashes can be easily added once someone with macOS Tahoe access extracts them following the provided documentation.
Summary by CodeRabbit
New Features
Documentation