How murtaza0053/desk-charms works
Desk Charms is a GNOME desktop charm overlay. Its main workflow loads preferences and a selected charm, builds one or more interactive hanging windows, simulates sway and drag physics, draws the charm, and plays effects. Settings persistence/UI, charm definitions and sprite rendering are distinct supporting stages. The excerpts establish the main calls among core modules; assets and some window/rendering internals are described by the README, so uncertain connections are omitted.
Main entry points: desk_charms.py Application runtime · sounds.py Sound synthesis and playback · objects.py Charm definitions · settings.py Settings UI and store
Components 13
Overlay Runtime
- Application runtime
desk_charms.py - Interactive dangle
desk_charms.py
Charm Modeling
- Charm definitions
objects.py - Photo cutout tool
tools/cutout.py
Settings
- Settings UI and store
settings.py - Saved preferences
Visuals and Sound
- Sprite rendering
sprites.py - Charm photos
assets - Sound synthesis and playback
sounds.py - Cached WAV effects
Other components
- Desktop user
- GNOME desktop
- paplay audio service
Connections 15
- Desktop user → Application runtime: starts or configures
README.md - Application runtime → Settings UI and store: loads and opens
desk_charms.py - Settings UI and store → Saved preferences: reads and writes
settings.py - Settings UI and store → Charm definitions: lists charm choices
settings.py - Application runtime → Charm definitions: selects charm
desk_charms.py - Application runtime → Interactive dangle: builds windows
desk_charms.py - Interactive dangle → GNOME desktop: shows overlay
- Interactive dangle → Charm definitions: updates and lays out
desk_charms.py - Interactive dangle → Sound synthesis and playback: plays effects
desk_charms.py - Application runtime → Sound synthesis and playback: prepares effects
desk_charms.py - Charm definitions → Sprite rendering: creates sprites
objects.py - Sprite rendering → Charm photos: loads photos
- Sound synthesis and playback → Cached WAV effects: writes and reads WAV
sounds.py - Sound synthesis and playback → paplay audio service: plays audio
sounds.py - Photo cutout tool → Charm photos: creates cutouts
README.md