How ntrospect0/glint works
glint is a keyboard-driven terminal dashboard composed from configurable widget panes and stacks. The main workflow loads a profile and layout, creates registered widgets, periodically updates them from local or upstream data, and renders their results in the terminal; users can focus, zoom, and interact with panes. The setup wizard configures profiles, layout, widgets, and credentials. The README documents additional widget capabilities beyond the sampled source, so those branches are shown at subsystem level; their internal call wiring is not inferred.
Main entry points: widgets/mod.rs Widget manager · app.rs App loop · cache/mod.rs Persistent cache · main.rs CLI startup
Components 26
Dashboard runtime
- CLI startup
src/main.rs - App loop
src/app.rs - Widget manager
src/widgets/mod.rs - Dashboard renderer
src/ui/mod.rs - Focus zoom
src/zoom.rs - Input events
src/event.rs
Dashboard widgets
- Clock and timer
src/widgets/clock/mod.rs - Calendar
src/widgets/calendar/mod.rs - News and feeds
src/widgets/news/mod.rs - Stocks and forex
src/widgets/stocks/mod.rs - Weather
src/widgets/weather/mod.rs - Email
src/widgets/email/mod.rs - Notes
src/widgets/notes/mod.rs - System resources
src/widgets/resources/mod.rs - Image gallery
src/widgets/gallery/mod.rs
Data and services
- Persistent cache
src/cache/mod.rs - OAuth authentication
src/auth/mod.rs - Market data
src/market_data/mod.rs - LLM providers
src/llm/mod.rs
Setup and configuration
- Profile configuration
src/config/mod.rs - Setup wizard
src/wizard/app.rs - Themes
src/theme/mod.rs
Other components
- Terminal user
- External data services
- Terminal
- Local config and credentials
Connections 38
- Terminal user → CLI startup: launches
- CLI startup → Profile configuration: selects profile
- CLI startup → Setup wizard: starts setup
- CLI startup → App loop: starts dashboard
- Profile configuration → Local config and credentials: reads and writes
- Setup wizard → Profile configuration: manages profiles
- Setup wizard → Local config and credentials: persists setup
- App loop → Widget manager: updates widgets
- App loop → Input events: handles input
- Input events → App loop: dispatches events
- App loop → Dashboard renderer: requests render
- App loop → Focus zoom: manages zoom
- Dashboard renderer → Widget manager: renders widgets
- Dashboard renderer → Terminal: paints dashboard
- App loop → Themes: applies schemes
- Widget manager → Clock and timer: dispatches updates
- Widget manager → Calendar: dispatches updates
- Widget manager → News and feeds: dispatches updates
- Widget manager → Stocks and forex: dispatches updates
- Widget manager → Weather: dispatches updates
- Widget manager → Email: dispatches updates
- Widget manager → Notes: dispatches updates
- Widget manager → System resources: dispatches updates
- Widget manager → Image gallery: dispatches updates
- Calendar → OAuth authentication: uses OAuth
- Email → OAuth authentication: uses OAuth
- Calendar → External data services: fetches events
- News and feeds → External data services: fetches feeds
- Weather → External data services: fetches forecasts
- Market data → External data services: fetches quotes
- Stocks and forex → Market data: requests quotes
- News and feeds → LLM providers: requests summaries
- LLM providers → External data services: calls provider
- Clock and timer → Persistent cache: persists state
- Calendar → Persistent cache: caches data
- News and feeds → Persistent cache: caches articles
- Market data → Persistent cache: caches quotes
- Weather → Persistent cache: caches results