Skip to content

v0.2.0

Choose a tag to compare

@aprilnea aprilnea released this 31 May 16:20
· 304 commits to master since this release
020faed

OpenLogi 0.2.0 rolls up everything since 0.1.0: directly-attached (wired & Bluetooth) mice are now first-class, plus a macOS menu-bar app, in-app updates, and DMG / Intel distribution. macOS only for now — Linux and Windows are on the roadmap.

✨ Highlights

Wired & Bluetooth-direct devices are now first-class

Every control path used to assume a mouse hanging off a Logi Bolt receiver. Devices connected by USB cable or Bluetooth-direct (no receiver) are now fully supported — DPI, SmartShift, and button / gesture capture all route to them over HID++. Bluetooth devices are no longer read-only, and wired mice with no battery (e.g. a corded G502) are no longer dropped. (#5)

macOS menu-bar app

  • OpenLogi now runs as a menu-bar (tray) accessory — click the 🖱️ icon for live device status and quick Open / Quit. (#4)
  • Dynamic activation policy: opening a window brings back the Dock icon and app menu; closing the last window drops back to tray-only. (#7)
  • Start-minimized autostart — a login-launched instance comes up in the tray with no window. (#7)
  • A "Show in menu bar" setting, and ⌘W now closes the focused window (Settings / About too, not just the main one).

Gesture button

  • The gesture button is now a mappable hotspot in the mouse diagram, with a hold-time gate so a quick tap registers as a click and a deliberate hold as a swipe. (#4)

In-app updates (opt-in, off by default)

  • Check for Updates with a first-run prompt, an on-launch check, a clickable version, and live download progress — powered by gpui-updater.

Packaging & distribution

  • Ships as a DMG installer with a hosted background image.
  • CI now also builds Intel (x86_64) macOS binaries alongside Apple Silicon.

UI polish

  • Demo device cards replaced with a proper empty state, the app logo embedded as a runtime asset, and Settings language-picker layout fixes.

🔧 Under the hood

  • HID++ device addressing unified behind a single DeviceRoute — Bolt {receiver, slot} vs. Direct {vid, pid} resolved in one place; DpiTarget / GestureTarget collapse into it, and the CLI diag commands work on direct devices too. (#5)
  • macOS status-item wrapper extracted and the menu bar gated to macOS. (#6)
  • Release / CI hardening: a single root changelog, 1Password-sourced tokens, DMG build inside the devenv, and a real-Xcode Metal env for GUI builds.

Full changelog: v0.1.0...v0.2.0