mirror of
https://github.com/tiennm99/claude-code-usage-bubble.git
synced 2026-10-22 18:14:39 +00:00
Each enabled live provider gets a transparent, undecorated, always-on-top bubble webview, created hidden at its exact physical size and its saved or default position, clamped into the work area. It is shown without taking focus once the page reports ready, or 1.5 s after creation. On Windows a subclass hook reports move ends, setting changes (theme recheck and reclamp) and display changes, answers WM_MOUSEACTIVATE with MA_NOACTIVATE, and bubbles are shown and hidden only through SW_SHOWNOACTIVATE and SW_HIDE. Elsewhere a 250 ms debounce armed by the page's drag start ends the drag; on X11 it waits while Button1 is held. Move end snaps once and saves the position; resize, clamp and reset only move the windows. Native Wayland skips positioning. User show/hide goes through a pure visibility state shared with the coming fullscreen auto-hide, and the saved widget_visible now applies at startup. A theme change reaches open bubbles. The unused os module is removed.
13 lines
248 B
Rust
13 lines
248 B
Rust
//! Portable logic with no OS or Tauri dependency, unit-tested on every host.
|
|
|
|
pub mod color;
|
|
pub mod geom;
|
|
pub mod i18n;
|
|
pub mod menu_model;
|
|
pub mod payload;
|
|
pub mod proxy;
|
|
pub mod settings;
|
|
pub mod state;
|
|
pub mod usage_color;
|
|
pub mod visibility;
|