Overview

The GUI Integration module (FreeWorldSystem class) ties all GUI subsystems together, providing a unified entry point that initializes and connects all components. It ensures proper initialization order and subsystem communication.

Initialized Subsystems

The FreeWorldSystem class initializes the following subsystems:

  • Error Manager - System-wide error handling
  • Security Manager - Security and permissions
  • Resource Manager - Global resource registry
  • Window Manager - Window creation and management
  • Compositor - Window compositing and rendering
  • Input Manager - Mouse and keyboard input
  • Clipboard - System clipboard
  • Drag & Drop Manager - Drag and drop functionality
  • Window Relationships - Parent-child window management
  • Menu Loop - Menu system
  • Non-Client Area - Window frames and controls
  • Timer Manager - System timers
  • Property Manager - Window properties
  • Hook Manager - System hooks
  • Focus Manager - Window focus and activation
  • Object Manager - Handle management
  • Path Parser - Path resolution
  • Registry - System registry
  • File System Watcher - File change notifications
  • Desktop - Desktop window
  • Taskbar - Taskbar window
  • Shell Execute - Application launching
  • Event Manager - System event logging
  • Event Bus - Event communication
  • Services Manager - Service management
  • Task Manager - Process monitoring

Subsystem Connections

The integration module connects subsystems together:

  • Compositor ↔ Window Manager: Window position and visibility information
  • Input Manager ↔ Window Manager: Message delivery to windows
  • Window Relationships ↔ Window Manager: Parent-child relationships
  • Focus Manager ↔ Window Manager: Window activation and focus
  • Event Manager ↔ Event Bus: Event logging and routing
  • Services Manager ↔ Event Bus: Service event handling

Usage

const FreeWorldSystem = require('./system/integration');

// Initialize the system
const system = new FreeWorldSystem();

// Start the system
system.init();

// Access subsystems
const windowManager = system.windowManager;
const compositor = system.compositor;
const inputManager = system.inputManager;

// Shutdown
system.shutdown();

Related Documentation