Skip to content

Battlify 0.15.0 — Automation rules

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:02
· 24 commits to main since this release
65d7ec0

Automation rules: apply a charging or power setting while something is true of your Mac

A rule combines any of twelve conditions — external display connected, USB or Bluetooth device connected, an app running (or running and frontmost), battery charging or above a level, power adapter connected, a specific IP address or subnet, a Wi-Fi network, a VPN, headphones/other audio output in use, a drive or volume mounted, or CPU usage above a threshold. Match all or any of them, and invert any single condition.

While a rule holds it can switch save mode, set or lift the charge limit, hold charging, keep the Mac awake, turn on Low Power Mode, or dial charge power down. When it stops holding, the previous setting comes back — unless you changed that setting yourself in the meantime, in which case your choice stands.

The new Automation tab in Settings shows a live readout of every condition Battlify can see, so a rule can be filled in with the real name of the dock, drive, or network in front of you, and the menu lists any rule that's currently holding a setting.

Cut the menu-bar app's idle CPU by roughly 17× (0.73% → 0.04% on an idle Mac)

The status item re-lays out on every published change, so republishing values that hadn't actually moved was costing continuous SwiftUI layout work in the background. The battery poll was the main offender: the temperature sensor jitters by hundredths of a degree, so every poll looked like a change. It now rounds to the precision actually displayed and publishes only real changes, skips reading live wattage entirely when no window is showing it, and does two follow-up reads per power event instead of four. The lid/display poll and the automation rule engine got the same treatment.

Settings tabs no longer overflow the window

Each tab claimed a fixed 76pt minimum plus padding, so a sixth tab pushed the row past the width of the window — the gaps went uneven and the last tab was clipped by the window edge. Tabs now share the bar equally, with margins at both ends, and the stray focus ring on the selected tab is gone.