How cobyalmond/lumos-litra works
Lumos-Litra is a macOS menu-bar utility for controlling one or more Logitech Litra lights. The user adjusts power, brightness, temperature, and sync options in the menu; LitraManager coordinates device discovery, USB commands, hardware-button sync, camera-triggered power, and circadian temperature. The README also documents launch-at-login support. Relationships below use the excerpts and README; some discovery, location, and manager details are only partially sampled.
Main entry points: LitraManager.swift Light manager · MenuBarView.swift Light controls · LitraHIDMonitor.swift Button report monitor · LumosLitraApp.swift Menu bar app
Components 12
App interface
- Menu bar app
LumosLitra/LumosLitraApp.swift - Light controls
LumosLitra/MenuBarView.swift
Light coordination
- Light manager
LumosLitra/LitraManager.swift
Device access
- Litra USB device
LumosLitra/LitraDevice.swift - Button report monitor
LumosLitra/LitraHIDMonitor.swift
Automatic sync
- Camera monitor
LumosLitra/CameraMonitor.swift - Solar calculations
LumosLitra/SunPosition.swift - Location services
Other components
- Mac user
- Litra lights
- System cameras
- Login service
Connections 14
- Mac user → Light controls: uses controls
LumosLitra/MenuBarView.swift - Menu bar app → Light controls: presents
LumosLitra/LumosLitraApp.swift - Menu bar app → Light manager: creates
LumosLitra/LumosLitraApp.swift - Light controls → Light manager: sets controls
LumosLitra/MenuBarView.swift - Light controls → Login service: registers launch
LumosLitra/MenuBarView.swift - Light manager → Litra USB device: sends commands
LumosLitra/LitraManager.swift - Litra USB device → Litra lights: controls via USB
LumosLitra/LitraDevice.swift - Light manager → Button report monitor: starts monitor
LumosLitra/LitraManager.swift - Button report monitor → Light manager: forwards reports
LumosLitra/LitraHIDMonitor.swift - Button report monitor → Litra lights: listens for buttons
LumosLitra/LitraHIDMonitor.swift - Light manager → Camera monitor: starts and stops
LumosLitra/LitraManager.swift - Camera monitor → System cameras: observes activity
LumosLitra/CameraMonitor.swift - Light manager → Solar calculations: calculates temperature
LumosLitra/LitraManager.swift - Light manager → Location services: requests coordinates
LumosLitra/LitraManager.swift