Path: /screens/screen_installing.py
Renders a full-screen overlay that displays the progress of Talon's installation and debloating sequence, culminating in an automated system restart.
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.
PyQt5 for GUI components and event handling (QApplication, QObject, QEvent, QTimer).
debloat_components package for installation and system configuration scripts.
Parameter | Type | Description | Default |
---|---|---|---|
None | – | No command-line parameters are supported. | – |
python screen_installing.py
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.
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.
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.
Runtime status messages are displayed via the UIHeaderText widget. There is no persistent log file; errors silently stop the sequence.
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: Raven Development Team