Skip to content

Repository files navigation

🖱️ Mouse Cursor Customizer

A modern, native WinUI 3 desktop application to discover, customize, create, and apply personalized mouse cursor schemes on Windows 10 and 11.

.NET 8 WinUI 3 Windows 10 / 11 Platforms License: MIT Latest Release PRs Welcome


App Screenshot


📥 Try It Now (Download Portable ZIP)

No installation or administrative privileges required:

  1. Download MouseCursorCustomizer-vX.Y.Z-win-x64.zip from the Latest Release.
  2. Right-click the .zip file and select Extract All….
  3. Run MouseCursorCustomizer.exe.

Note: Self-contained executable with bundled .NET 8 and Windows App SDK runtimes. Runs standalone on any modern 64-bit Windows 10 (version 1809+) or Windows 11 system.


✨ Features

  • 🎨 Discover Curated Cursor Packs: Explore built-in cursor designs spanning categories like Cute, Minimal, Games, Nature, Neon, and Custom.
  • ⚡ Instant Live Swapping: Apply normal select and link pointers across the Windows operating system with a single click.
  • 🔄 One-Click Default Restore: Easily revert to the standard Windows aero cursor scheme at any time via the prominent top header button.
  • 🛠️ Custom Cursor Creator: Build custom packs from .cur files. Features automatic header parsing, hotspot coordinate inspection, width/height extraction, and live thumbnail generation.
  • 📐 Scaling & Sizing Control: Adjust cursor sizing and view scaled comparisons before committing system changes.
  • 📚 Personal Collection & Favorites: Bookmark favorite cursor styles and maintain private custom libraries in local storage.
  • 🌗 Mica UI & Theme Support: Native Windows 11 Mica backdrop with automatic Light and Dark theme switching.
  • 🔒 Privacy First & Offline: Pure local execution — zero telemetry, zero trackers, and zero background analytics. All configs reside in %LOCALAPPDATA%\MouseCursorCustomizer.

🏗️ Architecture

Mouse Cursor Customizer/
├── App.xaml(.cs)              # App lifecycle, system exception handlers, theme dispatch
├── MainWindow.xaml(.cs)       # Shell UI, Mica backdrop, top navigation & active scheme bar
├── Views/
│   ├── DiscoverPage           # Curated cursor pack catalog with real-time category filtering
│   ├── CollectionsPage        # Explore grouped cursor collections
│   ├── CreatorPage            # .CUR file import, hotspot validation, and pack generator
│   ├── ManagePage             # Active pointer inspection and sizing controls
│   ├── MyCollectionPage       # User-created and favorited cursor packs
│   ├── PackDetailDialog       # Full cursor breakdown and inspection dialog
│   └── SettingsPage           # Diagnostics, Windows cursor state, and theme settings
├── Services/
│   ├── CatalogService.cs      # In-memory cursor catalog cache, indexing, and JSON sync
│   ├── CursorFileService.cs   # Binary parser for .CUR headers, hotspots, and bitmap frames
│   ├── CursorNativeService.cs # Win32 SetSystemCursor, SystemParametersInfo, registry hooks
│   └── SettingsService.cs     # Local settings persistence (%LOCALAPPDATA%\MouseCursorCustomizer)
├── Models/                    # AppSettings, CursorItem, CursorPack
├── Helpers/                   # AppLogger session diagnostics, WindowHelper Win32 interop
└── Assets/                    # Bundled CUR/PNG assets, default packs, icons

🧰 Technology Stack

Component Specification
UI Framework WinUI 3 (Windows App SDK 2.4) with Mica Backdrop
Runtime .NET 8 (net8.0-windows10.0.19041.0)
Native API Interop Win32 user32.dll (SetSystemCursor, SystemParametersInfo, LoadCursorFromFileW)
JSON Serialization Newtonsoft.Json 13.0.4
Packaging Type Pure Unpackaged (<WindowsPackageType>None</WindowsPackageType>)
DPI Awareness Per-Monitor V2 (app.manifest)

📋 Prerequisites

  • OS: Windows 10 version 1809 (Build 17763) or later (Windows 11 recommended).
  • SDK: .NET 8 SDK with Windows 10 SDK (19041) workload.
  • IDE: Visual Studio 2022 (v17.8+) with .NET Desktop Development workload, or VS Code with C# Dev Kit.

🔨 Build & Run from Source

Clone the repository and build using the .NET CLI:

# Clone the repository
git clone https://github.com/uponatime2019/MouseCursorCustomizer.git
cd "Mouse Cursor Customizer"

# Restore & build (x64)
dotnet build MouseCursorCustomizer.csproj -p:Platform=x64

# Run the application
dotnet run --project MouseCursorCustomizer.csproj -p:Platform=x64

# Standalone unpackaged release publish
dotnet publish MouseCursorCustomizer.csproj -c Release -p:Platform=x64 -o publish/MouseCursorCustomizer_Portable

Or open MouseCursorCustomizer.sln in Visual Studio 2022, select x64 and Release, then press F5.


⌨️ Controls & Shortcuts Reference

Screen Action Description
Any Screen Active Scheme Pill Click the top pill to instantly navigate to the Manage view
Any Screen Restore Windows Default One-click dialog prompt to revert all pointers to Windows default
Discover Search Box Filter packs in real-time by title or category
Discover Category Pills Switch between Cute, Minimal, Games, Nature, Neon, and Custom
Creator Browse Normal / Link Select local .cur files from disk for hotspot validation
Settings Refresh Diagnostic State Re-read active Windows cursor registry paths and current scaling

🗺️ Roadmap

  • WinUI 3 pure unpackaged standalone architecture
  • Embedded .CUR binary parser and hotspot extraction
  • Win32 live system cursor swapping engine
  • One-click Windows default restoration
  • Category filtering and favorites collection
  • Animated Cursors (.ANI): Support for multi-frame animated Windows cursor files
  • Cursor Pack Export / Import: Share .curpack zip archives with the community
  • Per-Monitor Pointer Scaling: Dynamic pointer dimension adjustments per display
  • Automatic Theme Synchronization: Sync custom cursor hues with Windows accent color
  • Community Catalog Integration: Download new user-submitted packs directly from GitHub Releases

🤝 Contributing & Community

Contributions are warmly welcomed! Whether you want to fix a bug, suggest an enhancement, design new cursor packs, or improve documentation:

  1. Fork the Repository: Click the Fork button at the top right of this page.
  2. Create a Feature Branch:
    git checkout -b feature/your-feature-name
  3. Commit Your Changes: Follow clear commit descriptions.
  4. Build & Verify: Confirm the solution builds with 0 errors and 0 warnings.
  5. Open a Pull Request: Submit your PR with a concise description of your changes.

Check out our CONTRIBUTING.md guide for coding conventions and repository structure.


📄 License

This project is licensed under the MIT License — free for personal, educational, and commercial use.

About

A modern WinUI 3 desktop utility to discover, create, and customize mouse cursor schemes on Windows 10 and 11

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages