/BatFi

Battery charging limiter for macOS.

Primary LanguageSwiftMIT LicenseMIT

BatFi

BatFi helps you optimize your macOS battery performance by managing charging levels intelligently, yet giving you full control – charging to 100% only when it's needed.

buy_on_gumroad

Requires macOS Ventura or later and Apple Silicon Mac


Why?

Maintaining a lithium-ion battery at a high state of charge can significantly reduce its lifespan. Although macOS offers a feature that automatically postpones charging the battery to 100%, it lacks user control. This automated approach relies on machine learning to adapt to user habits, leaving users without the ability to determine when and how long the charging should be delayed. Consequently, this solution may not be effective for users with irregular computer usage patterns or for devices frequently connected to power sources, such as monitors like Apple's Studio Display or Pro Display XDR.

On the other hand, BatFi works differently. The app allows you to set a user-chosen limit for charging the battery and maintain it indefinitely. With BatFi, you have the flexibility to decide when to charge the battery to 100% based on your usage needs.

Localization

The app uses String Catalog which makes localization super straightforward.

If you know how to use Git
  1. Install Xcode 15 (Mac App Store)
  2. Fork this repo, the develop branch
  3. Open and edit ./BatFiKit/Sources/L10n/Localizable.xcstrings with Xcode 15. I highly recommend to use Apple conventions for basic commands, like "Quit" etc. You can find all of them on Apple Localization Terms Glossary
  4. Commit changes and make pull request
If you have no idea what Git is
  1. Install Xcode 15 (Mac App Store)
  2. Download Localizable.xcstrings using the "Download raw file" button in the top right corner
  3. Open and edit downloaded file. It'll open in Xcode. I highly recommend to use Apple conventions for basic commands, like "Quit" etc. You can find all of them on Apple Localization Terms Glossary
  4. Send it to me: adam@micropixels.pl