Skip to content

Latest commit

ย 

History

230 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Free BongoCat Overlay for macOS

BongoCat Logo

A native macOS implementation of the beloved BongoCat overlay, written in Swift. Perfect for streamers, content creators, and anyone who wants an adorable cat companion on their desktop that reacts to their typing and interactions.

Platform Language SwiftUI Status Version

What is BongoCat?

BongoCat is a popular internet meme featuring a cat playing bongos, originally created by DitzyFlama using StrayRogue's adorable cat drawing. This project brings the interactive BongoCat experience to macOS as a native application.

โœจ Features

BongoCat is a fully-featured, native macOS typing companion with extensive customization options.

๐Ÿฑ Core Animation System

  • ๐ŸชŸ Transparent Overlay - Borderless, always-on-top window that works everywhere
  • โŒจ๏ธ Smart Keyboard Detection - Cat reacts to typing with intelligent paw assignments
  • ๐Ÿ–ฑ๏ธ Mouse Click Animations - Left and right click detection with paw responses
  • ๐ŸŽฏ Consistent Key Mapping - Same keys always use the same paw for realistic typing
  • โšก Real-time Response - Instant reactions to your input with smooth animations
  • ๐Ÿ”„ State Management - Proper paw up/down states with minimum animation durations

๐ŸŽ›๏ธ Extensive Customization

๐Ÿ“ Size & Scale Options

  • Multiple Scale Presets: Small (65%), Medium (75%), Big (100%)
  • Scale Pulse Animation: Optional size pulse on each keystroke/click
  • Dynamic Scaling: Window resizes automatically with scale changes

๐ŸŽจ Visual Customization

  • Cat Rotation: Toggle 13ยฐ tilt (adjusts automatically with flip direction)
  • Horizontal Flip: Mirror the cat for left-handed setups or preference
  • Position Memory: Remembers your preferred placement

๐ŸŽฏ Advanced Positioning

  • Drag & Drop: Move the cat anywhere on screen by dragging
  • Corner Snapping: Quick positioning to screen corners (Top/Bottom ร— Left/Right)
  • Per-App Positioning: ๐ŸŒŸ Unique Feature! Cat remembers different positions for different applications
  • Position Persistence: Saves and restores positions across app restarts
  • Multi-Monitor Support: Works across multiple displays

๐Ÿš€ Installation

๐Ÿ“‹ Requirements

  • macOS 13.0 (Ventura) or later
  • Accessibility permissions for global input monitoring
  • ~5MB disk space for the application

๐Ÿ“ฅ Download Options

๐ŸŽฏ Ready-to-Use (Recommended)

  1. Download the latest BongoCat-*.dmg from Releases
  2. Open the DMG and drag BongoCat to Applications
  3. Right-click on BongoCat in Applications and select "Open" (see Gatekeeper Guide)
  4. Grant accessibility permissions when prompted

๐Ÿ’ก Pro Tip: If you're reinstalling and accessibility permissions keep being asked, use the packaged DMG instead of building from source. The official releases are code signed for consistent identity.

๐Ÿ” Security Note: On first launch, macOS may show a security warning. This is normal for apps not signed with an Apple Developer certificate. See our Gatekeeper Guide for safe launch instructions.

๐Ÿ› ๏ธ Build from Source

Perfect for developers or those who want the latest features:

Building from Source

# Clone the repository
git clone https://github.com/Gamma-Software/BongoCat-mac.git
cd BongoCat-mac

# Quick build and test
./Scripts/build.sh
swift run

# Or build manually
swift build
swift run

Development Scripts

The project includes helpful scripts in the Scripts/ directory:

# Build the project
./Scripts/build.sh

# Bump version (updates all version references)
./Scripts/bump_version.sh 1.0.2

# Create distributable DMG
./Scripts/package_app.sh

# Package for App Store distribution
./Scripts/package_app.sh --app_store

# Clear accessibility permissions (if having issues)
./Scripts/clear_accessibility.sh

๐ŸŽ App Store Deployment

For developers wanting to distribute BongoCat through the Mac App Store:

# Quick App Store packaging
./run.sh --app-store

# Or use the interactive menu
./run.sh
# Select option 9: "Build release, sign and package for App Store distribution"

๐Ÿ“‹ Requirements: Apple Developer Program membership, App Store distribution certificate, and App Store Connect setup. See App Store Guide for detailed instructions.

See Scripts/README.md for detailed documentation.

๐Ÿ”ง Troubleshooting

Common Issues

  • App won't start: Right-click and select "Open" if you get a security warning
  • Cat not animating: Check accessibility permissions in System Preferences
  • Position resets: Use "Save Current Position" in the context menu

For more detailed troubleshooting, see TROUBLESHOOTING.md.

