screen_installing

Path: /screens/screen_installing.py

Overview

Renders a full-screen overlay that displays the progress of Talon's installation and debloating sequence, culminating in an automated system restart.

Purpose & Use Cases

Provide visual feedback during the automated debloating and setup process of Talon, ensuring users are informed and do not interact with the system mid-install.

Orchestrate and execute a series of debloat and configuration scripts in the background while updating the UI with status messages.

Dependencies

PyQt5 for GUI components and event handling (QApplication, QObject, QEvent, QTimer).

debloat_components package for installation and system configuration scripts.

Configuration & Parameters

Parameter Type Description Default
None No command-line parameters are supported.

Usage Example

python screen_installing.py

Behavior & Implementation

On launch, initializes a semi-transparent, full-screen UI overlay with a title, header, and status label. A background thread sequentially executes a predefined list of debloat and setup functions, updating the status label after each step. Upon completion, the component triggers a system restart.

Error Handling

Exceptions in any debloat step are caught within the sequence loop, causing an early exit without further status updates. No additional error reporting is presented to the user.

Security Considerations

Executes system-level scripts and invokes a system reboot; requires appropriate privileges. Users are prevented from interacting during execution to avoid interference. External scripts should be reviewed to prevent unauthorized code execution.

Logging

Runtime status messages are displayed via the UIHeaderText widget. There is no persistent log file; errors silently stop the sequence.

Testing & Validation

Run the script in a test environment to verify UI responsiveness, correct sequence ordering, and status updates. Validate each debloat component individually with unit tests. For integration testing, simulate or stub shutdown calls to prevent actual restarts.

Author

Author: Raven Development Team