import sys def human_readable_time(timestamp): import datetime now = datetime.datetime.now() dt_object = datetime.datetime.fromtimestamp(timestamp) diff = now - dt_object if diff.days > 0: return f"{diff.days} days ago" elif diff.seconds < 60: return f"{diff.seconds} seconds ago" elif diff.seconds < 3600: return f"{diff.seconds // 60} minutes ago" else: return f"{diff.seconds // 3600} hours ago" def timestamp_to_human_readable(timestamp): import datetime try: dt_object = datetime.datetime.fromtimestamp(timestamp) return dt_object.strftime("%Y-%m-%d %H:%M:%S") except: return "" def get_active_app_name_osx(): from AppKit import NSWorkspace active_app = NSWorkspace.sharedWorkspace().activeApplication() return active_app["NSApplicationName"] def get_active_window_title_osx(): from Quartz import ( CGWindowListCopyWindowInfo, kCGNullWindowID, kCGWindowListOptionOnScreenOnly, ) app_name = get_active_app_name_osx() windows = CGWindowListCopyWindowInfo( kCGWindowListOptionOnScreenOnly, kCGNullWindowID ) for window in windows: if window["kCGWindowOwnerName"] == app_name: return window.get("kCGWindowName", "Unknown") return None def get_active_app_name_windows(): import psutil import win32gui import win32process hwnd = win32gui.GetForegroundWindow() _, pid = win32process.GetWindowThreadProcessId(hwnd) exe = psutil.Process(pid).name() return exe def get_active_window_title_windows(): import win32gui hwnd = win32gui.GetForegroundWindow() return win32gui.GetWindowText(hwnd) def get_active_app_name(): if sys.platform == "win32": return get_active_app_name_windows() elif sys.platform == "darwin": return get_active_app_name_osx() else: raise NotImplementedError("This platform is not supported") def get_active_window_title(): if sys.platform == "win32": return get_active_window_title_windows() elif sys.platform == "darwin": return get_active_window_title_osx() else: raise NotImplementedError("This platform is not supported")