How smallhug/aura works
Aura is a Tauri desktop translation tool centered on a floating Island: the user triggers translation, the frontend reads clipboard text, and the backend translates it before opening a result window. Settings, appearance, window behavior, clipboard utilities, and screenshot launch are separate supporting capabilities. The excerpts show the translation and IPC paths; some README features, including clipboard monitoring and screenshot recognition, are documented but not verified in sampled implementation, so those links are left unverified or omitted.
Main entry points: tauriApi.ts Tauri API Adapter · islandStore.ts Island State · translate.rs Translation Command · lib.rs Tauri Runtime
Components 19
Desktop UI
- Floating Island
src/components/Island/Island.tsx - Island State
src/store/islandStore.ts - Settings UI
src/SettingsApp.tsx - Translation Window UI
src/TranslateApp.tsx - About UI
src/AboutApp.tsx
IPC and Windowing
- Tauri API Adapter
src/services/tauriApi.ts - Tauri Runtime
src-tauri/src/lib.rs - Translation Window Commands
src-tauri/src/commands/window.rs - Clipboard Commands
src-tauri/src/commands/clipboard.rs - Window Commands
src-tauri/src/commands/window.rs
Translation
- Translation Command
src-tauri/src/commands/translate.rs - Text Splitter
src-tauri/src/services/text_splitter.rs - Translation Cache
src-tauri/src/services/cache.rs - Bing Translator
src-tauri/src/services/translator.rs
Configuration
- Configuration Commands
src-tauri/src/commands/config.rs - Autostart Commands
src-tauri/src/commands/autostart.rs
Other components
- User
- Bing Translation Service
- OS Screenshot Tool
Connections 24
- User → Floating Island: interacts with
README.md - Floating Island → Island State: updates state
src/components/Island/Island.tsx - Island State → Tauri API Adapter: invokes
src/store/islandStore.ts - Island State → Clipboard Commands: reads clipboard
- Island State → Translation Command: requests translation
src-tauri/src/commands/translate.rs - Island State → Translation Window Commands: opens result window
src-tauri/src/commands/window.rs - Tauri API Adapter → Translation Command: invokes translation
src/services/tauriApi.ts - Tauri API Adapter → Clipboard Commands: invokes clipboard
src/services/tauriApi.ts - Tauri API Adapter → Configuration Commands: invokes configuration
src/services/tauriApi.ts - Tauri API Adapter → Window Commands: invokes window actions
src/services/tauriApi.ts - Settings UI → Tauri API Adapter: loads and saves
src/SettingsApp.tsx - Translation Window UI → Tauri API Adapter: loads translation content
src/TranslateApp.tsx - About UI → Tauri API Adapter: loads app information
src/AboutApp.tsx - Tauri Runtime → Translation Window Commands: registers commands
src-tauri/src/lib.rs - Tauri Runtime → Configuration Commands: registers commands
src-tauri/src/lib.rs - Tauri Runtime → Autostart Commands: registers commands
src-tauri/src/lib.rs - Translation Command → Translation Cache: checks and stores
src-tauri/src/commands/translate.rs - Translation Command → Text Splitter: splits and merges
src-tauri/src/commands/translate.rs - Translation Command → Bing Translator: translates chunks
src-tauri/src/commands/translate.rs - Bing Translator → Bing Translation Service: requests translation
src-tauri/src/services/translator.rs - Tauri API Adapter → Window Commands: launches screenshot
- Window Commands → OS Screenshot Tool: launches clip utility
src-tauri/src/commands/window.rs - User → Settings UI: configures app
README.md - User → OS Screenshot Tool: starts screenshot flow