How saya-ch/weblinuxos works
WebLinuxOS is a browser-based Linux-style desktop: users open the desktop, find or launch an application, and work within managed windows. Its major product areas include terminal commands, persistent virtual files, developer tools, live-data applications, and browser-based offline/cross-tab capabilities. The README documents these capabilities; sampled source confirms the desktop composition, lazy window rendering, app registry, storage implementation, and API fetch behavior. Individual application wiring and several platform subsystems were not sampled, so those connections are shown only where supported.
Main entry points: WindowManager.tsx Window Manager · storageUtils.ts Storage Utilities · App.tsx Desktop App · main.tsx React Entry
Components 21
Desktop Shell
- React Entry
web-linux/src/main.tsx - Desktop App
web-linux/src/App.tsx - App Registry
web-linux/src/apps.tsx - Window Manager
web-linux/src/components/desktop/WindowManager.tsx - Desktop UI
web-linux/src/components/desktop
Applications
- Terminal
web-linux/src/apps/Terminal.tsx - Storage Commands
web-linux/src/apps/terminal/storageCommands.ts - Virtual Files
web-linux/src/apps/FileManager.tsx - Developer Tools
web-linux/src/apps - AI Tools
web-linux/src/apps - Live Data Apps
web-linux/src/apps - Productivity Apps
web-linux/src/apps
Local State
- Storage Utilities
web-linux/src/store/storageUtils.ts - IndexedDB Files
web-linux/src/store/indexedDBStorage.ts - Browser Storage
Browser Integrations
- Browser Platform
- Offline Worker
web-linux/public/sw.js - Other Tabs
Live Data
- API Service
web-linux/src/services/apiService.ts - Public APIs
Other components
- User
Connections 25
- User → React Entry: opens
- React Entry → Desktop App: renders
- Desktop App → App Registry: searches apps
- Desktop App → Window Manager: renders windows
- Desktop App → Desktop UI: renders shell
- User → Terminal: uses
- User → Virtual Files: manages files
- Window Manager → Terminal: loads app
- Window Manager → Virtual Files: loads app
- Window Manager → Developer Tools: loads app
- Window Manager → AI Tools: loads app
- Window Manager → Live Data Apps: loads app
- Window Manager → Productivity Apps: loads app
- Terminal → Storage Commands: dispatches commands
- Storage Commands → Storage Utilities: reads and writes
- Virtual Files → Storage Utilities: persists files
- Storage Utilities → IndexedDB Files: reads and writes
- Storage Utilities → Browser Storage: fallback storage
- IndexedDB Files → Browser Platform: uses IndexedDB
- Storage Utilities → Browser Platform: uses Storage API
- React Entry → Offline Worker: registers worker
- Offline Worker → Browser Platform: caches offline assets
- Browser Platform → Other Tabs: syncs via channel
- API Service → Public APIs: fetches live data
- API Service → Browser Platform: uses fetch