Skip to content

Repository files navigation

Colir

macOS icon customization application

Transform your app icons with Colir. Apply colors, gradients, photos, and emojis to customize icon appearances with an intuitive drag-and-drop interface. Supports modern and classic Mac icon formats.

Download

Available on the Mac App Store

Company Information

Company Name: IGR Soft Domain: com.igrsoft Contact: support@igrsoft.com

Project Information

Project Name: Colir Bundle Identifier: com.igrsoft.colir Current Version: 1.0.0 (Build 1000)

Project Description

Colir is a powerful icon customization utility for macOS. It allows users to personalize app icons by applying color overlays, photo backgrounds, emoji decorations, and visual effects. The app supports drag-and-drop workflow, integrates with the Photos app, and can extract icons from classic Mac OS resource files.

Features

  • Color Customization - Apply any color with an interactive color wheel
  • Photo Integration - Use photos from your library as icon backgrounds
  • Emoji Decorations - Add emoji overlays with skin tone variants
  • Visual Effects - Apply tints, gradients, and transparency effects
  • Drag & Drop - Simple file-based workflow
  • Undo/Redo - Full history support for all operations

Icon Sources

  • Applications - Extract icons from .app bundles
  • Pictures Folder - Browse your Pictures directory
  • Photos Library - Access photos directly from Photos app
  • Classic Resources - Parse Mac OS Classic .rsrc files
  • Web Resources - Download icons from web sources

Export Options

  • ICNS - macOS icon format
  • PNG - Standard image format
  • Multiple Sizes - Export at various resolutions

Additional Features

  • Real-time Preview - See changes instantly
  • Style History - Track and reapply previous customizations
  • Keyboard Shortcuts - Efficient workflow with shortcuts
  • Dark Mode - Native dark mode support

Technology Stack

  • Language: Swift 6.2
  • UI Framework: SwiftUI with NSView integration
  • Minimum Platform: macOS 14.1+
  • Architecture: MVVM pattern
  • Concurrency: Swift 6 strict concurrency
  • Storage: @AppStorage for preferences
  • In-App Purchases: StoreKitPlus

Requirements

  • macOS: 14.1 or later
  • Hardware: Any Mac running macOS 14.1+
  • Xcode: 15+ (for development)
  • Swift: 6.2

Architecture

Colir uses a modern MVVM architecture:

  • ViewModels: State management and business logic coordination
  • Managers: Domain-specific operations (Icon, Export, Photos, Files)
  • Parsers: File format handling (RSRC resources)
  • Extensions: Framework augmentation for images and colors

See ARCHITECTURE.md for detailed system architecture.

Project Structure

colir/
├── Sources/                  # Main application source
│   ├── AppDelegate/         # App entry point
│   ├── Constants/           # Constants and type extensions
│   ├── Extensions/          # Swift extensions (16 files)
│   ├── Logger/              # Logging infrastructure
│   ├── Managers/            # Core business logic
│   ├── Models/              # Data structures
│   ├── Parsers/             # File format parsers
│   ├── Services/            # Service layer
│   └── Views/               # SwiftUI interface
├── 3rdparty/                # Third-party dependencies
│   └── Graphite/           # C++ resource parser
├── Tests/                   # Unit tests
├── UITests/                 # UI automation tests
├── Resources/               # Assets and configuration
├── Localization/            # Multi-language support
└── Configurations/          # Build configs

Info.plist Requirements

Required Permissions

<!-- Photo Library access -->
<key>NSPhotoLibraryUsageDescription</key>
<string>Colir uses your photo library to apply images to icons.</string>

Getting Started

1. Clone Repository

git clone <repository-url>
cd colir

2. Open in Xcode

open colir.xcodeproj

3. Build and Run

Select the colir scheme and press Cmd+R to build and run.

Building

Debug Build

xcodebuild -project colir.xcodeproj \
           -scheme colir \
           -configuration Debug \
           build

Release Build

xcodebuild -project colir.xcodeproj \
           -scheme colir \
           -configuration Release \
           build

Testing

Run Unit Tests

xcodebuild test \
    -project colir.xcodeproj \
    -scheme colir \
    -destination 'platform=macOS'

Run UI Tests

xcodebuild test \
    -project colir.xcodeproj \
    -scheme colir \
    -destination 'platform=macOS' \
    -only-testing:colirUITests

Development

Code Style

Project uses SwiftFormat for consistent code formatting:

swiftformat .

AI Agent Configuration

This project includes AI development configuration:

Build Configurations

Config Purpose
Debug Development with debug symbols
Release Production optimized

Troubleshooting

Photo Library Not Available

Issue: Cannot access photos from the app Solution:

  • Check photo library permissions in System Settings > Privacy & Security > Photos
  • Ensure Colir is granted access
  • Restart the app after granting permissions

Icons Not Loading

Issue: Dropped icons don't appear Solution:

  • Verify the file is a valid image or .app bundle
  • Check file permissions
  • For .rsrc files, ensure the file contains valid icon resources

Export Fails

Issue: Cannot save exported icons Solution:

  • Verify write permissions for the destination folder
  • Grant file access when prompted
  • Try a different export location

Color Wheel Not Responding

Issue: Color picker doesn't respond to input Solution:

  • Resize the window slightly to refresh the view
  • Check if another app is capturing mouse events
  • Restart the application

Privacy & Security

Colir prioritizes your privacy and security:

  • Local Processing: All icon processing happens on your device
  • No Analytics: No data is collected or sent to external services
  • Sandboxed: App runs in macOS sandbox with minimal permissions
  • No Network Required: Core features work completely offline
  • Photo Access: Photos are accessed read-only, never modified

Contributing

Before Committing

  1. Format code: Run swiftformat .
  2. Run tests: Ensure all tests pass
  3. Update docs: If adding features

Commit Message Format

Follow Conventional Commits:

feat: add new color effect
fix: resolve drag-drop issue on Sonoma
chore: update dependencies
docs: improve README

License

Copyright 2025 IGR Soft. All rights reserved.

See LICENSE file for details.

Resources

Apple Documentation

Community

Contact

For issues or questions:


Made with care by IGR Soft

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages