trcc-linux 9.6.1__tar.gz → 9.6.2__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.6.1 → trcc_linux-9.6.2}/PKG-INFO +2 -1
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/pyproject.toml +9 -1
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__version__.py +1 -1
- trcc_linux-9.6.2/src/trcc/adapters/device/_pyusb_find.py +46 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/_usb_bot_scsi.py +3 -2
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/_usb_helpers.py +6 -4
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/detector.py +2 -2
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/hid.py +3 -2
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/detector.py +2 -2
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/diagnostics.py +28 -6
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/ports.py +58 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/trcc.py +45 -100
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/daemon.py +2 -1
- trcc_linux-9.6.2/src/trcc/services/metrics_loop.py +181 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/__init__.py +0 -16
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/led.py +5 -8
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/__init__.py +2 -1
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/.gitignore +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/LICENSE +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/README.md +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__main__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/_boot.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/_entry.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bulk.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bulk_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/factory.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/frame.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/hid_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led_kvm.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/ly.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/ly_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/scsi_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/binary_reader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/data_repository.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_parser.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_writer.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/debug_report.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/doctor.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/logging_setup.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/media_player.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/network.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/theme_cloud.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/theme_downloader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/factory_render.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/qt.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_base.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_shared.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_windows_wmi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/bsd_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/linux_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/linux_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/hardware.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/hid_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_extra.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_ipc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_plist.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/smc_client.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/smc_ismc_tables.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/enumerator.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/_base.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/hwinfo.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/lhm.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/msacpi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/MSYH.TTC +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/README.md +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/app.ico +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_128x128.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_16x16.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_24x24.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_256x256.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_32x32.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_48x48.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_64x64.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/trcc-linux.desktop +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/trcc-quirk-fix.service +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/conf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_command.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_device_commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_logging.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/builder.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/color.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/control_center_commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/base.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/factory.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd_persistence.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd_theme_workflow.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/registry.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/encoding.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/events.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/i18n.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/io.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/lcd_commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/led_commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/led_segment.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/macos_app_bundle_launch.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/api.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/constants.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/os.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/overlay.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/sensor.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/paths.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/perf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/results.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/trcc_proxy.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/wire.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/data/trcc_usb.te +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/install/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/install/gui.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ipc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/__main__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/bulk_lcd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/hid_lcd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/ly_lcd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/scsi_lcd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/transport.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/usb_bot_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/render/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/render/qt.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/aggregator.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/gpu_detect.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/hwmon.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/nvml.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/psutil_sources.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_devd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_macos_setup.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_udev.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_winusb.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/bsd.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/linux.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/macos.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/windows.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/app.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/errors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/events.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/models.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/ports.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/registry.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/results.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/_dc_reader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/led_segment.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/media.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/overlay.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/settings.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/_shared.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/devices.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/main.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/schemas.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/_ctx.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/main.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/app.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/bus_bridge.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/device_panel.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/display_panel.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/led_panel.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/audio.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display_loops.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display_pipeline.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/image.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/lcd_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led_effects.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/media.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/overlay.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/perf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme_loader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme_persistence.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/video_cache.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/control_center.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/devices.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/i18n.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/models.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/themes.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/trcc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/__main__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_connect.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_control_center.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_diag.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_i18n.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_status.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/240240.gif +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/240320.gif +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/320240.gif +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/320320.gif +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_update.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_export.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_help.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_import.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_power.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_save.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_external.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_power.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_play.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_background.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_module.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_params.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_close.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/base.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/base_handler.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/constants.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/display_mode_panels.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/eyedropper.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/lcd_handler.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/led_handler.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/metrics_mediator.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/overlay_element.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/overlay_grid.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/pipewire_capture.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/screen_capture.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/splash.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/trcc_app.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_about.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_image_cut.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_info_module.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_led_control.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_preview.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_screen_led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_system_info.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_local.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_web.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_video_cut.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/README.md +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_scsi_protocol.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/linux/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/linux/test_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/test_detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/test_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_bulk.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_factory.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_frame.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_implementations.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_led_kvm.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_ly.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/test_detector.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/test_scsi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_data_repository.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_parser.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_writer.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_debug_report.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_media_player.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_theme_cloud.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_theme_downloader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_hardware.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_hardware.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_hardware.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_extra.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_ipc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_plist.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/test_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_hardware.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_hwinfo_source.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/test_api.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/test_api_security.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_cli.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_display.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_serve.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_builder.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_builder_routing.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_color.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_descriptors_ipc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_device_isolation.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_encoding.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_geometry.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_i18n.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_io.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_lcd_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_segment.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_segment_ax120.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_models.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_paths.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_perf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_wire.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/fixtures/hwinfo/.gitkeep +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_base.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_base_panel.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_constants.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_lcd_handler.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_led_control.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_misc.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_preview.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_screen_capture.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_theme_mask.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_theme_setting.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_trcc_app.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_widgets.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/mock_platform.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_autostart.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_commands.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_dc_reader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_sensors.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_theme_service.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_transports.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_udev.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/noop_transports.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/__init__.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/conftest.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_device.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_display_integration.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_image_ansi.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led_config.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led_effects.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_media.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_overlay.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_perf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_services.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_system.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme_loader.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme_persistence.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_video_cache.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_all_devices.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_architecture.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_conf.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_cpu.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_integration.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_memory.py +0 -0
- {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_wiring.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trcc-linux
|
|
3
|
-
Version: 9.6.
|
|
3
|
+
Version: 9.6.2
|
|
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
|
|
@@ -26,6 +26,7 @@ Requires-Python: >=3.10
|
|
|
26
26
|
Requires-Dist: certifi>=2023.7.22
|
|
27
27
|
Requires-Dist: click>=7.0
|
|
28
28
|
Requires-Dist: fastapi>=0.100
|
|
29
|
+
Requires-Dist: libusb-package>=1.0.26.3; sys_platform == 'win32' and python_version < '3.14'
|
|
29
30
|
Requires-Dist: numpy>=1.24.0
|
|
30
31
|
Requires-Dist: prompt-toolkit>=3.0.0
|
|
31
32
|
Requires-Dist: psutil>=5.9.0
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "trcc-linux"
|
|
7
|
-
version = "9.6.
|
|
7
|
+
version = "9.6.2"
|
|
8
8
|
description = "Linux implementation of Thermalright LCD Control Center"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "GPL-3.0-or-later"
|
|
@@ -33,6 +33,14 @@ dependencies = [
|
|
|
33
33
|
"numpy>=1.24.0",
|
|
34
34
|
"psutil>=5.9.0",
|
|
35
35
|
"pyusb>=1.2.0",
|
|
36
|
+
# libusb-package bundles libusb-1.0.dll on Windows so pip-installed
|
|
37
|
+
# users get a working pyusb backend out of the box. Pyocd's canonical
|
|
38
|
+
# pattern (#131 — usb.core.NoBackendError on pip-install Windows).
|
|
39
|
+
# Pinned for Windows + Python <3.14 because upstream wheels only go
|
|
40
|
+
# to cp313 (verified PyPI 2026-05-14); pip install of trcc-linux on
|
|
41
|
+
# Python 3.14 Windows would otherwise fail at sdist build. Lift the
|
|
42
|
+
# python_version cap once libusb-package ships a cp314 wheel.
|
|
43
|
+
"libusb-package>=1.0.26.3; sys_platform == 'win32' and python_version < '3.14'",
|
|
36
44
|
"click>=7.0",
|
|
37
45
|
"typer>=0.9.0",
|
|
38
46
|
"fastapi>=0.100",
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""PyUSB find() wrapper — uses libusb_package's bundled backend on Windows.
|
|
2
|
+
|
|
3
|
+
PyUSB needs ``libusb-1.0`` userspace to talk to USB devices. On Linux and
|
|
4
|
+
macOS the system package manager ships it. On Windows there is no system
|
|
5
|
+
libusb — pip-installed users hit ``usb.core.NoBackendError: No backend
|
|
6
|
+
available`` (issue #131, lallemandgianni-boop on Windows 11 v9.6.1).
|
|
7
|
+
|
|
8
|
+
The canonical fix is `libusb-package <https://github.com/pyocd/libusb-package>`_
|
|
9
|
+
(pyocd's project) — a Windows wheel that bundles ``libusb-1.0.dll`` and
|
|
10
|
+
exposes ``find()`` as a drop-in for ``usb.core.find()``. pyproject.toml
|
|
11
|
+
adds it as a Windows-only dependency::
|
|
12
|
+
|
|
13
|
+
libusb-package>=1.0.26.2; sys_platform == 'win32'
|
|
14
|
+
|
|
15
|
+
This module exports a single :func:`find` shim that uses
|
|
16
|
+
``libusb_package.find`` when available (Windows wheel installed) and
|
|
17
|
+
falls back to ``usb.core.find`` otherwise (Linux/macOS users with system
|
|
18
|
+
libusb, or anyone who installed the optional wheel themselves). Every
|
|
19
|
+
``usb.core.find`` call site in ``trcc.adapters.device`` goes through
|
|
20
|
+
this seam so there's exactly one place that knows about the Windows
|
|
21
|
+
quirk.
|
|
22
|
+
"""
|
|
23
|
+
from __future__ import annotations
|
|
24
|
+
|
|
25
|
+
import logging
|
|
26
|
+
from typing import Any
|
|
27
|
+
|
|
28
|
+
log = logging.getLogger(__name__)
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
from libusb_package import find as _find # type: ignore[import-not-found]
|
|
32
|
+
log.debug("pyusb backend: libusb-package (bundled libusb-1.0)")
|
|
33
|
+
except ImportError:
|
|
34
|
+
from usb.core import find as _find # type: ignore[no-redef]
|
|
35
|
+
log.debug("pyusb backend: system libusb via usb.core.find")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def find(*args: Any, **kwargs: Any) -> Any:
|
|
39
|
+
"""Drop-in for ``usb.core.find()`` with Windows-compatible backend.
|
|
40
|
+
|
|
41
|
+
Identical signature, identical return type. Routes through
|
|
42
|
+
``libusb_package.find`` on platforms where it's installed (Windows
|
|
43
|
+
via pip), otherwise calls ``usb.core.find`` directly (Linux, macOS,
|
|
44
|
+
or any environment where the user manages libusb themselves).
|
|
45
|
+
"""
|
|
46
|
+
return _find(*args, **kwargs)
|
|
@@ -51,8 +51,9 @@ class UsbBotScsiTransport(ScsiTransport):
|
|
|
51
51
|
def open(self) -> bool:
|
|
52
52
|
"""Find device, detach kernel driver, claim interface."""
|
|
53
53
|
try:
|
|
54
|
-
import usb.core # pyright: ignore[reportMissingImports]
|
|
55
54
|
import usb.util # pyright: ignore[reportMissingImports]
|
|
55
|
+
|
|
56
|
+
from . import _pyusb_find
|
|
56
57
|
except ImportError:
|
|
57
58
|
log.error(self._pyusb_install_hint)
|
|
58
59
|
return False
|
|
@@ -60,7 +61,7 @@ class UsbBotScsiTransport(ScsiTransport):
|
|
|
60
61
|
kwargs: dict[str, Any] = {'idVendor': self._vid, 'idProduct': self._pid}
|
|
61
62
|
if self._usb_address is not None:
|
|
62
63
|
kwargs['custom_match'] = self._usb_address.matches
|
|
63
|
-
dev: Any =
|
|
64
|
+
dev: Any = _pyusb_find.find(**kwargs)
|
|
64
65
|
if dev is None:
|
|
65
66
|
where = f" @ {self._usb_address}" if self._usb_address else ""
|
|
66
67
|
log.error("Device %04X:%04X%s not found", self._vid, self._pid, where)
|
|
@@ -109,11 +109,11 @@ def _detach_kernel_drivers(dev: Any, count: int = 4) -> bool:
|
|
|
109
109
|
|
|
110
110
|
def _reset_and_refind(dev: Any, vid: int, pid: int) -> Any:
|
|
111
111
|
"""Reset USB device, wait, re-find, detach drivers. Returns new handle."""
|
|
112
|
-
|
|
112
|
+
from . import _pyusb_find
|
|
113
113
|
|
|
114
114
|
dev.reset() # type: ignore[union-attr]
|
|
115
115
|
time.sleep(0.5)
|
|
116
|
-
new_dev =
|
|
116
|
+
new_dev = _pyusb_find.find(idVendor=vid, idProduct=pid)
|
|
117
117
|
if new_dev is None:
|
|
118
118
|
raise RuntimeError(_ERR_NOT_FOUND.format(vid=vid, pid=pid))
|
|
119
119
|
_detach_kernel_drivers(new_dev)
|
|
@@ -145,13 +145,15 @@ def open_usb_device(
|
|
|
145
145
|
RuntimeError: Device not found, or kernel driver could not be detached.
|
|
146
146
|
usb.core.USBError: Permission denied (errno 13).
|
|
147
147
|
"""
|
|
148
|
-
import usb.core # type: ignore[import-untyped]
|
|
148
|
+
import usb.core # type: ignore[import-untyped] # for USBError below
|
|
149
149
|
import usb.util # type: ignore[import-untyped]
|
|
150
150
|
|
|
151
|
+
from . import _pyusb_find
|
|
152
|
+
|
|
151
153
|
kwargs: dict[str, Any] = {'idVendor': vid, 'idProduct': pid}
|
|
152
154
|
if usb_address is not None:
|
|
153
155
|
kwargs['custom_match'] = usb_address.matches
|
|
154
|
-
dev =
|
|
156
|
+
dev = _pyusb_find.find(**kwargs)
|
|
155
157
|
if dev is None:
|
|
156
158
|
where = f" @ {usb_address}" if usb_address else ""
|
|
157
159
|
raise RuntimeError(_ERR_NOT_FOUND.format(vid=vid, pid=pid) + where)
|
|
@@ -85,7 +85,7 @@ class DeviceDetector:
|
|
|
85
85
|
def _detect(scsi_resolver: ScsiResolver | None) -> list[DetectedDevice]:
|
|
86
86
|
"""Core detection via pyusb with injected SCSI resolver."""
|
|
87
87
|
try:
|
|
88
|
-
|
|
88
|
+
from . import _pyusb_find
|
|
89
89
|
except ImportError:
|
|
90
90
|
log.error("pyusb not installed — pip install pyusb")
|
|
91
91
|
return []
|
|
@@ -95,7 +95,7 @@ class DeviceDetector:
|
|
|
95
95
|
# find_all=True yields every match; `or ()` handles None when
|
|
96
96
|
# no devices are present, so two same-VID/PID coolers each
|
|
97
97
|
# produce their own DetectedDevice (issue #128).
|
|
98
|
-
for usb_dev in (
|
|
98
|
+
for usb_dev in (_pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
|
|
99
99
|
dev: Any = usb_dev
|
|
100
100
|
usb_path = f'usb:{dev.bus}:{dev.address}'
|
|
101
101
|
scsi_dev = (
|
|
@@ -37,6 +37,7 @@ from trcc.core.models import (
|
|
|
37
37
|
pm_to_fbl,
|
|
38
38
|
)
|
|
39
39
|
|
|
40
|
+
from . import _pyusb_find
|
|
40
41
|
from .frame import FrameDevice
|
|
41
42
|
|
|
42
43
|
# hidapi is optional ([hid] extra)
|
|
@@ -634,7 +635,7 @@ class PyUsbTransport(UsbTransport):
|
|
|
634
635
|
# idVendor/idProduct prefilter for speed.
|
|
635
636
|
kwargs['custom_match'] = self._usb_address.matches
|
|
636
637
|
|
|
637
|
-
self._device =
|
|
638
|
+
self._device = _pyusb_find.find(**kwargs) # type: ignore[union-attr]
|
|
638
639
|
if self._device is None:
|
|
639
640
|
where = f" @ {self._usb_address}" if self._usb_address else ""
|
|
640
641
|
raise RuntimeError(
|
|
@@ -888,7 +889,7 @@ def find_hid_devices() -> list:
|
|
|
888
889
|
]
|
|
889
890
|
|
|
890
891
|
for vid, pid, dtype in known:
|
|
891
|
-
found =
|
|
892
|
+
found = _pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid)
|
|
892
893
|
for dev in found or []:
|
|
893
894
|
serial_idx = getattr(dev, 'iSerialNumber', 0)
|
|
894
895
|
serial = usb.util.get_string(dev, serial_idx) if serial_idx else ""
|
|
@@ -35,7 +35,7 @@ class MacOSDeviceDetector:
|
|
|
35
35
|
devices: list[DetectedDevice] = []
|
|
36
36
|
|
|
37
37
|
try:
|
|
38
|
-
|
|
38
|
+
from .. import _pyusb_find
|
|
39
39
|
except ImportError:
|
|
40
40
|
log.error("pyusb not installed — pip install pyusb")
|
|
41
41
|
return []
|
|
@@ -60,7 +60,7 @@ class MacOSDeviceDetector:
|
|
|
60
60
|
for registry, protocol, device_type in all_registries:
|
|
61
61
|
for (vid, pid), entry in registry.items():
|
|
62
62
|
# find_all=True so two same-VID/PID coolers both surface (issue #128).
|
|
63
|
-
for usb_dev in (
|
|
63
|
+
for usb_dev in (_pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
|
|
64
64
|
dev: Any = usb_dev
|
|
65
65
|
impl = 'hid_led' if registry is _LED_DEVICES else entry.implementation
|
|
66
66
|
dt = device_type if device_type is not None else getattr(entry, 'device_type', 2)
|
|
@@ -226,6 +226,18 @@ _INSTALL_MAP: dict[str, dict[str, str]] = {
|
|
|
226
226
|
'pacman': 'python-hid',
|
|
227
227
|
'zypper': 'python3-hidapi',
|
|
228
228
|
},
|
|
229
|
+
'nvidia-ml-py': {
|
|
230
|
+
# Distro names lag PyPI — pyproject pins `nvidia-ml-py>=11.0.0` but
|
|
231
|
+
# Debian/Fedora repos still ship the legacy `pynvml`-prefixed alias
|
|
232
|
+
# (same upstream code, exposes the `pynvml` module). Arch ships the
|
|
233
|
+
# official current name. Reflected in packaging/arch/PKGBUILD +
|
|
234
|
+
# release.yml Recommends/optdepend so doctor + packagers agree.
|
|
235
|
+
'apt': 'python3-pynvml',
|
|
236
|
+
'dnf': 'python3-pynvml',
|
|
237
|
+
'pacman': 'python-nvidia-ml-py',
|
|
238
|
+
'zypper': 'python3-nvidia-ml-py',
|
|
239
|
+
'rpm-ostree': 'python3-pynvml',
|
|
240
|
+
},
|
|
229
241
|
}
|
|
230
242
|
|
|
231
243
|
_INSTALL_CMD: dict[str, str] = {
|
|
@@ -406,8 +418,8 @@ def _check_library(
|
|
|
406
418
|
return True
|
|
407
419
|
|
|
408
420
|
|
|
409
|
-
def _check_gpu_packages() -> None:
|
|
410
|
-
if not (results := check_gpu()):
|
|
421
|
+
def _check_gpu_packages(pm: str | None = None) -> None:
|
|
422
|
+
if not (results := check_gpu(pm)):
|
|
411
423
|
print(f" {_OPT} No discrete GPU detected")
|
|
412
424
|
return
|
|
413
425
|
for g in results:
|
|
@@ -649,8 +661,14 @@ def check_system_deps(
|
|
|
649
661
|
return results
|
|
650
662
|
|
|
651
663
|
|
|
652
|
-
def check_gpu() -> list[GpuResult]:
|
|
653
|
-
"""Detect GPU vendors and check matching packages.
|
|
664
|
+
def check_gpu(pm: str | None = None) -> list[GpuResult]:
|
|
665
|
+
"""Detect GPU vendors and check matching packages.
|
|
666
|
+
|
|
667
|
+
``pm`` is the active package manager (apt/dnf/pacman/…). When passed,
|
|
668
|
+
the NVIDIA install hint resolves to the right distro package
|
|
669
|
+
(issue #145 — `pip install nvidia-ml-py` fails on PEP 668-managed
|
|
670
|
+
Pythons like Ubuntu 24.04 / Mint 22). None → falls back to pip.
|
|
671
|
+
"""
|
|
654
672
|
from pathlib import Path # local so tests can patch pathlib.Path
|
|
655
673
|
pci_base = Path('/sys/bus/pci/devices')
|
|
656
674
|
if not pci_base.exists():
|
|
@@ -672,10 +690,14 @@ def check_gpu() -> list[GpuResult]:
|
|
|
672
690
|
results: list[GpuResult] = []
|
|
673
691
|
if '10de' in vendors:
|
|
674
692
|
ver = get_module_version('pynvml')
|
|
693
|
+
# Per-distro hint resolves to the right native package name —
|
|
694
|
+
# apt → python3-pynvml, pacman → python-nvidia-ml-py, etc.
|
|
695
|
+
# Falls back to pip when no package manager is detected.
|
|
696
|
+
hint = _install_hint('nvidia-ml-py', pm) if pm else 'pip install nvidia-ml-py'
|
|
675
697
|
results.append(GpuResult(
|
|
676
698
|
vendor='nvidia', label='NVIDIA GPU',
|
|
677
699
|
package_installed=ver is not None,
|
|
678
|
-
install_cmd=
|
|
700
|
+
install_cmd=hint,
|
|
679
701
|
))
|
|
680
702
|
if '1002' in vendors:
|
|
681
703
|
results.append(GpuResult(
|
|
@@ -842,7 +864,7 @@ def run_doctor(doctor_config: DoctorPlatformConfig | None = None) -> int:
|
|
|
842
864
|
|
|
843
865
|
if doctor_config.run_gpu_check:
|
|
844
866
|
print()
|
|
845
|
-
_check_gpu_packages()
|
|
867
|
+
_check_gpu_packages(pm)
|
|
846
868
|
|
|
847
869
|
if doctor_config.check_libusb:
|
|
848
870
|
print()
|
|
@@ -443,6 +443,49 @@ class AutostartManager(ABC):
|
|
|
443
443
|
return self.is_enabled()
|
|
444
444
|
|
|
445
445
|
|
|
446
|
+
# =========================================================================
|
|
447
|
+
# Metrics Loop ABC — the underlying command stream that ticks every device
|
|
448
|
+
# =========================================================================
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
class MetricsLoop(ABC):
|
|
452
|
+
"""Port: the per-process loop that drives device animation + sensor poll.
|
|
453
|
+
|
|
454
|
+
Owns two cadences in one mechanism:
|
|
455
|
+
* **Tick** — drive `device.tick()` for every connected device, publish
|
|
456
|
+
`Topic.FRAME` results. Fast (50ms on the polling default).
|
|
457
|
+
* **Poll** — read `system_svc.all_metrics`, push to every device's
|
|
458
|
+
`update_metrics()`, publish `Topic.METRICS`. Cadence = the user's
|
|
459
|
+
``settings.refresh_interval``.
|
|
460
|
+
|
|
461
|
+
The mechanism is OS-discretionary. Default `PollingMetricsLoop` is a
|
|
462
|
+
thread-based polling loop used by every OS today. Future per-OS
|
|
463
|
+
overrides can switch to native event sources (WMI events on Windows,
|
|
464
|
+
IOReportSubscribe on macOS) without changing the contract.
|
|
465
|
+
|
|
466
|
+
Concrete implementations:
|
|
467
|
+
- PollingMetricsLoop (services/metrics_loop.py)
|
|
468
|
+
- NullMetricsLoop (services/metrics_loop.py) — for tests + proxy clients
|
|
469
|
+
"""
|
|
470
|
+
|
|
471
|
+
@abstractmethod
|
|
472
|
+
def start(self) -> None:
|
|
473
|
+
"""Begin ticking + polling. Idempotent — safe to call when running."""
|
|
474
|
+
|
|
475
|
+
@abstractmethod
|
|
476
|
+
def stop(self) -> None:
|
|
477
|
+
"""Stop the loop and release any threads. Idempotent."""
|
|
478
|
+
|
|
479
|
+
@abstractmethod
|
|
480
|
+
def wake(self) -> None:
|
|
481
|
+
"""Force an immediate poll iteration (used after settings changes)."""
|
|
482
|
+
|
|
483
|
+
@property
|
|
484
|
+
@abstractmethod
|
|
485
|
+
def is_running(self) -> bool:
|
|
486
|
+
"""True iff the loop is currently active."""
|
|
487
|
+
|
|
488
|
+
|
|
446
489
|
# =========================================================================
|
|
447
490
|
# Platform ABC — OS foundation, drop in an OS so devices can speak to it
|
|
448
491
|
# =========================================================================
|
|
@@ -599,6 +642,21 @@ class Platform(ABC):
|
|
|
599
642
|
"""
|
|
600
643
|
del on_suspend, on_resume # default: no-op stub, subclasses override
|
|
601
644
|
|
|
645
|
+
def build_metrics_loop(self, trcc: Any) -> MetricsLoop:
|
|
646
|
+
"""Construct the OS-appropriate `MetricsLoop` for this host.
|
|
647
|
+
|
|
648
|
+
Default returns a thread-based `PollingMetricsLoop` — works on
|
|
649
|
+
every OS today. Override per-OS for native event sources
|
|
650
|
+
(e.g. WindowsPlatform → WMI events, MacOSPlatform → IOReport).
|
|
651
|
+
Devices stay thin: they consume `update_metrics()` calls without
|
|
652
|
+
caring which mechanism produced them.
|
|
653
|
+
|
|
654
|
+
``trcc`` is the host whose ``lcd_devices`` / ``led_devices`` /
|
|
655
|
+
``events`` / ``settings`` / ``system_svc`` the loop reads.
|
|
656
|
+
"""
|
|
657
|
+
from ..services.metrics_loop import PollingMetricsLoop
|
|
658
|
+
return PollingMetricsLoop(trcc)
|
|
659
|
+
|
|
602
660
|
def resolve_assets_dir(self, pkg_assets_dir: Any) -> Any:
|
|
603
661
|
"""Resolve GUI assets directory. Non-Linux copies to user dir."""
|
|
604
662
|
return pkg_assets_dir
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
The one class every UI talks to. Composes LCDCommands, LEDCommands,
|
|
4
4
|
ControlCenterCommands, and an EventBus. Holds discovered devices.
|
|
5
|
-
Owns
|
|
5
|
+
Owns lifecycle for the injected `MetricsLoop` (started by `discover`,
|
|
6
|
+
stopped by `cleanup` and OS suspend), data extraction pipeline, and
|
|
7
|
+
hotplug.
|
|
6
8
|
|
|
7
9
|
Parity rule: every method reachable from one UI is reachable from all
|
|
8
10
|
three. No shortcuts, no UI-specific extensions. See TRCC_CONTRACT.md.
|
|
@@ -45,13 +47,10 @@ if TYPE_CHECKING:
|
|
|
45
47
|
from .device.lcd import LCDDevice
|
|
46
48
|
from .device.led import LEDDevice
|
|
47
49
|
from .models import DetectedDevice, DeviceInfo
|
|
48
|
-
from .ports import EnsureDataFn, Platform, Renderer
|
|
50
|
+
from .ports import EnsureDataFn, MetricsLoop, Platform, Renderer
|
|
49
51
|
|
|
50
52
|
log = logging.getLogger(__name__)
|
|
51
53
|
|
|
52
|
-
# Animation tick rate — 50ms gives 20 FPS for video and overlay updates.
|
|
53
|
-
_TICK_INTERVAL = 0.05
|
|
54
|
-
|
|
55
54
|
|
|
56
55
|
class Trcc:
|
|
57
56
|
"""Universal command facade and process context.
|
|
@@ -67,9 +66,8 @@ class Trcc:
|
|
|
67
66
|
__slots__ = (
|
|
68
67
|
'_current_metrics', '_download_pack_fn', '_ensure_data_fn',
|
|
69
68
|
'_lcd_devices', '_led_devices', '_list_available_fn',
|
|
70
|
-
'
|
|
71
|
-
'
|
|
72
|
-
'control_center', 'events', 'lcd', 'led',
|
|
69
|
+
'_metrics_loop', '_platform', '_renderer', '_settings',
|
|
70
|
+
'_system_svc', 'control_center', 'events', 'lcd', 'led',
|
|
73
71
|
)
|
|
74
72
|
|
|
75
73
|
def __init__(
|
|
@@ -105,16 +103,18 @@ class Trcc:
|
|
|
105
103
|
self._lcd_devices: DeviceRegistry[LCDDevice] = DeviceRegistry()
|
|
106
104
|
self._led_devices: DeviceRegistry[LEDDevice] = DeviceRegistry()
|
|
107
105
|
|
|
108
|
-
self._metrics_thread: threading.Thread | None = None
|
|
109
|
-
self._metrics_stop: threading.Event = threading.Event()
|
|
110
|
-
self._metrics_wake: threading.Event = threading.Event()
|
|
111
|
-
|
|
112
106
|
self.events = EventBus()
|
|
113
107
|
self.lcd = LCDCommands(self._lcd_devices, self.events, self._settings)
|
|
114
108
|
self.led = LEDCommands(self._led_devices, self.events)
|
|
115
109
|
self.control_center = ControlCenterCommands(
|
|
116
110
|
platform, self.events, self._settings)
|
|
117
111
|
|
|
112
|
+
# The OS produces the metrics loop — fourth factory in the chain
|
|
113
|
+
# (Platform / Protocol / Device / MetricsLoop). Default is a
|
|
114
|
+
# thread-based PollingMetricsLoop; per-OS overrides plug in native
|
|
115
|
+
# event sources (WMI / IOReport) without touching Trcc.
|
|
116
|
+
self._metrics_loop: MetricsLoop = platform.build_metrics_loop(self)
|
|
117
|
+
|
|
118
118
|
# Subscribe to OS suspend/resume so a sleeping machine doesn't leave
|
|
119
119
|
# devices with stale USB handles after wake (issue #144). Platform
|
|
120
120
|
# default is a no-op; Linux uses logind's PrepareForSleep, other
|
|
@@ -343,6 +343,15 @@ class Trcc:
|
|
|
343
343
|
if ensure_data:
|
|
344
344
|
self._ensure_data_blocking()
|
|
345
345
|
|
|
346
|
+
# Start the underlying command stream now that devices are connected.
|
|
347
|
+
# Idempotent — safe across suspend/resume and hotplug. RuntimeError
|
|
348
|
+
# when SystemService is missing is tolerated so headless / smoke
|
|
349
|
+
# paths still report a successful discover.
|
|
350
|
+
try:
|
|
351
|
+
self._metrics_loop.start()
|
|
352
|
+
except RuntimeError:
|
|
353
|
+
log.warning('discover: metrics loop not started — SystemService missing')
|
|
354
|
+
|
|
346
355
|
lcd_infos = [d.device_info for d in self._lcd_devices]
|
|
347
356
|
led_infos = [d.device_info for d in self._led_devices]
|
|
348
357
|
return DiscoveryResult(
|
|
@@ -491,98 +500,33 @@ class Trcc:
|
|
|
491
500
|
"""Most recently polled metrics with temp unit applied, or None."""
|
|
492
501
|
return self._current_metrics
|
|
493
502
|
|
|
494
|
-
def
|
|
495
|
-
"""
|
|
496
|
-
|
|
497
|
-
Two cadences in one thread:
|
|
498
|
-
* **Tick** (every 50ms): advance device animation, send frames,
|
|
499
|
-
publish ``frame`` events.
|
|
500
|
-
* **Poll** (every ``settings.refresh_interval``): read sensors,
|
|
501
|
-
update every device, publish ``metrics``.
|
|
503
|
+
def set_current_metrics(self, metrics: Any) -> None:
|
|
504
|
+
"""Update the cached metrics snapshot.
|
|
502
505
|
|
|
503
|
-
|
|
504
|
-
|
|
506
|
+
Called by the injected `MetricsLoop` after every poll iteration,
|
|
507
|
+
and by :meth:`apply_temp_unit` when the user switches °C ↔ °F.
|
|
508
|
+
Public so the loop port stays decoupled from Trcc's private state.
|
|
505
509
|
"""
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
self._metrics_stop.clear()
|
|
512
|
-
sys_svc = self._system_svc
|
|
513
|
-
|
|
514
|
-
# Capture settings at loop start — bound through DI when available,
|
|
515
|
-
# falls back to the global lazily otherwise (Phase 10A.3 partial).
|
|
516
|
-
_settings = self.settings
|
|
510
|
+
self._current_metrics = metrics
|
|
511
|
+
|
|
512
|
+
@property
|
|
513
|
+
def system_svc(self) -> SystemService | None:
|
|
514
|
+
"""The injected sensor read-out service (or None if not yet set).
|
|
517
515
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
poll_interval = (
|
|
524
|
-
interval if interval is not None
|
|
525
|
-
else max(1, _settings.refresh_interval)
|
|
526
|
-
)
|
|
527
|
-
metrics_every = max(1, int(poll_interval / _TICK_INTERVAL))
|
|
528
|
-
if tick_count % metrics_every == 0:
|
|
529
|
-
try:
|
|
530
|
-
metrics = HardwareMetrics.with_temp_unit(
|
|
531
|
-
sys_svc.all_metrics, _settings.temp_unit)
|
|
532
|
-
self._current_metrics = metrics
|
|
533
|
-
for device in tuple(chain(
|
|
534
|
-
self._lcd_devices, self._led_devices,
|
|
535
|
-
)):
|
|
536
|
-
try:
|
|
537
|
-
device.update_metrics(metrics)
|
|
538
|
-
except Exception:
|
|
539
|
-
log.exception('Metrics update error')
|
|
540
|
-
self.events.publish(Topic.METRICS, metrics)
|
|
541
|
-
except Exception:
|
|
542
|
-
log.exception('Metrics poll error')
|
|
543
|
-
|
|
544
|
-
for device in tuple(self._lcd_devices):
|
|
545
|
-
path = getattr(device, 'device_path', '?') or '?'
|
|
546
|
-
try:
|
|
547
|
-
if (result := device.tick()) is not None:
|
|
548
|
-
self.events.publish(Topic.FRAME, path, result)
|
|
549
|
-
elif device.playing:
|
|
550
|
-
device.update_video_cache_text(self._current_metrics)
|
|
551
|
-
except Exception:
|
|
552
|
-
log.exception('LCD tick error: %s', path)
|
|
553
|
-
for device in tuple(self._led_devices):
|
|
554
|
-
info = device.device_info
|
|
555
|
-
path = (getattr(info, 'path', '?') if info else '?') or '?'
|
|
556
|
-
try:
|
|
557
|
-
if (result := device.tick()) is not None:
|
|
558
|
-
self.events.publish(Topic.FRAME, path, result)
|
|
559
|
-
except Exception:
|
|
560
|
-
log.exception('LED tick error: %s', path)
|
|
561
|
-
except Exception:
|
|
562
|
-
log.exception('Tick loop error')
|
|
563
|
-
tick_count += 1
|
|
564
|
-
self._metrics_wake.wait(_TICK_INTERVAL)
|
|
565
|
-
self._metrics_wake.clear()
|
|
566
|
-
|
|
567
|
-
self._metrics_thread = threading.Thread(
|
|
568
|
-
target=_loop, daemon=True, name='trcc-metrics')
|
|
569
|
-
self._metrics_thread.start()
|
|
570
|
-
log.debug('Metrics loop started (tick=%.0fms, poll=settings.refresh_interval)',
|
|
571
|
-
_TICK_INTERVAL * 1000)
|
|
572
|
-
|
|
573
|
-
def stop_metrics_loop(self) -> None:
|
|
574
|
-
"""Stop the background metrics loop. Idempotent."""
|
|
575
|
-
self._metrics_stop.set()
|
|
576
|
-
self._metrics_wake.set()
|
|
577
|
-
if self._metrics_thread and self._metrics_thread.is_alive():
|
|
578
|
-
self._metrics_thread.join(timeout=3)
|
|
579
|
-
self._metrics_thread = None
|
|
580
|
-
self._metrics_wake.clear()
|
|
581
|
-
self._metrics_stop.clear()
|
|
516
|
+
Exposed so the injected `MetricsLoop` can poll metrics without
|
|
517
|
+
reaching into Trcc's private state. Updated by
|
|
518
|
+
:meth:`set_system_service` for the test/dev fixture chain.
|
|
519
|
+
"""
|
|
520
|
+
return self._system_svc
|
|
582
521
|
|
|
583
522
|
def wake_metrics_loop(self) -> None:
|
|
584
|
-
"""
|
|
585
|
-
|
|
523
|
+
"""Force an immediate poll iteration — used after settings changes.
|
|
524
|
+
|
|
525
|
+
Delegates to the injected `MetricsLoop.wake()`. Kept as a method
|
|
526
|
+
on Trcc so callers (control center commands) don't reach into
|
|
527
|
+
the loop directly.
|
|
528
|
+
"""
|
|
529
|
+
self._metrics_loop.wake()
|
|
586
530
|
|
|
587
531
|
# ── Cross-cutting OS operations (touch every device + the loop) ──
|
|
588
532
|
|
|
@@ -651,6 +595,7 @@ class Trcc:
|
|
|
651
595
|
"""
|
|
652
596
|
from ..adapters.device.factory import DeviceProtocolFactory
|
|
653
597
|
self.events.publish(Topic.SYSTEM_SUSPENDED)
|
|
598
|
+
self._metrics_loop.stop()
|
|
654
599
|
for dev in self:
|
|
655
600
|
try:
|
|
656
601
|
dev.cleanup()
|
|
@@ -680,7 +625,7 @@ class Trcc:
|
|
|
680
625
|
close instead of reaching into ``DeviceProtocolFactory.close_all``.
|
|
681
626
|
"""
|
|
682
627
|
from ..adapters.device.factory import DeviceProtocolFactory
|
|
683
|
-
self.
|
|
628
|
+
self._metrics_loop.stop()
|
|
684
629
|
for dev in self:
|
|
685
630
|
try:
|
|
686
631
|
dev.cleanup()
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
One process per user. Built once, lives until SIGTERM/SIGINT or the
|
|
4
4
|
user runs ``trcc daemon stop``. Holds the singleton `Trcc`, discovers
|
|
5
|
-
devices, runs the
|
|
5
|
+
devices, runs the per-process `MetricsLoop` (started by
|
|
6
|
+
`Trcc.discover()` after device enumeration — issue #148), and serves
|
|
6
7
|
`Command` requests over the Unix socket through `IPCServer`.
|
|
7
8
|
|
|
8
9
|
Singleton enforcement is socket-presence: the first invocation that
|