๐Ÿค Development & Contributing

๐Ÿ‘ฅ Contributing

We welcome contributions from the community! Here's how you can help:

๐Ÿ› Bug Reports

  • Report a bug using our issue tracker
  • Include macOS version, BongoCat version, and steps to reproduce
  • Screenshots/screen recordings are super helpful

๐Ÿ’ก Feature Requests

  • Open an issue with the enhancement label
  • Describe the use case and expected behavior
  • Check existing issues to avoid duplicates

๐Ÿ”ง Code Contributions

  • Fork the repository and create a feature branch
  • Follow Swift conventions and include tests where applicable
  • Update documentation for new features
  • Submit a pull request with a clear description

๐Ÿ“š Documentation

  • Improve README, code comments, or script documentation
  • Create tutorials or setup guides
  • Translate documentation to other languages

Project Structure

BongoCat-mac/
โ”œโ”€โ”€ Sources/BongoCat/     # Swift source code
โ”‚   โ”œโ”€โ”€ BongoCatApp.swift # Main app delegate & menu logic
โ”‚   โ”œโ”€โ”€ OverlayWindow.swift # Overlay window management
โ”‚   โ”œโ”€โ”€ CatView.swift     # SwiftUI cat view & animations
โ”‚   โ”œโ”€โ”€ InputMonitor.swift # Global input monitoring
โ”‚   โ””โ”€โ”€ Resources/        # Embedded app resources
โ”œโ”€โ”€ Assets/               # Project assets
โ”‚   โ”œโ”€โ”€ Icons/           # App icons (.icns, .ico files)
โ”‚   โ””โ”€โ”€ Images/          # Cat sprite images
โ”œโ”€โ”€ Scripts/              # Build & development scripts
โ”‚   โ”œโ”€โ”€ build.sh         # Quick build script
โ”‚   โ”œโ”€โ”€ package_app.sh   # Create distributable DMG
โ”‚   โ”œโ”€โ”€ bump_version.sh  # Version management
โ”‚   โ””โ”€โ”€ README.md        # Script documentation
โ”œโ”€โ”€ Build/                # Build outputs (gitignored)
โ”‚   โ”œโ”€โ”€ package/         # App bundle staging
โ”‚   โ””โ”€โ”€ *.dmg           # Distributable packages
โ”œโ”€โ”€ Tests/                # Unit tests
โ”œโ”€โ”€ Package.swift         # Swift Package Manager config
โ”œโ”€โ”€ Info.plist           # macOS app bundle metadata
โ””โ”€โ”€ README.md            # This file

๐Ÿ› ๏ธ Technical Details

  • Framework: SwiftUI + AppKit hybrid architecture
  • Global Events: CGEvent APIs for system-wide input monitoring
  • Language: Swift 5.9+ with modern concurrency support
  • Architecture: MVVM pattern with reactive UI updates
  • Minimum Target: macOS 13.0 (Ventura) for latest SwiftUI features
  • Build System: Swift Package Manager for dependency management

Tested on

The app was tested on my MacBook Pro 14 inch M2 Max (2023) with macOS 15.5

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Credits & Acknowledgments

๐ŸŽจ Original Creators

  • ๐Ÿฑ Bongo Cat Meme: Created by @DitzyFlama
  • ๐ŸŽจ Cat Artwork: Original cat drawing by @StrayRogue
  • ๐ŸŽฎ Windows Version: Inspiration from Irox Games Studio's Steam version

๐Ÿ’ป Technical Inspiration

  • Python Implementation: mac-typing-bongo-cat for initial concept
  • Swift Community: For excellent documentation and examples
  • macOS Developer Community: For accessibility and window management patterns

๐Ÿค Special Thanks

  • All beta testers and early adopters
  • Contributors who provided feedback and suggestions
  • The streaming community for feature requests
  • Swift/SwiftUI community for technical guidance

๐Ÿ’– Support BongoCat

โญ Star the Project

If you love BongoCat, please give us a star on GitHub! It helps others discover the project.

๐Ÿ› Report Issues

Found a bug? Have a suggestion? Report a bug - we read every one!

๐Ÿ“ข Spread the Word

  • Share BongoCat with fellow developers, streamers, and cat lovers
  • Tweet about your setup with #BongoCat
  • Write about it on your blog or social media

๐Ÿ’ Contribute

Whether it's code, documentation, or just ideas - every contribution makes BongoCat better!


Made with โค๏ธ by Valentin Rudloff

Bringing joy to developers, streamers, and cat lovers everywhere ๐Ÿฑ

๐ŸŒ Website โ€ข ๐Ÿ› Report a Bug โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ“ฆ Releases

About

Free BongoCat Overlay for macOS

Topics

Resources

Stars

68 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages