# jantzen1212/xxri-os-lite architecture

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

- Interactive diagram: https://gitdiagram.com/jantzen1212/xxri-os-lite
- Repository: https://github.com/jantzen1212/xxri-os-lite

## Overview

XXRI OS Lite is a lightweight desktop distribution with a small set of shell and user-facing applications. A typical user opens the app launcher, starts an app, and uses its own workflow: the browser navigates pages and handles downloads; the file manager browses files and removable volumes; Settings and quick settings use system backends; the Store delegates catalog and install work to its engine. The README documents the browser and file-manager capabilities; sampled excerpts show selected wiring, so uncertain subsystem links are omitted.

Main entry points: [`rootfs/usr/local/src/xxri-launcher/xxri-launcher.c`](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-launcher/xxri-launcher.c) (App launcher), [`src/xxri-file/pcmanfm/src/pcmanfm.c`](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/pcmanfm.c) (XXRI File), [`rootfs/usr/local/src/xxri-control-center/xxri-control-center.c`](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-control-center/xxri-control-center.c) (Quick settings), [`src/xxri-browser/browser/webview.cpp`](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/webview.cpp) (Web view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Desktop shell"]
  node_launcher["App launcher<br/>[xxri-launcher.c]"]
  node_compositor["Compositor<br/>[xxri-compositor.c]"]
  node_quicksettings["Quick settings"]
  node_power["Power menu<br/>[xxri-power-menu.c]"]
end

subgraph group_browser["Web browser"]
  node_browsermain["Browser startup<br/>[main.cpp]"]
  node_browserwindow["Browser window<br/>[browserwindow.cpp]"]
  node_webview["Web view<br/>[webview.cpp]"]
  node_webpage["Web page<br/>[webpage.cpp]"]
  node_downloads["Download manager"]
end

subgraph group_files["File management"]
  node_filemanager["XXRI File<br/>[pcmanfm.c]"]
  node_filewindow["File windows<br/>[main-win.c]"]
  node_volumes["Volume manager<br/>[volume-manager.c]"]
end

subgraph group_apps["User apps"]
  node_settings["Settings<br/>[xxri-settings.c]"]
  node_store["Store interface<br/>[xxri-store-gui.c]"]
  node_media["Media player<br/>[xxri-media.c]"]
end

subgraph group_services["System services"]
  node_installengine["Store engine"]
  node_appbackend["App installer"]
  node_systembackends["System backends"]
end

node_user(("Desktop user"))
node_web(("Web content"))
node_filesystem[("Files and volumes")]
node_mplayer["MPlayer"]

node_user -->|"opens"| node_launcher
node_launcher -->|"launches"| node_browsermain
node_launcher -->|"launches"| node_filemanager
node_launcher -->|"launches"| node_settings
node_launcher -->|"launches"| node_store
node_launcher -->|"launches"| node_media
node_user -->|"opens"| node_quicksettings
node_user -->|"opens"| node_power
node_browsermain -->|"creates"| node_browserwindow
node_browserwindow -->|"hosts"| node_webview
node_webview -->|"loads"| node_webpage
node_webpage -->|"requests"| node_web
node_webview -->|"dispatches"| node_downloads
node_downloads -->|"saves"| node_filesystem
node_user -->|"browses"| node_filemanager
node_filemanager -->|"opens"| node_filewindow
node_filemanager -->|"manages"| node_volumes
node_filewindow -->|"browses"| node_filesystem
node_volumes -->|"mounts"| node_filesystem
node_settings -->|"delegates"| node_systembackends
node_quicksettings -->|"queries"| node_systembackends
node_quicksettings -->|"controls"| node_systembackends
node_store -->|"delegates"| node_installengine
node_installengine -->|"hands off installs"| node_appbackend
node_media -->|"controls"| node_mplayer

click node_launcher "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-launcher/xxri-launcher.c"
click node_compositor "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-compositor/xxri-compositor.c"
click node_quicksettings "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-control-center/xxri-control-center.c"
click node_power "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-power-menu/xxri-power-menu.c"
click node_browsermain "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/main.cpp"
click node_browserwindow "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/browserwindow.cpp"
click node_webview "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/webview.cpp"
click node_webpage "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/webpage.cpp"
click node_downloads "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/downloadmanagerwidget.cpp"
click node_filemanager "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/pcmanfm.c"
click node_filewindow "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/main-win.c"
click node_volumes "https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/volume-manager.c"
click node_settings "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-settings-gtk/xxri-settings.c"
click node_store "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-store-gui/xxri-store-gui.c"
click node_media "https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-media/xxri-media.c"

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_launcher,node_compositor,node_quicksettings,node_power,node_user toneBlue
class node_browsermain,node_browserwindow,node_webview,node_webpage,node_downloads,node_filesystem toneAmber
class node_filemanager,node_filewindow,node_volumes toneMint
class node_settings,node_store,node_media toneRose
class node_installengine,node_appbackend,node_systembackends,node_web,node_mplayer toneIndigo
```

## Components

### Desktop shell

- [App launcher](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-launcher/xxri-launcher.c): `rootfs/usr/local/src/xxri-launcher/xxri-launcher.c`
- [Compositor](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-compositor/xxri-compositor.c): `rootfs/usr/local/src/xxri-compositor/xxri-compositor.c`
- [Quick settings](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-control-center/xxri-control-center.c): `rootfs/usr/local/src/xxri-control-center/xxri-control-center.c`
- [Power menu](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-power-menu/xxri-power-menu.c): `rootfs/usr/local/src/xxri-power-menu/xxri-power-menu.c`

### Web browser

- [Browser startup](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/main.cpp): `src/xxri-browser/browser/main.cpp`
- [Browser window](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/browserwindow.cpp): `src/xxri-browser/browser/browserwindow.cpp`
- [Web view](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/webview.cpp): `src/xxri-browser/browser/webview.cpp`
- [Web page](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/webpage.cpp): `src/xxri-browser/browser/webpage.cpp`
- [Download manager](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-browser/browser/downloadmanagerwidget.cpp): `src/xxri-browser/browser/downloadmanagerwidget.cpp`

### File management

- [XXRI File](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/pcmanfm.c): `src/xxri-file/pcmanfm/src/pcmanfm.c`
- [File windows](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/main-win.c): `src/xxri-file/pcmanfm/src/main-win.c`
- [Volume manager](https://github.com/jantzen1212/xxri-os-lite/blob/main/src/xxri-file/pcmanfm/src/volume-manager.c): `src/xxri-file/pcmanfm/src/volume-manager.c`

### User apps

- [Settings](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-settings-gtk/xxri-settings.c): `rootfs/usr/local/src/xxri-settings-gtk/xxri-settings.c`
- [Store interface](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-store-gui/xxri-store-gui.c): `rootfs/usr/local/src/xxri-store-gui/xxri-store-gui.c`
- [Media player](https://github.com/jantzen1212/xxri-os-lite/blob/main/rootfs/usr/local/src/xxri-media/xxri-media.c): `rootfs/usr/local/src/xxri-media/xxri-media.c`

### System services

- **Store engine**
- **App installer**
- **System backends**

### Other components

- **Desktop user**
- **Web content**
- **Files and volumes**
- **MPlayer**

## Connections

- Desktop user → App launcher: opens
- App launcher → Browser startup: launches
- App launcher → XXRI File: launches
- App launcher → Settings: launches
- App launcher → Store interface: launches
- App launcher → Media player: launches
- Desktop user → Quick settings: opens
- Desktop user → Power menu: opens
- Browser startup → Browser window: creates
- Browser window → Web view: hosts
- Web view → Web page: loads
- Web page → Web content: requests
- Web view → Download manager: dispatches
- Download manager → Files and volumes: saves
- Desktop user → XXRI File: browses
- XXRI File → File windows: opens
- XXRI File → Volume manager: manages
- File windows → Files and volumes: browses
- Volume manager → Files and volumes: mounts
- Settings → System backends: delegates
- Quick settings → System backends: queries
- Quick settings → System backends: controls
- Store interface → Store engine: delegates
- Store engine → App installer: hands off installs
- Media player → MPlayer: controls
