# amnweb/yasb architecture

> Architecture diagram of the GitHub repository amnweb/yasb, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/amnweb/yasb
- Repository: https://github.com/amnweb/yasb

## Overview

YASB Reborn is a configurable Windows status bar: users launch it, configure bars and widgets, and receive a themed, live desktop interface. The main startup path loads configuration and styles, optionally opens first-run setup, then starts the bar manager. Its widget catalog spans system monitoring, controls, launchers, taskbar and window-manager integrations. A separate YASB Cloud application supports interactive and scheduled backup entry points. The graph follows sampled startup and manager code; widget and cloud internals are represented at subsystem level where only the tree or README establishes their scope.

Main entry points: [`src/main.py`](https://github.com/amnweb/yasb/blob/main/src/main.py) (App entry), [`src/core/bar_manager.py`](https://github.com/amnweb/yasb/blob/main/src/core/bar_manager.py) (Bar manager), [`src/core/cloud/app.py`](https://github.com/amnweb/yasb/blob/main/src/core/cloud/app.py) (Cloud app), [`src/core/cloud/run_auto_backup.py`](https://github.com/amnweb/yasb/blob/main/src/core/cloud/run_auto_backup.py) (Scheduled backup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_startup["Application startup"]
  node_main["App entry<br/>[main.py]"]
  node_config["Configuration<br/>[config.py]"]
  node_setup["First-run setup<br/>[welcome.py]"]
end

subgraph group_interface["Bar and widgets"]
  node_bar_manager["Bar manager<br/>[bar_manager.py]"]
  node_bar["Bar window<br/>[bar.py]"]
  node_bar_style["Bar styling<br/>[bar_style.py]"]
  node_widget_registry["Widget registry<br/>[registry.py]"]
  node_quick_launch["Quick Launch<br/>[quick_launch.py]"]
  node_control_center["Control Center<br/>[control_center.py]"]
  node_taskbar["Taskbar widget<br/>[taskbar.py]"]
  node_weather["Weather widgets<br/>[weather.py]"]
end

subgraph group_windows["Windows integrations"]
  node_events["Event service<br/>[service.py]"]
  node_win32["Windows APIs<br/>[utils.py]"]
end

subgraph group_cloud["Cloud backup"]
  node_cloud_app["Cloud app<br/>[app.py]"]
  node_cloud_window["Cloud window<br/>[window.py]"]
  node_auto_backup["Scheduled backup<br/>[run_auto_backup.py]"]
  node_cloud_operations["Backup operations<br/>[operations.py]"]
end

node_user(("User"))
node_backup_store[("Cloud service")]

node_user -->|"launches"| node_main
node_main -->|"loads config"| node_config
node_main -.->|"starts setup"| node_setup
node_main -->|"starts bars"| node_bar_manager
node_bar_manager -->|"creates bars"| node_bar
node_bar_manager -->|"loads styles"| node_bar_style
node_bar_manager -->|"resolves widgets"| node_widget_registry
node_user -->|"launches"| node_cloud_app
node_cloud_app -->|"opens UI"| node_cloud_window
node_user -.->|"schedules backup"| node_auto_backup
node_cloud_app -->|"dispatches task"| node_auto_backup
node_cloud_operations -.->|"transfers backups"| node_backup_store

click node_main "https://github.com/amnweb/yasb/blob/main/src/main.py"
click node_config "https://github.com/amnweb/yasb/blob/main/src/core/config.py"
click node_setup "https://github.com/amnweb/yasb/blob/main/src/core/ui/views/welcome.py"
click node_bar_manager "https://github.com/amnweb/yasb/blob/main/src/core/bar_manager.py"
click node_bar "https://github.com/amnweb/yasb/blob/main/src/core/bar.py"
click node_bar_style "https://github.com/amnweb/yasb/blob/main/src/core/bar_style.py"
click node_widget_registry "https://github.com/amnweb/yasb/blob/main/src/core/widgets/registry.py"
click node_quick_launch "https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/quick_launch.py"
click node_control_center "https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/control_center.py"
click node_taskbar "https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/taskbar.py"
click node_weather "https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/weather.py"
click node_events "https://github.com/amnweb/yasb/blob/main/src/core/events/service.py"
click node_win32 "https://github.com/amnweb/yasb/blob/main/src/core/utils/win32/utils.py"
click node_cloud_app "https://github.com/amnweb/yasb/blob/main/src/core/cloud/app.py"
click node_cloud_window "https://github.com/amnweb/yasb/blob/main/src/core/cloud/ui/window.py"
click node_auto_backup "https://github.com/amnweb/yasb/blob/main/src/core/cloud/run_auto_backup.py"
click node_cloud_operations "https://github.com/amnweb/yasb/blob/main/src/core/cloud/operations.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_config,node_setup,node_user toneBlue
class node_bar_manager,node_bar,node_bar_style,node_widget_registry,node_quick_launch,node_control_center,node_taskbar,node_weather,node_backup_store toneAmber
class node_events,node_win32 toneMint
class node_cloud_app,node_cloud_window,node_auto_backup,node_cloud_operations toneRose
```

## Components

### Application startup

- [App entry](https://github.com/amnweb/yasb/blob/main/src/main.py): `src/main.py`
- [Configuration](https://github.com/amnweb/yasb/blob/main/src/core/config.py): `src/core/config.py`
- [First-run setup](https://github.com/amnweb/yasb/blob/main/src/core/ui/views/welcome.py): `src/core/ui/views/welcome.py`

### Bar and widgets

- [Bar manager](https://github.com/amnweb/yasb/blob/main/src/core/bar_manager.py): `src/core/bar_manager.py`
- [Bar window](https://github.com/amnweb/yasb/blob/main/src/core/bar.py): `src/core/bar.py`
- [Bar styling](https://github.com/amnweb/yasb/blob/main/src/core/bar_style.py): `src/core/bar_style.py`
- [Widget registry](https://github.com/amnweb/yasb/blob/main/src/core/widgets/registry.py): `src/core/widgets/registry.py`
- [Quick Launch](https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/quick_launch.py): `src/core/widgets/yasb/quick_launch.py`
- [Control Center](https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/control_center.py): `src/core/widgets/yasb/control_center.py`
- [Taskbar widget](https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/taskbar.py): `src/core/widgets/yasb/taskbar.py`
- [Weather widgets](https://github.com/amnweb/yasb/blob/main/src/core/widgets/yasb/weather.py): `src/core/widgets/yasb/weather.py`

### Windows integrations

- [Event service](https://github.com/amnweb/yasb/blob/main/src/core/events/service.py): `src/core/events/service.py`
- [Windows APIs](https://github.com/amnweb/yasb/blob/main/src/core/utils/win32/utils.py): `src/core/utils/win32/utils.py`

### Cloud backup

- [Cloud app](https://github.com/amnweb/yasb/blob/main/src/core/cloud/app.py): `src/core/cloud/app.py`
- [Cloud window](https://github.com/amnweb/yasb/blob/main/src/core/cloud/ui/window.py): `src/core/cloud/ui/window.py`
- [Scheduled backup](https://github.com/amnweb/yasb/blob/main/src/core/cloud/run_auto_backup.py): `src/core/cloud/run_auto_backup.py`
- [Backup operations](https://github.com/amnweb/yasb/blob/main/src/core/cloud/operations.py): `src/core/cloud/operations.py`

### Other components

- **User**
- **Cloud service**

## Connections

- User → App entry: launches
- App entry → Configuration: loads config
- App entry → First-run setup: starts setup
- App entry → Bar manager: starts bars
- Bar manager → Bar window: creates bars
- Bar manager → Bar styling: loads styles
- Bar manager → Widget registry: resolves widgets
- User → Cloud app: launches
- Cloud app → Cloud window: opens UI
- User → Scheduled backup: schedules backup
- Cloud app → Scheduled backup: dispatches task
- Backup operations → Cloud service: transfers backups
