WTF just disconnected? Real-time USB device monitor for Windows with a neon-themed GUI, event logging, and CLI mode.
v0.8.0 — Tauri v2 + Svelte 5 rewriteComplete Tauri v2 + Svelte 5 rewrite. Glassmorphism UI, 5 themes, full emoji support.
Everything you need to track what's happening on your USB bus.
Background thread polls WMI every 500ms. Instant detection when devices connect or disconnect.
Color-coded cards with left accent bars. Green for connect, red for disconnect. Timestamp, device name, VID:PID, class, manufacturer.
Neon, Catppuccin Mocha, Dracula, Nord, and Solarized Dark. Smooth 300ms transition between them. Glassmorphism panels with backdrop blur.
Remembers every device ever connected. Search, sort by 5 modes, set nicknames, view first/last seen timestamps and connection count.
Click any storage device to see animated capacity bars (green→yellow→red), volume info, model, serial, firmware, interface type.
Every connect/disconnect event is logged to device-history.log with millisecond timestamps. Survives restarts.
Run with --cli for colored terminal output. Same monitoring, no GUI. Pipe it, script it, watch it in a terminal.
Closing the window hides to the system tray instead of quitting. Right-click to show, hide, or exit. Double-click to restore. Always watching, never in the way.
Rename any device to something you'll actually recognize. "USB Composite Device" becomes "Quest Link Cable" or "Wacom Tablet". Persisted across sessions.
Remembers every device it's ever seen with first-seen and last-seen timestamps. Build a history of your USB ecosystem over time.
Filter devices and events by name, ID, or class. Sort by any column. Find what you're looking for in a list of 50+ USB devices.
Silently checks GitHub for new releases on startup. If a newer version exists, a clickable banner appears in the header.
Simple WMI-based polling with diff detection.
Queries Win32_PnPEntity for all USB devices via the wmi crate. Gets name, device ID, description, manufacturer, and PnP class.
Takes a device snapshot every 500ms on a background thread. Diffs against the previous snapshot to find new and removed devices.
New events are pushed to the shared state, logged to file, and rendered as neon-styled cards in the GUI.
Rust for speed and safety. Single binary, no runtime dependencies.