Skip to content

Diagram

oxGorou edited this page May 29, 2026 · 1 revision
flowchart TD

subgraph group_entry["Interactive app"]
  node_entrypoint["UXTU4Linux<br/>app entry<br/>[UXTU4Linux.py]"]
  node_ui["UI<br/>[ui.py]"]
  node_termui["Term UI<br/>terminal widgets<br/>[termui.py]"]
  node_ipc["IPC<br/>zmq bridge<br/>[ipc.py]"]
end

subgraph group_daemon["Background service"]
  node_daemon["Daemon<br/>[daemon.py]"]
  node_automations["Automations<br/>event policies<br/>[automations.py]"]
end

subgraph group_control["Power control"]
  node_config[("Config<br/>persistence<br/>[config.py]")]
  node_settings["Settings<br/>preferences<br/>[settings.py]"]
  node_presets["Presets<br/>preset catalog<br/>[presets.py]"]
  node_custom["Custom<br/>user presets<br/>[custom.py]"]
  node_hardware["Hardware<br/>device probe<br/>[hardware.py]"]
  node_power["Power<br/>[power.py]"]
  node_ryzenadj["ryzenadj<br/>vendor binary"]
end

subgraph group_ops["Lifecycle"]
  node_service["Service<br/>systemd integration<br/>[service.py]"]
  node_setup["Setup<br/>bootstrap<br/>[setup.py]"]
  node_updater["Updater<br/>maintenance<br/>[updater.py]"]
end

node_linux["Linux<br/>host OS"]
node_systemd["systemd<br/>init/service manager"]
node_zmq(("ZeroMQ<br/>messaging library"))

node_entrypoint -->|"launches"| node_ui
node_ui -->|"renders via"| node_termui
node_ui -->|"sends commands"| node_ipc
node_ipc -->|"talks to"| node_daemon
node_daemon -->|"runs"| node_automations
node_daemon -->|"loads"| node_config
node_daemon -->|"uses"| node_settings
node_daemon -->|"selects"| node_presets
node_daemon -->|"loads"| node_custom
node_daemon -->|"probes"| node_hardware
node_daemon -->|"monitors"| node_power
node_daemon -->|"executes"| node_ryzenadj
node_hardware -->|"narrows"| node_presets
node_power -->|"triggers"| node_automations
node_automations -->|"switches"| node_presets
node_settings -->|"persists"| node_config
node_custom -->|"saves to"| node_config
node_service -->|"manages"| node_daemon
node_setup -->|"installs"| node_service
node_updater -->|"backs up"| node_config
node_updater -->|"restores"| node_custom
node_service -->|"depends on"| node_systemd
node_setup -->|"targets"| node_linux
node_daemon -->|"runs on"| node_linux
node_ipc -->|"uses"| node_zmq
node_ryzenadj -->|"executes on"| node_linux

click node_entrypoint "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/UXTU4Linux.py"
click node_ui "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/ui.py"
click node_termui "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/termui.py"
click node_ipc "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/ipc.py"
click node_daemon "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/daemon.py"
click node_automations "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/automations.py"
click node_service "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/service.py"
click node_setup "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/setup.py"
click node_updater "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/updater.py"
click node_config "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/config.py"
click node_settings "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/settings.py"
click node_presets "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/presets.py"
click node_custom "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/custom.py"
click node_hardware "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/hardware.py"
click node_power "https://github.com/horizonunix/uxtu4linux/blob/main/UXTU4Linux/Assets/Modules/power.py"
click node_ryzenadj "https://github.com/horizonunix/uxtu4linux/tree/main/UXTU4Linux/Assets/Linux/ryzenadj"

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_entrypoint,node_ui,node_termui,node_ipc toneBlue
class node_daemon,node_automations toneAmber
class node_config,node_settings,node_presets,node_custom,node_hardware,node_power,node_ryzenadj toneMint
class node_service,node_setup,node_updater toneRose
class node_linux,node_systemd,node_zmq toneNeutral
Loading

Clone this wiki locally