Add Battery Icon To Taskbar !!hot!! Site

@objc private func quit() NSApplication.shared.terminate(nil)

self.menu = Gtk.Menu() self.create_menu() self.indicator.set_menu(self.menu) self.update_icon() def get_battery_info(self): battery = psutil.sensors_battery() if battery: percent = battery.percent is_charging = battery.power_plugged return percent, is_charging return None, None

@objc private func showInfo() let alert = NSAlert() alert.messageText = "Battery Status" alert.informativeText = "Current charge: \(getBatteryPercentage())" alert.runModal() add battery icon to taskbar

def quit(self, source): Gtk.main_quit() if == " main ": indicator = BatteryIndicator() Gtk.main() macOS (Swift) import Cocoa import IOKit.ps class BatteryStatusItem: NSObject private var statusItem: NSStatusItem? private var timer: Timer?

def update_icon(self): percent, is_charging = self.get_battery_status() if percent is not None: icon_image = self.create_battery_icon(percent, is_charging) if self.icon: self.icon.icon = icon_image # Update every 5 seconds threading.Timer(5, self.update_icon).start() @objc private func quit() NSApplication

def get_icon_name(self, percent, is_charging): if is_charging: return "battery-charging" elif percent >= 90: return "battery-full" elif percent >= 60: return "battery-good" elif percent >= 30: return "battery-low" else: return "battery-caution"

Choose the implementation that matches your operating system and requirements! def create_tray_icon(self): percent, is_charging = self

def create_tray_icon(self): percent, is_charging = self.get_battery_status() icon_image = self.create_battery_icon(percent or 50, is_charging or False) menu = pystray.Menu( pystray.MenuItem("Battery Status", self.show_battery_info), pystray.MenuItem("Exit", self.exit_app) ) self.icon = pystray.Icon("battery", icon_image, "Battery Monitor", menu) # Start update thread self.update_icon() # Run icon self.icon.run()