trcc-linux 9.8.8__tar.gz → 9.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/.gitignore +2 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/PKG-INFO +3 -3
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/README.md +2 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/pyproject.toml +1 -1
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/__version__.py +1 -1
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/diagnostics/debug_report.py +53 -3
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/diagnostics/health.py +58 -3
- trcc_linux-9.9.0/src/trcc/adapters/diagnostics/install.py +206 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/bsd.py +12 -5
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/linux.py +12 -14
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/macos.py +12 -5
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/windows.py +12 -5
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/app.py +41 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/system.py +6 -3
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/theme.py +51 -22
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/ports.py +12 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/registry.py +9 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/results.py +11 -1
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/_shared.py +3 -1
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/schemas.py +2 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/splash.py +10 -26
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/trcc_app.py +17 -65
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_about.py +10 -20
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qapp.py +50 -1
- trcc_linux-9.9.0/src/trcc/ui/qt_tray.py +144 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/app.py +66 -6
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/assets.py +23 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/device_picker.py +20 -1
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/cloud_theme_browser.py +40 -6
- trcc_linux-9.9.0/src/trcc/ui/qtgui/panels/device_panel.py +197 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/local_theme_browser.py +13 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/mask_browser.py +12 -2
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_backend_finish.py +47 -5
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_device_catalog_smoke.py +33 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_diagnose_parse_report.py +44 -0
- trcc_linux-9.9.0/tests/test_install_info.py +295 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_packaging_entrypoints.py +73 -0
- trcc_linux-9.8.8/src/trcc/ui/qtgui/panels/device_panel.py +0 -90
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/LICENSE +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/__main__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/_boot.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/_entry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/_pyusb_find.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/ali_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/bulk_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/hid_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/ly_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/scsi_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/transport.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/device/usb_bot_scsi.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/diagnostics/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/diagnostics/adapter.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/diagnostics/doctor.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/infra/logging.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/infra/network.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/infra/send_scheduler.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/infra/sysinfo_config.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/render/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/render/qt.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/repo/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/repo/data_install.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/repo/github_releases.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/repo/http.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/screencast/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/screencast/qt.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_hwinfo.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_lhm.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_macos_hid.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_msacpi.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_powermetrics.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_smc.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_sysctl.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/_wmi_gpu.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/aggregator.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/bsd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/chain.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/gpu_detect.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/hwmon.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/macos.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/nvml.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/psutil_sources.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/sensors/windows.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_autostart.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_devd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_elevate.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_hotplug.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_imc_timings.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_macos_setup.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_selinux.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_udev.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_windows_wmi.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/_winusb.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/system/spd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/theme/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/adapters/theme/cloud.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/fonts/MSYH.TTC +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/fonts/README.md +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/app.ico +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_128x128.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_16x16.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_24x24.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_256x256.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_32x32.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_48x48.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/icons/trcc_64x64.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/trcc-imc +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/trcc-linux.desktop +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/assets/trcc-quirk-fix.service +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/_colors.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/_safe.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/_version.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/_base.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/_helpers.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/device.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/commands/led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/device_recovery.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/diagnostics.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/errors.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/events.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/i18n.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/led_models.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/led_protocol.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/models.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/protocol.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/core/variants.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/daemon.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/data/trcc_usb.te +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ipc.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/proxy.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/_ansi.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/_clock.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/_dc.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/audio.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/cloud_theme.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/data_install.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/device_sender.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/first_run.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/led_animation_loop.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/led_effects.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/led_segment.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/media.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/metrics_loop.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/metrics_personalize.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/migration.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/overlay.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/quickstart.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/settings.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/slideshow.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/theme.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/video_cache.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/services/video_export.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/_errors.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/config.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/devices.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/main.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/system.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/theme.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/api/trcc.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/_ctx.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/config.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/device.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/main.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/shell.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/system.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/cli/theme.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/_ui_state.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/240240.gif +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/240320.gif +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/320240.gif +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/320320.gif +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC10a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC13.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC13a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC15.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC15a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD11.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD11a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF014.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF014a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RX1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1RX1a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/about_update.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_export.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_help.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_import.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_power.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_save.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_external.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_power.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_play.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_background.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_module.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/settings_params.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_close.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/assets.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/base.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/base_handler.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/bus_bridge.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/constants.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/display_mode_panels.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/eyedropper.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/lcd_handler.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/led_handler.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/overlay_element.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/overlay_grid.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/pipewire_capture.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/screen_capture.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_device.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_image_cut.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_info_module.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_led_control.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_preview.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_screen_led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_system_info.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_theme_local.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_theme_web.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/gui/uc_video_cut.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/device_presentation.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/lcd_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/lcd_presentation_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/led_display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/led_metrics_format.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/led_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/led_zone_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/overlay_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/overlay_serialization.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/preview_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/sensor_display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/slideshow_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/presentation/theme_directories.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/base.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/bus_bridge.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/color_wheel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/eyedropper.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/image_crop.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/about_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/configuration_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/display_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/_base.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/advanced_tab.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/color_tab.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/mode_tab.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/segment_tab.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led/zone_tab.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/led_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/overlay_editor.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/preview_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/screencast_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/sidebar.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/status_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/panels/system_panel.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/region_overlay.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/screen_overlay.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/sensor_picker.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/splash.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/src/trcc/ui/qtgui/video_crop.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/infra/test_sysinfo_config_fan_map.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_elevate.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_imc_timings.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_linux_imc.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_spd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_windows_mem_disk.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_windows_permissions.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/adapters/system/test_windows_wmi_seam.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/conftest.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/mock_platform.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ali_lcd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_api_routes.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_app_senders.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_architecture_boundaries.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_autostart.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_autostart_macos.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_autostart_windows.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_boot_animation_command.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_boot_animation_device.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_bulk_lcd_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_cli_commands.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_clock.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_cloud_themes.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_commands.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_connect_failure_hints.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_connection_issues.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_control_center.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_daemon.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_data_install.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_dc_codec.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_dc_reader.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_device_recovery.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_device_sender.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_device_surface_matrix.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_diagnostics.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_display_rotation.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_display_tweaks.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_first_run_and_migration.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gpu_extras_install.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gpu_preference.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gui_empty_state.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gui_entry_exit.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gui_panels.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_gui_raise_existing.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_hid_lcd_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_hotplug.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_hotplug_bsd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_hotplug_polling.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_hotplug_windows.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_i18n.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_integration_pipeline.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ipc_server.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ipc_windows_fallback.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ipc_wire.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_lcd_panel_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_animation_loop.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_assets.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_display_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_effects.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_handler_requires_app.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_panel_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_pm_registry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_remap.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_segment.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_send.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_led_settings_commands.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_library_migration.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ly_lcd_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_manpages.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_mask_commands.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_mask_rendering.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_metrics_personalize.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_mock_reply_override.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_models.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_orientation_cloud_background.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_orientation_reload.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_clock.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_element_id.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_grid_adapter.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_metric_unit.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_resolve.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_overlay_show_unit.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_platform_hw_probes.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_pyusb_find_seam.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_quickstart.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_render_led.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_restore_device_state.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_run_setup_order.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_scsi_lcd_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_selinux_install.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_send_color.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensor_chain.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors_bsd.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors_lhm_subprocess.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors_macos.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors_nvml.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_sensors_windows.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_settings_migration.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_shell.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_system_commands.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_system_resume.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_theme_persistence.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_theme_service.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_transports.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_udev.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ui_parity.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_ui_surfaces_smoke.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_variant_presentation_audit.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_video_cache.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_video_playback.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_widescreen_rotation.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_wire_rotation.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/test_wmi_gpu_fallback.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_device_presentation.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_lcd_presentation_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_led_metrics_format.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_led_zone_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_overlay_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_overlay_view_binding.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_preview_geometry.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_sensor_display.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_slideshow_model.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_theme_directories.py +0 -0
- {trcc_linux-9.8.8 → trcc_linux-9.9.0}/tests/ui/presentation/test_theme_local_binding.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trcc-linux
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.9.0
|
|
4
4
|
Summary: Linux implementation of Thermalright LCD Control Center
|
|
5
5
|
Project-URL: Homepage, https://github.com/Lexonight1/thermalright-trcc-linux
|
|
6
6
|
Project-URL: Documentation, https://github.com/Lexonight1/thermalright-trcc-linux#readme
|
|
@@ -152,7 +152,7 @@ Pre-built packages are available for every major distro. No pip, no venv, no PEP
|
|
|
152
152
|
| macOS 11+ | [macOS](doc/GUIDE_INSTALL.md#macos-experimental) |
|
|
153
153
|
| FreeBSD | [FreeBSD](doc/GUIDE_INSTALL.md#freebsd-experimental) |
|
|
154
154
|
|
|
155
|
-
Each guide has a one-liner copy-paste command and step-by-step instructions. After installing,
|
|
155
|
+
Each guide has a one-liner copy-paste command and step-by-step instructions. After installing, run `trcc gui` — TRCC picks the cooler up automatically. (Not detected? Restart your computer and try again.)
|
|
156
156
|
|
|
157
157
|
### Verify your download
|
|
158
158
|
|
|
@@ -179,7 +179,7 @@ pipx install trcc-linux
|
|
|
179
179
|
trcc system setup # interactive wizard — udev rules, desktop entry
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
Then **
|
|
182
|
+
Then **restart your computer** and run `trcc gui`.
|
|
183
183
|
|
|
184
184
|
> `pipx` not installed? `sudo apt install pipx` (Debian/Ubuntu), `sudo dnf install pipx` (Fedora), `sudo pacman -S python-pipx` (Arch). See the **[Install Guide](doc/GUIDE_INSTALL.md)** for your distro.
|
|
185
185
|
|
|
@@ -79,7 +79,7 @@ Pre-built packages are available for every major distro. No pip, no venv, no PEP
|
|
|
79
79
|
| macOS 11+ | [macOS](doc/GUIDE_INSTALL.md#macos-experimental) |
|
|
80
80
|
| FreeBSD | [FreeBSD](doc/GUIDE_INSTALL.md#freebsd-experimental) |
|
|
81
81
|
|
|
82
|
-
Each guide has a one-liner copy-paste command and step-by-step instructions. After installing,
|
|
82
|
+
Each guide has a one-liner copy-paste command and step-by-step instructions. After installing, run `trcc gui` — TRCC picks the cooler up automatically. (Not detected? Restart your computer and try again.)
|
|
83
83
|
|
|
84
84
|
### Verify your download
|
|
85
85
|
|
|
@@ -106,7 +106,7 @@ pipx install trcc-linux
|
|
|
106
106
|
trcc system setup # interactive wizard — udev rules, desktop entry
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
Then **
|
|
109
|
+
Then **restart your computer** and run `trcc gui`.
|
|
110
110
|
|
|
111
111
|
> `pipx` not installed? `sudo apt install pipx` (Debian/Ubuntu), `sudo dnf install pipx` (Fedora), `sudo pacman -S python-pipx` (Arch). See the **[Install Guide](doc/GUIDE_INSTALL.md)** for your distro.
|
|
112
112
|
|
|
@@ -35,6 +35,7 @@ from ...core.registry import find_product
|
|
|
35
35
|
from ..device import DeviceFactory
|
|
36
36
|
from ..infra.logging import tail_log
|
|
37
37
|
from .health import HealthReport, run_health_checks
|
|
38
|
+
from .install import InstallInfo, collect_install_info
|
|
38
39
|
|
|
39
40
|
log = logging.getLogger(__name__)
|
|
40
41
|
|
|
@@ -50,6 +51,7 @@ class DebugReport:
|
|
|
50
51
|
timestamp: str
|
|
51
52
|
platform_info: dict[str, str]
|
|
52
53
|
paths: dict[str, str]
|
|
54
|
+
install: InstallInfo | None = None
|
|
53
55
|
devices: list[dict[str, str]] = field(default_factory=list)
|
|
54
56
|
devices_error: str = ""
|
|
55
57
|
sensors: list[dict[str, str]] = field(default_factory=list)
|
|
@@ -66,6 +68,9 @@ class DebugReport:
|
|
|
66
68
|
log.info("render_text: called")
|
|
67
69
|
sections: list[str] = []
|
|
68
70
|
sections.append(_header(self.timestamp))
|
|
71
|
+
# Install first: every other section is worthless if this is not the
|
|
72
|
+
# trcc the reporter thinks they are running.
|
|
73
|
+
sections.append(_render_install(self.install))
|
|
69
74
|
sections.append(_render_kv("Platform", self.platform_info))
|
|
70
75
|
sections.append(_render_kv("Paths", self.paths))
|
|
71
76
|
sections.append(_render_devices(self.devices, self.devices_error))
|
|
@@ -96,6 +101,15 @@ def build_debug_report(
|
|
|
96
101
|
log_tail_lines)
|
|
97
102
|
timestamp = datetime.now(tz=timezone.utc).strftime("%Y-%m-%d %H:%M:%S UTC")
|
|
98
103
|
|
|
104
|
+
# Best-effort like every other collector: a report from a broken install is
|
|
105
|
+
# exactly when this matters, so it must degrade to "(unavailable)" rather
|
|
106
|
+
# than abort the report that would have explained the breakage.
|
|
107
|
+
try:
|
|
108
|
+
install = collect_install_info()
|
|
109
|
+
except Exception as e:
|
|
110
|
+
log.exception("build_debug_report: install info failed: %s", e)
|
|
111
|
+
install = None
|
|
112
|
+
|
|
99
113
|
info = _collect_platform_info(platform)
|
|
100
114
|
path_table = _collect_paths(platform)
|
|
101
115
|
devices, devices_err = _collect_devices(platform)
|
|
@@ -113,6 +127,7 @@ def build_debug_report(
|
|
|
113
127
|
timestamp=timestamp,
|
|
114
128
|
platform_info=info,
|
|
115
129
|
paths=path_table,
|
|
130
|
+
install=install,
|
|
116
131
|
devices=devices,
|
|
117
132
|
devices_error=devices_err,
|
|
118
133
|
sensors=sensors,
|
|
@@ -141,11 +156,10 @@ def write_debug_report(report: DebugReport, output_path: Path) -> Path:
|
|
|
141
156
|
|
|
142
157
|
def _collect_platform_info(platform: Platform) -> dict[str, str]:
|
|
143
158
|
log.debug("_collect_platform_info: called")
|
|
159
|
+
# Version / path / installer live in the Install section, which owns the
|
|
160
|
+
# "which trcc is this?" question in one place — see _render_install.
|
|
144
161
|
return {
|
|
145
162
|
"distro": platform.distro_name(),
|
|
146
|
-
"install_method": platform.install_method(),
|
|
147
|
-
"python": f"{sys.version_info.major}.{sys.version_info.minor}."
|
|
148
|
-
f"{sys.version_info.micro}",
|
|
149
163
|
"python_impl": py_platform.python_implementation(),
|
|
150
164
|
"machine": py_platform.machine(),
|
|
151
165
|
"system": py_platform.system(),
|
|
@@ -375,6 +389,42 @@ def _render_kv(title: str, table: dict[str, str]) -> str:
|
|
|
375
389
|
return f"## {title}\n{body}" if body else f"## {title}\n (empty)"
|
|
376
390
|
|
|
377
391
|
|
|
392
|
+
def _render_install(info: InstallInfo | None) -> str:
|
|
393
|
+
"""Which trcc is running — and loud warnings when it isn't the expected one.
|
|
394
|
+
|
|
395
|
+
The warnings are spelled out in full because the reporter reading them is
|
|
396
|
+
the person who has to act, and neither of the two failures is guessable
|
|
397
|
+
from the outside: a stale cache and a duplicate binary both present as
|
|
398
|
+
"I upgraded and nothing changed".
|
|
399
|
+
"""
|
|
400
|
+
if info is None:
|
|
401
|
+
return "## Install\n (unavailable)"
|
|
402
|
+
rows = {
|
|
403
|
+
"version": info.version,
|
|
404
|
+
"installed_by": info.installer,
|
|
405
|
+
"module_path": str(info.module_path or "unknown"),
|
|
406
|
+
"interpreter": info.interpreter,
|
|
407
|
+
"python": info.python,
|
|
408
|
+
}
|
|
409
|
+
lines = [f" {k:18} {v}" for k, v in rows.items()]
|
|
410
|
+
for exe in info.executables:
|
|
411
|
+
lines.append(f" {'on PATH':18} {exe.path} -> {exe.interpreter}")
|
|
412
|
+
if info.bytecode_stale:
|
|
413
|
+
lines.append("")
|
|
414
|
+
lines.append(f" !! STALE BYTECODE — running {info.version} but the source "
|
|
415
|
+
f"says {info.source_version}.")
|
|
416
|
+
lines.append(" !! Python is serving a cached .pyc that no longer matches "
|
|
417
|
+
"the code on disk.")
|
|
418
|
+
lines.append(" !! Fix: delete __pycache__ dirs, or reinstall.")
|
|
419
|
+
if info.duplicates:
|
|
420
|
+
lines.append("")
|
|
421
|
+
lines.append(f" !! {len(info.executables)} trcc found on PATH — an upgrade "
|
|
422
|
+
"may land on one")
|
|
423
|
+
lines.append(" !! while a different one keeps running. The first listed "
|
|
424
|
+
"above is what runs.")
|
|
425
|
+
return "## Install\n" + "\n".join(lines)
|
|
426
|
+
|
|
427
|
+
|
|
378
428
|
def _render_devices(rows: list[dict[str, str]], error: str) -> str:
|
|
379
429
|
if error:
|
|
380
430
|
return f"## Devices\n Scan failed: {error}"
|
|
@@ -11,9 +11,9 @@ Severity ladder:
|
|
|
11
11
|
* ``WARN`` — works on this machine but reporter should know.
|
|
12
12
|
* ``FAIL`` — feature won't work until this is fixed.
|
|
13
13
|
|
|
14
|
-
Adding a check: define a function returning ``HealthCheckResult`` and
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
Adding a check: define a function returning ``HealthCheckResult`` and add
|
|
15
|
+
it to the list in ``run_health_checks``. The doctor + report bundlers both
|
|
16
|
+
go through that function, so registration = inclusion.
|
|
17
17
|
"""
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
@@ -26,6 +26,7 @@ from pathlib import Path
|
|
|
26
26
|
from ...core.diagnostics import HealthCheckResult, HealthReport, Severity
|
|
27
27
|
from ...core.ports import Paths, Platform
|
|
28
28
|
from ..sensors.nvml import NVML_RELOAD_HINT, nvml_init_state
|
|
29
|
+
from .install import collect_install_info
|
|
29
30
|
|
|
30
31
|
log = logging.getLogger(__name__)
|
|
31
32
|
|
|
@@ -48,6 +49,57 @@ __all__ = [
|
|
|
48
49
|
# =========================================================================
|
|
49
50
|
|
|
50
51
|
|
|
52
|
+
def check_install_integrity() -> HealthCheckResult:
|
|
53
|
+
"""Is the running trcc the one the user thinks they installed?
|
|
54
|
+
|
|
55
|
+
Two failures both present to the user as "I upgraded and nothing
|
|
56
|
+
changed", and neither is visible from the outside:
|
|
57
|
+
|
|
58
|
+
* stale bytecode — Python serves a cached .pyc whose recorded mtime+size
|
|
59
|
+
still match a since-edited source (FAIL: every other diagnostic, and
|
|
60
|
+
the version itself, is then untrustworthy);
|
|
61
|
+
* duplicate binaries on PATH — the upgrade landed on one, the other keeps
|
|
62
|
+
running (WARN: legitimate for venv/pipx users, so not fatal).
|
|
63
|
+
"""
|
|
64
|
+
log.info("check_install_integrity: called")
|
|
65
|
+
try:
|
|
66
|
+
info = collect_install_info()
|
|
67
|
+
except Exception as e:
|
|
68
|
+
log.exception("check_install_integrity: collection failed: %s", e)
|
|
69
|
+
return HealthCheckResult(
|
|
70
|
+
name="install-integrity", severity="WARN",
|
|
71
|
+
message=f"Could not inspect the install: {e}",
|
|
72
|
+
)
|
|
73
|
+
if info.bytecode_stale:
|
|
74
|
+
return HealthCheckResult(
|
|
75
|
+
name="install-integrity", severity="FAIL",
|
|
76
|
+
message=(
|
|
77
|
+
f"Stale bytecode — running {info.version} but "
|
|
78
|
+
f"{info.module_path} says {info.source_version}"
|
|
79
|
+
),
|
|
80
|
+
fix_hint=(
|
|
81
|
+
"Python is serving a cached .pyc that no longer matches the "
|
|
82
|
+
"source. Delete the __pycache__ directories under "
|
|
83
|
+
f"{info.module_path}, or reinstall trcc-linux."
|
|
84
|
+
),
|
|
85
|
+
)
|
|
86
|
+
if info.duplicates:
|
|
87
|
+
found = ", ".join(str(e.path) for e in info.executables)
|
|
88
|
+
return HealthCheckResult(
|
|
89
|
+
name="install-integrity", severity="WARN",
|
|
90
|
+
message=f"{len(info.executables)} trcc on PATH: {found}",
|
|
91
|
+
fix_hint=(
|
|
92
|
+
f"'{info.executables[0].path}' is the one that runs. An "
|
|
93
|
+
"upgrade applied to the other will appear to do nothing. "
|
|
94
|
+
"Remove whichever you don't want."
|
|
95
|
+
),
|
|
96
|
+
)
|
|
97
|
+
return HealthCheckResult(
|
|
98
|
+
name="install-integrity", severity="OK",
|
|
99
|
+
message=f"{info.version} via {info.installer} ({info.interpreter})",
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
|
|
51
103
|
def check_python_version(platform: Platform) -> HealthCheckResult:
|
|
52
104
|
"""Python ≥ 3.11 is the project minimum (match-statement + slots)."""
|
|
53
105
|
log.info("check_python_version: called")
|
|
@@ -301,6 +353,9 @@ def run_health_checks(platform: Platform) -> HealthReport:
|
|
|
301
353
|
log.info("run_health_checks: starting")
|
|
302
354
|
paths = platform.paths()
|
|
303
355
|
checks: list[HealthCheckResult] = [
|
|
356
|
+
# First: if this isn't the trcc they think it is, nothing below means
|
|
357
|
+
# anything.
|
|
358
|
+
check_install_integrity(),
|
|
304
359
|
check_python_version(platform),
|
|
305
360
|
check_log_writable(paths),
|
|
306
361
|
check_config_writable(paths),
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"""Install integrity — which trcc is actually running, and is it the one
|
|
2
|
+
the user thinks?
|
|
3
|
+
|
|
4
|
+
Every field here exists because a real issue was unanswerable without it:
|
|
5
|
+
|
|
6
|
+
* **version / source_version / bytecode_stale** — a stale ``.pyc`` served
|
|
7
|
+
``9.9.9`` from a file that read ``9.8.8``. Python's timestamp check
|
|
8
|
+
compares source mtime+size against the values baked into the ``.pyc``;
|
|
9
|
+
a rewrite that preserves both (same-length version strings do) leaves
|
|
10
|
+
the cache authoritative and wrong, silently, forever.
|
|
11
|
+
* **executables / duplicates** — ``shutil.which`` returns the FIRST match.
|
|
12
|
+
Two ``trcc`` on PATH pointing at two interpreters is the commonest cause
|
|
13
|
+
of "I upgraded and nothing changed" (#175: six weeks on v9.7.0 while
|
|
14
|
+
installing 9.8.3 repeatedly; #220: three releases behind on "latest").
|
|
15
|
+
* **installer** — the ``INSTALLER`` file pip writes is the only honest
|
|
16
|
+
answer. The old per-OS heuristics guessed from PATH and were wrong for
|
|
17
|
+
rpm / deb / venv / source checkouts alike.
|
|
18
|
+
|
|
19
|
+
Deliberately dependency-free (stdlib only) and side-effect-free: it is the
|
|
20
|
+
first thing a broken install runs, so it must not need a working App.
|
|
21
|
+
"""
|
|
22
|
+
from __future__ import annotations
|
|
23
|
+
|
|
24
|
+
import logging
|
|
25
|
+
import os
|
|
26
|
+
import re
|
|
27
|
+
import sys
|
|
28
|
+
from dataclasses import dataclass
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
31
|
+
log = logging.getLogger(__name__)
|
|
32
|
+
|
|
33
|
+
# `__version__ = "9.8.8"` — matched against the SOURCE text, never exec'd.
|
|
34
|
+
_VERSION_RE = re.compile(r"""^__version__\s*=\s*['"]([^'"]+)['"]""", re.MULTILINE)
|
|
35
|
+
|
|
36
|
+
_UNKNOWN = "unknown"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@dataclass(frozen=True, slots=True)
|
|
40
|
+
class Executable:
|
|
41
|
+
"""One ``trcc`` found on PATH, and the interpreter it runs under."""
|
|
42
|
+
|
|
43
|
+
path: Path
|
|
44
|
+
interpreter: str = _UNKNOWN
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass(frozen=True, slots=True)
|
|
48
|
+
class InstallInfo:
|
|
49
|
+
"""Everything needed to answer "which trcc is this?"."""
|
|
50
|
+
|
|
51
|
+
version: str
|
|
52
|
+
source_version: str
|
|
53
|
+
module_path: Path | None
|
|
54
|
+
interpreter: str
|
|
55
|
+
python: str
|
|
56
|
+
installer: str
|
|
57
|
+
executables: tuple[Executable, ...] = ()
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def bytecode_stale(self) -> bool:
|
|
61
|
+
"""Imported version disagrees with its own source file.
|
|
62
|
+
|
|
63
|
+
Means Python is serving a cached ``.pyc`` that no longer matches
|
|
64
|
+
the code on disk — so every claim about "what version is this" is
|
|
65
|
+
untrustworthy until the cache is cleared.
|
|
66
|
+
"""
|
|
67
|
+
return (
|
|
68
|
+
self.source_version != _UNKNOWN
|
|
69
|
+
and self.version != self.source_version
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def duplicates(self) -> bool:
|
|
74
|
+
"""More than one ``trcc`` on PATH — an upgrade can land on either."""
|
|
75
|
+
return len(self.executables) > 1
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def healthy(self) -> bool:
|
|
79
|
+
return not self.bytecode_stale and not self.duplicates
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _read_source_version(module_path: Path | None) -> str:
|
|
83
|
+
"""Parse ``__version__`` out of the package's own ``__version__.py``.
|
|
84
|
+
|
|
85
|
+
Text-parsed rather than imported: importing would hit the very bytecode
|
|
86
|
+
cache we are trying to check, and would always agree with itself.
|
|
87
|
+
"""
|
|
88
|
+
if module_path is None:
|
|
89
|
+
return _UNKNOWN
|
|
90
|
+
source = module_path / "__version__.py"
|
|
91
|
+
try:
|
|
92
|
+
text = source.read_text(encoding="utf-8")
|
|
93
|
+
except OSError as e:
|
|
94
|
+
log.debug("_read_source_version: cannot read %s: %s", source, e)
|
|
95
|
+
return _UNKNOWN
|
|
96
|
+
m = _VERSION_RE.search(text)
|
|
97
|
+
if m is None:
|
|
98
|
+
log.warning("_read_source_version: no __version__ assignment in %s", source)
|
|
99
|
+
return _UNKNOWN
|
|
100
|
+
log.debug("_read_source_version: %s → %s", source, m.group(1))
|
|
101
|
+
return m.group(1)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def _shebang_interpreter(path: Path) -> str:
|
|
105
|
+
"""The interpreter a console script runs under, from its shebang."""
|
|
106
|
+
try:
|
|
107
|
+
with path.open("rb") as fh:
|
|
108
|
+
first = fh.readline(256)
|
|
109
|
+
except OSError as e:
|
|
110
|
+
log.debug("_shebang_interpreter: cannot read %s: %s", path, e)
|
|
111
|
+
return _UNKNOWN
|
|
112
|
+
if not first.startswith(b"#!"):
|
|
113
|
+
return _UNKNOWN
|
|
114
|
+
return first[2:].decode("utf-8", "replace").strip()
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def _find_executables(name: str = "trcc") -> tuple[Executable, ...]:
|
|
118
|
+
"""Every ``name`` on PATH — not just the first.
|
|
119
|
+
|
|
120
|
+
``shutil.which`` stops at the first hit, which is precisely what hides a
|
|
121
|
+
duplicate install from the person trying to debug one.
|
|
122
|
+
"""
|
|
123
|
+
exts = [""]
|
|
124
|
+
if os.name == "nt":
|
|
125
|
+
exts = [e.lower() for e in os.environ.get("PATHEXT", ".EXE").split(os.pathsep)]
|
|
126
|
+
found: list[Executable] = []
|
|
127
|
+
seen: set[Path] = set()
|
|
128
|
+
for entry in os.environ.get("PATH", "").split(os.pathsep):
|
|
129
|
+
if not entry:
|
|
130
|
+
continue
|
|
131
|
+
for ext in exts:
|
|
132
|
+
candidate = Path(entry) / f"{name}{ext}"
|
|
133
|
+
try:
|
|
134
|
+
resolved = candidate.resolve()
|
|
135
|
+
usable = candidate.is_file() and os.access(candidate, os.X_OK)
|
|
136
|
+
except OSError:
|
|
137
|
+
continue
|
|
138
|
+
if not usable or resolved in seen:
|
|
139
|
+
continue
|
|
140
|
+
seen.add(resolved)
|
|
141
|
+
found.append(Executable(candidate, _shebang_interpreter(candidate)))
|
|
142
|
+
log.debug("_find_executables: %d %r on PATH", len(found), name)
|
|
143
|
+
return tuple(found)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def detect_installer() -> str:
|
|
147
|
+
"""How this package got here — ``INSTALLER`` metadata over guesswork.
|
|
148
|
+
|
|
149
|
+
Supersedes the per-OS "is trcc on PATH? then pip" heuristics, which
|
|
150
|
+
answered "pip" for rpm, deb, venv and source checkouts alike.
|
|
151
|
+
"""
|
|
152
|
+
if getattr(sys, "frozen", False):
|
|
153
|
+
return "pyinstaller"
|
|
154
|
+
if "pipx" in sys.prefix:
|
|
155
|
+
return "pipx"
|
|
156
|
+
try:
|
|
157
|
+
from importlib.metadata import PackageNotFoundError, distribution
|
|
158
|
+
try:
|
|
159
|
+
installer = (distribution("trcc-linux").read_text("INSTALLER") or "").strip()
|
|
160
|
+
except PackageNotFoundError:
|
|
161
|
+
log.debug("detect_installer: trcc-linux has no distribution metadata")
|
|
162
|
+
return "source"
|
|
163
|
+
except (OSError, ImportError) as e:
|
|
164
|
+
log.debug("detect_installer: metadata unavailable: %s", e)
|
|
165
|
+
return _UNKNOWN
|
|
166
|
+
if installer:
|
|
167
|
+
log.debug("detect_installer: INSTALLER=%s", installer)
|
|
168
|
+
return installer
|
|
169
|
+
# Installed as a distribution but nobody claimed it — a distro package
|
|
170
|
+
# manager (rpm/deb/pacman) drops the dist-info without an INSTALLER file.
|
|
171
|
+
return "package"
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def collect_install_info() -> InstallInfo:
|
|
175
|
+
"""Gather the running install's identity. Never raises."""
|
|
176
|
+
log.info("collect_install_info: called")
|
|
177
|
+
import trcc
|
|
178
|
+
|
|
179
|
+
module_file = getattr(trcc, "__file__", None)
|
|
180
|
+
module_path = Path(module_file).parent if module_file else None
|
|
181
|
+
info = InstallInfo(
|
|
182
|
+
version=trcc.__version__,
|
|
183
|
+
source_version=_read_source_version(module_path),
|
|
184
|
+
module_path=module_path,
|
|
185
|
+
interpreter=sys.executable,
|
|
186
|
+
python=f"{sys.version_info.major}.{sys.version_info.minor}."
|
|
187
|
+
f"{sys.version_info.micro}",
|
|
188
|
+
installer=detect_installer(),
|
|
189
|
+
executables=_find_executables(),
|
|
190
|
+
)
|
|
191
|
+
if info.bytecode_stale:
|
|
192
|
+
log.warning(
|
|
193
|
+
"collect_install_info: STALE BYTECODE — imported %s but %s says %s; "
|
|
194
|
+
"clear __pycache__",
|
|
195
|
+
info.version, module_path, info.source_version,
|
|
196
|
+
)
|
|
197
|
+
if info.duplicates:
|
|
198
|
+
log.warning(
|
|
199
|
+
"collect_install_info: %d trcc on PATH (%s) — an upgrade may land "
|
|
200
|
+
"on one and leave the other running",
|
|
201
|
+
len(info.executables),
|
|
202
|
+
", ".join(str(e.path) for e in info.executables),
|
|
203
|
+
)
|
|
204
|
+
log.info("collect_install_info: %s via %s (%s)",
|
|
205
|
+
info.version, info.installer, info.interpreter)
|
|
206
|
+
return info
|
|
@@ -179,11 +179,18 @@ class BSDPlatform(Platform):
|
|
|
179
179
|
return "FreeBSD" if "freebsd" in sys.platform else "BSD"
|
|
180
180
|
|
|
181
181
|
def install_method(self) -> str:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
"""How this package got here — delegated to the one honest detector.
|
|
183
|
+
|
|
184
|
+
Was a per-OS guess: this returned "source" for every pip install
|
|
185
|
+
(and Linux returned "pip" whenever `trcc` was merely on PATH, so
|
|
186
|
+
rpm/deb/venv/source checkouts all reported "pip"). The reading of
|
|
187
|
+
`INSTALLER` metadata is OS-agnostic, so there is nothing per-OS to
|
|
188
|
+
implement — see adapters/diagnostics/install.detect_installer.
|
|
189
|
+
"""
|
|
190
|
+
from ..diagnostics.install import detect_installer
|
|
191
|
+
method = detect_installer()
|
|
192
|
+
log.info("install_method: %s", method)
|
|
193
|
+
return method
|
|
187
194
|
|
|
188
195
|
# ── Per-OS diagnostic hints (pkg) ─────────────────────────────────
|
|
189
196
|
|
|
@@ -526,20 +526,18 @@ class LinuxPlatform(Platform):
|
|
|
526
526
|
return "Linux"
|
|
527
527
|
|
|
528
528
|
def install_method(self) -> str:
|
|
529
|
-
"""
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
log.info("LinuxPlatform.install_method → source")
|
|
542
|
-
return "source"
|
|
529
|
+
"""How this package got here — delegated to the one honest detector.
|
|
530
|
+
|
|
531
|
+
Was a per-OS guess: this returned "source" for every pip install
|
|
532
|
+
(and Linux returned "pip" whenever `trcc` was merely on PATH, so
|
|
533
|
+
rpm/deb/venv/source checkouts all reported "pip"). The reading of
|
|
534
|
+
`INSTALLER` metadata is OS-agnostic, so there is nothing per-OS to
|
|
535
|
+
implement — see adapters/diagnostics/install.detect_installer.
|
|
536
|
+
"""
|
|
537
|
+
from ..diagnostics.install import detect_installer
|
|
538
|
+
method = detect_installer()
|
|
539
|
+
log.info("install_method: %s", method)
|
|
540
|
+
return method
|
|
543
541
|
|
|
544
542
|
# ── Per-OS diagnostic hints (distro package manager) ──────────────
|
|
545
543
|
|
|
@@ -187,11 +187,18 @@ class MacOSPlatform(Platform):
|
|
|
187
187
|
return "macOS"
|
|
188
188
|
|
|
189
189
|
def install_method(self) -> str:
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
190
|
+
"""How this package got here — delegated to the one honest detector.
|
|
191
|
+
|
|
192
|
+
Was a per-OS guess: this returned "source" for every pip install
|
|
193
|
+
(and Linux returned "pip" whenever `trcc` was merely on PATH, so
|
|
194
|
+
rpm/deb/venv/source checkouts all reported "pip"). The reading of
|
|
195
|
+
`INSTALLER` metadata is OS-agnostic, so there is nothing per-OS to
|
|
196
|
+
implement — see adapters/diagnostics/install.detect_installer.
|
|
197
|
+
"""
|
|
198
|
+
from ..diagnostics.install import detect_installer
|
|
199
|
+
method = detect_installer()
|
|
200
|
+
log.info("install_method: %s", method)
|
|
201
|
+
return method
|
|
195
202
|
|
|
196
203
|
# ── Per-OS diagnostic hints (Homebrew) ────────────────────────────
|
|
197
204
|
|
|
@@ -467,11 +467,18 @@ class WindowsPlatform(Platform):
|
|
|
467
467
|
return "Windows"
|
|
468
468
|
|
|
469
469
|
def install_method(self) -> str:
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
470
|
+
"""How this package got here — delegated to the one honest detector.
|
|
471
|
+
|
|
472
|
+
Was a per-OS guess: this returned "source" for every pip install
|
|
473
|
+
(and Linux returned "pip" whenever `trcc` was merely on PATH, so
|
|
474
|
+
rpm/deb/venv/source checkouts all reported "pip"). The reading of
|
|
475
|
+
`INSTALLER` metadata is OS-agnostic, so there is nothing per-OS to
|
|
476
|
+
implement — see adapters/diagnostics/install.detect_installer.
|
|
477
|
+
"""
|
|
478
|
+
from ..diagnostics.install import detect_installer
|
|
479
|
+
method = detect_installer()
|
|
480
|
+
log.info("install_method: %s", method)
|
|
481
|
+
return method
|
|
475
482
|
|
|
476
483
|
# ── Per-OS diagnostic hints (winget / WinUSB) ─────────────────────
|
|
477
484
|
|
|
@@ -7,6 +7,7 @@ Holds one Platform (the OS), one dict of live Devices keyed by their
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
9
|
import logging
|
|
10
|
+
from collections.abc import Callable
|
|
10
11
|
from contextlib import AbstractContextManager, nullcontext
|
|
11
12
|
from pathlib import Path
|
|
12
13
|
from typing import Any, TypeVar
|
|
@@ -608,6 +609,46 @@ class App:
|
|
|
608
609
|
return nullcontext()
|
|
609
610
|
return sender.exclusive()
|
|
610
611
|
|
|
612
|
+
# ── Coldplug ──────────────────────────────────────────────────────
|
|
613
|
+
|
|
614
|
+
def discover_and_connect(
|
|
615
|
+
self, on_progress: Callable[[str], None] | None = None,
|
|
616
|
+
) -> None:
|
|
617
|
+
"""Coldplug: discover attached devices and connect each.
|
|
618
|
+
|
|
619
|
+
Dispatches ``DiscoverDevices`` (enumerate the registry against live
|
|
620
|
+
USB), then ``ConnectDevice(key=…)`` per product (attach transport +
|
|
621
|
+
handshake). Only the connect step populates ``self.devices``, which
|
|
622
|
+
every UI's sidebar / device picker reads — without this loop a
|
|
623
|
+
long-lived UI starts empty and every device-keyed dispatch errors with
|
|
624
|
+
"Not attached: vid:pid". Long-lived UIs (gui / qtgui) call this once
|
|
625
|
+
on startup; ``start_hotplug`` handles live changes afterwards; one-shot
|
|
626
|
+
CLI scripts skip it. ``on_progress`` receives a human string per step
|
|
627
|
+
(splash display); connect *failures* are logged + recorded on the App
|
|
628
|
+
model (queried via ``DeviceConnectionIssues``), never raised.
|
|
629
|
+
"""
|
|
630
|
+
from .core.commands import ConnectDevice, DiscoverDevices
|
|
631
|
+
|
|
632
|
+
def _say(message: str) -> None:
|
|
633
|
+
if on_progress is not None:
|
|
634
|
+
on_progress(message)
|
|
635
|
+
|
|
636
|
+
log.info("discover_and_connect: starting coldplug")
|
|
637
|
+
_say("Discovering devices…")
|
|
638
|
+
result = self.dispatch(DiscoverDevices())
|
|
639
|
+
for product in result.products:
|
|
640
|
+
_say(f"Connecting {product.vendor} {product.product}…")
|
|
641
|
+
connect = self.dispatch(ConnectDevice(key=product.key))
|
|
642
|
+
if not connect.ok:
|
|
643
|
+
log.warning(
|
|
644
|
+
"discover_and_connect: connect %s failed: %s",
|
|
645
|
+
product.key, connect.message,
|
|
646
|
+
)
|
|
647
|
+
log.info(
|
|
648
|
+
"discover_and_connect: %d product(s) discovered, %d attached",
|
|
649
|
+
len(result.products), len(self.devices),
|
|
650
|
+
)
|
|
651
|
+
|
|
611
652
|
# ── Hotplug ───────────────────────────────────────────────────────
|
|
612
653
|
|
|
613
654
|
def start_hotplug(self) -> None:
|
|
@@ -517,9 +517,12 @@ class CheckForUpdate(Command[UpdateCheckResult]):
|
|
|
517
517
|
"""
|
|
518
518
|
|
|
519
519
|
def execute(self, app: App) -> UpdateCheckResult:
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
520
|
+
# `trcc/__init__` rebinds the name `__version__` from the submodule to
|
|
521
|
+
# the version STRING, so this import yields a str, not a module. The
|
|
522
|
+
# old `getattr(mod, "__version__", "0.0.0")` therefore always fell
|
|
523
|
+
# through to "0.0.0" and told every user, on every release, that an
|
|
524
|
+
# update was available — including users already on the newest one.
|
|
525
|
+
from ... import __version__ as local
|
|
523
526
|
try:
|
|
524
527
|
latest = app.github_releases.latest()
|
|
525
528
|
except HttpFetchError as e:
|