trcc-linux 9.8.7__tar.gz → 9.8.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/PKG-INFO +8 -7
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/README.md +7 -6
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/pyproject.toml +1 -1
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/__version__.py +1 -1
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/led.py +27 -11
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/device.py +21 -10
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/geometry.py +17 -13
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/led_models.py +12 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/led_protocol.py +62 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/models.py +1 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/protocol.py +10 -4
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/led_segment.py +87 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/lcd_handler.py +49 -2
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_led_control.py +3 -1
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_screen_led.py +31 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_display.py +2 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/theme_directories.py +27 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_display_rotation.py +94 -18
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_geometry.py +13 -11
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_pm_registry.py +113 -0
- trcc_linux-9.8.8/tests/test_led_segment.py +119 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_widescreen_rotation.py +17 -3
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_theme_directories.py +58 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/.gitignore +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/LICENSE +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/__main__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/_boot.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/_entry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/_pyusb_find.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/ali_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/bulk_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/hid_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/ly_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/scsi_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/transport.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/device/usb_bot_scsi.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/adapter.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/debug_report.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/doctor.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/diagnostics/health.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/infra/logging.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/infra/network.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/infra/send_scheduler.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/infra/sysinfo_config.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/render/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/render/qt.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/repo/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/repo/data_install.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/repo/github_releases.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/repo/http.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/screencast/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/screencast/qt.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_hwinfo.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_lhm.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_macos_hid.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_msacpi.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_powermetrics.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_smc.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_sysctl.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/_wmi_gpu.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/aggregator.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/bsd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/chain.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/gpu_detect.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/hwmon.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/macos.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/nvml.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/psutil_sources.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/sensors/windows.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_autostart.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_devd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_elevate.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_hotplug.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_imc_timings.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_macos_setup.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_selinux.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_udev.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_windows_wmi.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/_winusb.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/bsd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/linux.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/macos.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/spd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/system/windows.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/theme/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/adapters/theme/cloud.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/app.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/fonts/MSYH.TTC +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/fonts/README.md +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/app.ico +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_128x128.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_16x16.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_24x24.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_256x256.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_32x32.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_48x48.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/icons/trcc_64x64.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/trcc-imc +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/trcc-linux.desktop +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/assets/trcc-quirk-fix.service +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/_colors.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/_safe.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/_version.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/_base.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/_helpers.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/led.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/system.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/commands/theme.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/device_recovery.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/diagnostics.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/errors.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/events.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/i18n.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/ports.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/registry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/results.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/core/variants.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/daemon.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/data/trcc_usb.te +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ipc.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/proxy.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/_ansi.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/_clock.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/_dc.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/audio.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/cloud_theme.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/data_install.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/device_sender.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/display.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/first_run.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/led_animation_loop.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/led_effects.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/media.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/metrics_loop.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/metrics_personalize.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/migration.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/overlay.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/quickstart.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/settings.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/slideshow.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/theme.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/video_cache.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/services/video_export.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/_errors.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/_shared.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/config.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/devices.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/display.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/led.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/main.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/schemas.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/system.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/theme.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/api/trcc.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/_ctx.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/config.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/device.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/display.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/led.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/main.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/shell.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/system.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/cli/theme.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/_ui_state.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/240240.gif +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/240320.gif +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/320240.gif +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/320320.gif +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC10a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC13.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC13a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC15.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC15a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD11.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD11a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF014.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF014a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RX1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1RX1a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_update.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_export.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_help.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_import.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_power.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_save.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_external.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_power.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_play.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_background.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_module.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/settings_params.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_close.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/assets.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/base.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/base_handler.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/bus_bridge.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/constants.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/display_mode_panels.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/eyedropper.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/led_handler.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/overlay_element.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/overlay_grid.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/pipewire_capture.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/screen_capture.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/splash.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/trcc_app.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_about.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_device.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_image_cut.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_info_module.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_preview.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_system_info.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_local.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_theme_web.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/gui/uc_video_cut.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/device_presentation.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/lcd_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/lcd_presentation_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_metrics_format.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/led_zone_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/overlay_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/overlay_serialization.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/preview_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/sensor_display.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/presentation/slideshow_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qapp.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/app.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/assets.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/base.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/bus_bridge.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/color_wheel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/device_picker.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/eyedropper.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/image_crop.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/about_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/cloud_theme_browser.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/configuration_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/device_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/display_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/_base.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/advanced_tab.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/color_tab.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/mode_tab.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/segment_tab.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led/zone_tab.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/led_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/local_theme_browser.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/mask_browser.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/overlay_editor.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/preview_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/screencast_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/sidebar.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/status_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/panels/system_panel.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/region_overlay.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/screen_overlay.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/sensor_picker.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/splash.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/src/trcc/ui/qtgui/video_crop.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/infra/__init__.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/infra/test_sysinfo_config_fan_map.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_elevate.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_imc_timings.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_linux_imc.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_spd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_mem_disk.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_permissions.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/adapters/system/test_windows_wmi_seam.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/conftest.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/mock_platform.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ali_lcd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_api_routes.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_app_senders.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_architecture_boundaries.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_autostart.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_autostart_macos.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_autostart_windows.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_backend_finish.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_boot_animation_command.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_boot_animation_device.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_bulk_lcd_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_cli_commands.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_clock.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_cloud_themes.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_commands.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_connect_failure_hints.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_connection_issues.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_control_center.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_daemon.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_data_install.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_dc_codec.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_dc_reader.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_device_catalog_smoke.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_device_recovery.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_device_sender.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_device_surface_matrix.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_diagnose_parse_report.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_diagnostics.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_display_tweaks.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_first_run_and_migration.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gpu_extras_install.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gpu_preference.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gui_empty_state.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gui_entry_exit.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gui_panels.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_gui_raise_existing.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_hid_lcd_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_hotplug.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_hotplug_bsd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_hotplug_polling.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_hotplug_windows.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_i18n.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_integration_pipeline.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ipc_server.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ipc_windows_fallback.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ipc_wire.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_lcd_panel_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_animation_loop.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_assets.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_display_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_effects.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_handler_requires_app.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_panel_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_remap.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_send.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_led_settings_commands.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_library_migration.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ly_lcd_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_manpages.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_mask_commands.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_mask_rendering.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_metrics_personalize.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_mock_reply_override.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_models.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_orientation_cloud_background.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_orientation_reload.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_clock.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_element_id.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_grid_adapter.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_metric_unit.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_resolve.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_overlay_show_unit.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_packaging_entrypoints.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_platform_hw_probes.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_pyusb_find_seam.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_quickstart.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_render_led.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_restore_device_state.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_run_setup_order.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_scsi_lcd_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_selinux_install.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_send_color.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensor_chain.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors_bsd.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors_lhm_subprocess.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors_macos.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors_nvml.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_sensors_windows.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_settings_migration.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_shell.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_system_commands.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_system_resume.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_theme_persistence.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_theme_service.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_transports.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_udev.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ui_parity.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_ui_surfaces_smoke.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_variant_presentation_audit.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_video_cache.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_video_playback.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_wire_rotation.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/test_wmi_gpu_fallback.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_device_presentation.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_lcd_presentation_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_led_metrics_format.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_led_zone_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_overlay_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_overlay_view_binding.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_preview_geometry.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_sensor_display.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_slideshow_model.py +0 -0
- {trcc_linux-9.8.7 → trcc_linux-9.8.8}/tests/ui/presentation/test_theme_local_binding.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trcc-linux
|
|
3
|
-
Version: 9.8.
|
|
3
|
+
Version: 9.8.8
|
|
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
|
|
@@ -126,7 +126,7 @@ Description-Content-Type: text/markdown
|
|
|
126
126
|
|
|
127
127
|
Native Linux port of the Thermalright LCD Control Center (Windows TRCC 2.1.2). Control and customize the LCD displays and LED segment displays on Thermalright CPU coolers, AIO pump heads, and fan hubs — entirely from Linux.
|
|
128
128
|
|
|
129
|
-
> **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and
|
|
129
|
+
> **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 13 LED styles. Open source at its best — see [Contributors](#contributors) below.
|
|
130
130
|
|
|
131
131
|
> Unofficial community project, not affiliated with Thermalright. Built with [Claude](https://claude.ai) (AI) for protocol reverse engineering and code generation, guided by human architecture decisions and logical assessment.
|
|
132
132
|
|
|
@@ -306,7 +306,7 @@ Set the angle to **90°** (or 270°) in the GUI, then open **Cloud Themes** —
|
|
|
306
306
|
| **Media** | Video/GIF playback on LCD, video trimmer, image cropper, screen cast (X11 + Wayland), mic audio visualization |
|
|
307
307
|
| **Overlay Editor** | Text, sensors, date/time overlays — font picker, dynamic scaling, color picker |
|
|
308
308
|
| **Hardware Sensors** | 77+ sensors — CPU/GPU temp, fan speed, power, usage — customizable dashboard |
|
|
309
|
-
| **LED Control** |
|
|
309
|
+
| **LED Control** | 13 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
|
|
310
310
|
| **Display** | 16 resolutions (240x240 to 1920x462), 0/90/180/270 rotation, 3 brightness levels |
|
|
311
311
|
| **Multi-device** | Per-device config, auto-detect, multi-device with device selection |
|
|
312
312
|
| **Security** | udev rules, polkit policy, SELinux support, no root required after setup |
|
|
@@ -364,7 +364,7 @@ Run `lsusb` to find your USB ID (`xxxx:xxxx` after `ID`), then match it below.
|
|
|
364
364
|
**HID LED devices** — RGB LED control:
|
|
365
365
|
| USB ID | Devices |
|
|
366
366
|
|--------|---------|
|
|
367
|
-
| `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, and others (model auto-detected via handshake) |
|
|
367
|
+
| `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, Magic Qube, and others (model auto-detected via handshake) |
|
|
368
368
|
|
|
369
369
|
> See the [full device list with protocol details](doc/REFERENCE_DEVICES.md) and the [Device Testing Guide](doc/GUIDE_DEVICE_TESTING.md) if you have an untested device.
|
|
370
370
|
|
|
@@ -409,20 +409,21 @@ If a probe goes `BAD`, that's the bug — fix in `src/`, re-run, see `PASS`. Eve
|
|
|
409
409
|
| HID Type 3 | pyusb interrupt | TARAN ARMS |
|
|
410
410
|
| Bulk | pyusb bulk | GrandVision 360, Mjolnir Vision 360, Wonder Vision Pro 360, Frozen Warframe Pro |
|
|
411
411
|
| LY | pyusb bulk (chunked) | Trofeo Vision 9.16 LCD |
|
|
412
|
-
| LED | pyusb HID | All LED segment display devices (
|
|
412
|
+
| LED | pyusb HID | All LED segment display devices (13 styles) |
|
|
413
413
|
|
|
414
414
|
## Code Contributors
|
|
415
415
|
|
|
416
416
|
These folks didn't just report a problem — they opened the editor and sent a fix. On a solo project, a merged pull request is about the most generous thing you can do, and every one of these shipped to every user:
|
|
417
417
|
|
|
418
|
+
- **[@jphilipb](https://github.com/jphilipb)** — [#215](https://github.com/Lexonight1/thermalright-trcc-linux/pull/215): reverse-engineered and hardware-validated the Thermalright Magic Qube (65-LED segment display) — a device that doesn't even exist in the Windows app — and wired up full support from scratch.
|
|
418
419
|
- **[@Hythera](https://github.com/Hythera)** — [#209](https://github.com/Lexonight1/thermalright-trcc-linux/pull/209): had the flake read its version straight from `pyproject.toml`, killing an entire place I used to have to bump by hand every release.
|
|
419
420
|
- **[@elsiedotcafe](https://github.com/elsiedotcafe)** — [#123](https://github.com/Lexonight1/thermalright-trcc-linux/pull/123): pinned the PySide6 package to a stable source so the build stops breaking.
|
|
420
421
|
|
|
421
|
-
Thank you
|
|
422
|
+
Thank you all — genuinely. PRs are always welcome, and you'll land right here.
|
|
422
423
|
|
|
423
424
|
## Contributors
|
|
424
425
|
|
|
425
|
-
A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and
|
|
426
|
+
A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 13 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
|
|
426
427
|
|
|
427
428
|
Special thanks to everyone who has contributed invaluable reports to this project:
|
|
428
429
|
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
Native Linux port of the Thermalright LCD Control Center (Windows TRCC 2.1.2). Control and customize the LCD displays and LED segment displays on Thermalright CPU coolers, AIO pump heads, and fan hubs — entirely from Linux.
|
|
55
55
|
|
|
56
|
-
> **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and
|
|
56
|
+
> **This project wouldn't exist without our testers.** I only own one device. Every supported device in this list works because someone plugged it in, ran `trcc report`, and told me what broke. 32 testers helped us go from "SCSI only" to full C# feature parity with 6 USB protocols, 16 FBL resolutions, and 13 LED styles. Open source at its best — see [Contributors](#contributors) below.
|
|
57
57
|
|
|
58
58
|
> Unofficial community project, not affiliated with Thermalright. Built with [Claude](https://claude.ai) (AI) for protocol reverse engineering and code generation, guided by human architecture decisions and logical assessment.
|
|
59
59
|
|
|
@@ -233,7 +233,7 @@ Set the angle to **90°** (or 270°) in the GUI, then open **Cloud Themes** —
|
|
|
233
233
|
| **Media** | Video/GIF playback on LCD, video trimmer, image cropper, screen cast (X11 + Wayland), mic audio visualization |
|
|
234
234
|
| **Overlay Editor** | Text, sensors, date/time overlays — font picker, dynamic scaling, color picker |
|
|
235
235
|
| **Hardware Sensors** | 77+ sensors — CPU/GPU temp, fan speed, power, usage — customizable dashboard |
|
|
236
|
-
| **LED Control** |
|
|
236
|
+
| **LED Control** | 13 LED styles, zone carousel, breathing/rainbow/static/wave modes, per-zone color |
|
|
237
237
|
| **Display** | 16 resolutions (240x240 to 1920x462), 0/90/180/270 rotation, 3 brightness levels |
|
|
238
238
|
| **Multi-device** | Per-device config, auto-detect, multi-device with device selection |
|
|
239
239
|
| **Security** | udev rules, polkit policy, SELinux support, no root required after setup |
|
|
@@ -291,7 +291,7 @@ Run `lsusb` to find your USB ID (`xxxx:xxxx` after `ID`), then match it below.
|
|
|
291
291
|
**HID LED devices** — RGB LED control:
|
|
292
292
|
| USB ID | Devices |
|
|
293
293
|
|--------|---------|
|
|
294
|
-
| `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, and others (model auto-detected via handshake) |
|
|
294
|
+
| `0416:8001` | AX120 DIGITAL, PA120 DIGITAL, Peerless Assassin 120 DIGITAL ARGB White, Assassin X 120R Digital ARGB, Phantom Spirit 120 Digital EVO, HR10 2280 PRO Digital, Magic Qube, and others (model auto-detected via handshake) |
|
|
295
295
|
|
|
296
296
|
> See the [full device list with protocol details](doc/REFERENCE_DEVICES.md) and the [Device Testing Guide](doc/GUIDE_DEVICE_TESTING.md) if you have an untested device.
|
|
297
297
|
|
|
@@ -336,20 +336,21 @@ If a probe goes `BAD`, that's the bug — fix in `src/`, re-run, see `PASS`. Eve
|
|
|
336
336
|
| HID Type 3 | pyusb interrupt | TARAN ARMS |
|
|
337
337
|
| Bulk | pyusb bulk | GrandVision 360, Mjolnir Vision 360, Wonder Vision Pro 360, Frozen Warframe Pro |
|
|
338
338
|
| LY | pyusb bulk (chunked) | Trofeo Vision 9.16 LCD |
|
|
339
|
-
| LED | pyusb HID | All LED segment display devices (
|
|
339
|
+
| LED | pyusb HID | All LED segment display devices (13 styles) |
|
|
340
340
|
|
|
341
341
|
## Code Contributors
|
|
342
342
|
|
|
343
343
|
These folks didn't just report a problem — they opened the editor and sent a fix. On a solo project, a merged pull request is about the most generous thing you can do, and every one of these shipped to every user:
|
|
344
344
|
|
|
345
|
+
- **[@jphilipb](https://github.com/jphilipb)** — [#215](https://github.com/Lexonight1/thermalright-trcc-linux/pull/215): reverse-engineered and hardware-validated the Thermalright Magic Qube (65-LED segment display) — a device that doesn't even exist in the Windows app — and wired up full support from scratch.
|
|
345
346
|
- **[@Hythera](https://github.com/Hythera)** — [#209](https://github.com/Lexonight1/thermalright-trcc-linux/pull/209): had the flake read its version straight from `pyproject.toml`, killing an entire place I used to have to bump by hand every release.
|
|
346
347
|
- **[@elsiedotcafe](https://github.com/elsiedotcafe)** — [#123](https://github.com/Lexonight1/thermalright-trcc-linux/pull/123): pinned the PySide6 package to a stable source so the build stops breaking.
|
|
347
348
|
|
|
348
|
-
Thank you
|
|
349
|
+
Thank you all — genuinely. PRs are always welcome, and you'll land right here.
|
|
349
350
|
|
|
350
351
|
## Contributors
|
|
351
352
|
|
|
352
|
-
A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and
|
|
353
|
+
A huge thank you to every single person who filed an issue, pasted a `trcc report`, or just said "it doesn't work." You are the reason this project supports 6 USB protocols, 16 resolutions, and 13 LED styles from a single developer with one device. Every bug report, every test on hardware I don't own, every "hey this is broken" — that's open source at its best. You're not wasting your time. You're building something together.
|
|
353
354
|
|
|
354
355
|
Special thanks to everyone who has contributed invaluable reports to this project:
|
|
355
356
|
|
|
@@ -26,7 +26,13 @@ from ...core.errors import (
|
|
|
26
26
|
UnsupportedOperationError,
|
|
27
27
|
)
|
|
28
28
|
from ...core.led_models import LedPayload
|
|
29
|
-
from ...core.led_protocol import
|
|
29
|
+
from ...core.led_protocol import (
|
|
30
|
+
is_fingerprint_header,
|
|
31
|
+
remap_led_colors,
|
|
32
|
+
resolve_handshake,
|
|
33
|
+
resolve_model_name,
|
|
34
|
+
resolve_pm,
|
|
35
|
+
)
|
|
30
36
|
from ...core.models import HandshakeResult, LedHandshakeResult, ProductInfo, Wire
|
|
31
37
|
from ...core.ports import BulkTransport, Device
|
|
32
38
|
from . import DeviceFactory
|
|
@@ -206,11 +212,15 @@ class Led(Device[BulkTransport]):
|
|
|
206
212
|
time.sleep(_HANDSHAKE_RETRY_DELAY_S)
|
|
207
213
|
continue
|
|
208
214
|
|
|
209
|
-
# Windows DeviceDataReceived1 doesn't validate magic/cmd —
|
|
210
|
-
#
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
215
|
+
# Windows DeviceDataReceived1 doesn't validate magic/cmd — we
|
|
216
|
+
# accept regardless. A recognised fingerprint header (e.g. the
|
|
217
|
+
# Magic Qube's DC DD AA 01) is expected, so only warn on a truly
|
|
218
|
+
# unknown magic / cmd byte.
|
|
219
|
+
header = bytes(resp[0:4])
|
|
220
|
+
recognised = is_fingerprint_header(header)
|
|
221
|
+
if header != _MAGIC and not recognised:
|
|
222
|
+
log.warning("Led handshake: unexpected magic %s", header.hex())
|
|
223
|
+
if len(resp) > 12 and resp[12] != 1 and not recognised:
|
|
214
224
|
log.warning("Led handshake: unexpected cmd byte %d", resp[12])
|
|
215
225
|
|
|
216
226
|
# PM and SUB extraction — matches Windows UCDevice.cs offsets:
|
|
@@ -218,10 +228,13 @@ class Led(Device[BulkTransport]):
|
|
|
218
228
|
self._pm = resp[5]
|
|
219
229
|
self._sub = resp[4]
|
|
220
230
|
|
|
221
|
-
#
|
|
222
|
-
#
|
|
223
|
-
#
|
|
224
|
-
|
|
231
|
+
# Handshake → device style + readable model name. The header
|
|
232
|
+
# fingerprint wins first (some SKUs reuse a PM byte but ship a
|
|
233
|
+
# distinct handshake header — e.g. the Magic Qube shares PM=208
|
|
234
|
+
# with CZ1 but answers with DC DD AA 01), then the PM registry.
|
|
235
|
+
# Falls back to the registry's ``led_style`` / ``product`` when
|
|
236
|
+
# the firmware reports a PM not in PmRegistry (e.g. a new SKU).
|
|
237
|
+
entry = resolve_handshake(header, self._pm, self._sub)
|
|
225
238
|
if entry is not None:
|
|
226
239
|
style = entry.style
|
|
227
240
|
model_name = entry.model_name
|
|
@@ -278,7 +291,10 @@ class Led(Device[BulkTransport]):
|
|
|
278
291
|
cached = _probe_cache_load(self.info.vid, self.info.pid)
|
|
279
292
|
if cached is not None:
|
|
280
293
|
cpm, csub, cname = cached
|
|
281
|
-
|
|
294
|
+
# A fingerprint device (e.g. Magic Qube) shares its PM byte with
|
|
295
|
+
# another product, so recover it by cached model name first — the
|
|
296
|
+
# cache doesn't persist the handshake header — then by PM byte.
|
|
297
|
+
entry = resolve_model_name(cname) or resolve_pm(cpm, csub)
|
|
282
298
|
log.warning(
|
|
283
299
|
"Led handshake: live failed after %d retries — using "
|
|
284
300
|
"disk cache (PM=%d SUB=%d model=%s, last_err=%s)",
|
|
@@ -191,18 +191,29 @@ class ConnectDevice(Command[ConnectResult]):
|
|
|
191
191
|
override.button_image or "(cutout-only)",
|
|
192
192
|
)
|
|
193
193
|
|
|
194
|
-
# LED style: enrich ``led_style`` from the
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
#
|
|
194
|
+
# LED style: enrich ``led_style`` from the handshake. The registry
|
|
195
|
+
# leaves it None ("resolved at runtime"), so without this the LED
|
|
196
|
+
# handler reads None and falls back to a default style. Prefer the
|
|
197
|
+
# LED adapter's already-resolved style — it honours the header
|
|
198
|
+
# fingerprint, so a Magic Qube (shares PM=208 with CZ1) isn't
|
|
199
|
+
# mis-tagged as CZ1 — and fall back to the header/PM registry from the
|
|
200
|
+
# raw handshake bytes. resolve_* live in core, so this stays inside
|
|
201
|
+
# the hexagon.
|
|
198
202
|
if device.info.wire is Wire.LED and device.info.led_style is None:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if
|
|
202
|
-
|
|
203
|
+
led_hs = getattr(device, "led_handshake", None)
|
|
204
|
+
led_style = getattr(led_hs, "style", None)
|
|
205
|
+
if led_style is None:
|
|
206
|
+
from ..led_protocol import resolve_handshake
|
|
207
|
+
led_entry = resolve_handshake(
|
|
208
|
+
handshake.raw_response[:4],
|
|
209
|
+
handshake.pm_byte, handshake.sub_byte,
|
|
210
|
+
)
|
|
211
|
+
led_style = led_entry.style if led_entry is not None else None
|
|
212
|
+
if led_style is not None:
|
|
213
|
+
device.info = _dc_replace(device.info, led_style=led_style)
|
|
203
214
|
log.info(
|
|
204
|
-
"ConnectDevice %s: LED style
|
|
205
|
-
self.key,
|
|
215
|
+
"ConnectDevice %s: LED style → %s",
|
|
216
|
+
self.key, led_style.value,
|
|
206
217
|
)
|
|
207
218
|
|
|
208
219
|
# Install theme/cloud/mask data for the HANDSHAKE-resolved resolution.
|
|
@@ -116,20 +116,24 @@ def plan_orientation(
|
|
|
116
116
|
rotate_panel = profile.rotate and w != h and orientation in (90, 270)
|
|
117
117
|
if rotate_panel and not content_is_portrait and not profile.widescreen:
|
|
118
118
|
return OrientationPlan((w, h), False, orientation)
|
|
119
|
+
if rotate_panel and profile.widescreen:
|
|
120
|
+
# Widescreen JPEG panels (1600×720 etc.): compose on the transposed
|
|
121
|
+
# portrait canvas (720×1600), preview upright — but post_rotate=0. The
|
|
122
|
+
# WIRE rotation is owned entirely by resolve_encode_angle (via wire_angle),
|
|
123
|
+
# which the C# ``ImageToJpg`` applies to the whole composite to reach the
|
|
124
|
+
# device's fixed landscape dims: 0→180, 90→90, 180→0, 270→270. A
|
|
125
|
+
# post_rotate here would double-rotate on top of it (the pre-fix code
|
|
126
|
+
# returned 180 at 270 AND relied on portrait_content=True to suppress the
|
|
127
|
+
# wire rotate — which silently sent an unrotated 720×1600 portrait frame,
|
|
128
|
+
# #169). On-glass handedness still wants a reporter photo (#203/#169).
|
|
129
|
+
return OrientationPlan((h, w), True, 0)
|
|
119
130
|
if rotate_panel:
|
|
120
|
-
#
|
|
121
|
-
# orientation baked into the pixels — but the asset is authored for
|
|
122
|
-
# 270 is 90 + a 180° flip,
|
|
123
|
-
#
|
|
124
|
-
#
|
|
125
|
-
#
|
|
126
|
-
# behaviour is hardware-verified (#169) and must not change.
|
|
127
|
-
# 270 is 90 + a dimension-preserving 180° flip — applies to EVERY rotate
|
|
128
|
-
# panel including widescreen (the C# decompile shows widescreen 854×480
|
|
129
|
-
# rotates 90→270° / 270→90°, a 180° difference, not frozen). The flip
|
|
130
|
-
# keeps the portrait-buffer dimensions (#169) and only re-orients the
|
|
131
|
-
# content, so it's dimension-safe (no clip). On-glass handedness for
|
|
132
|
-
# widescreen still wants a reporter photo (#203) to confirm.
|
|
131
|
+
# Non-widescreen portrait content: composed on the transposed canvas with
|
|
132
|
+
# the orientation baked into the pixels — but the asset is authored for
|
|
133
|
+
# 90. 270 is 90 + a dimension-preserving 180° flip, so rotate the WHOLE
|
|
134
|
+
# composite (bg + mask + text) as one unit and everything stays true to
|
|
135
|
+
# the physical rotation instead of frozen at 90. These panels take no
|
|
136
|
+
# wire rotation (portrait_content=True opts them out of wire_angle).
|
|
133
137
|
post_rotate = 180 if orientation == 270 else 0
|
|
134
138
|
return OrientationPlan((h, w), True, post_rotate)
|
|
135
139
|
return OrientationPlan(oriented_resolution((w, h), orientation), False, 0)
|
|
@@ -200,6 +200,10 @@ LEGACY_STYLE_ID: dict[LedStyle, int] = {
|
|
|
200
200
|
LedStyle.LF11: 10,
|
|
201
201
|
LedStyle.LF15: 11,
|
|
202
202
|
LedStyle.LF13: 12,
|
|
203
|
+
# Synthetic id for the Linux-added Magic Qube (no legacy C# style_id);
|
|
204
|
+
# continues the sequence so every LED_STYLES entry has an id. It shows
|
|
205
|
+
# plain sensor gauges (led_panel_for treats any non-LC1/LF11/LC2 id so).
|
|
206
|
+
LedStyle.MAGIC_QUBE: 13,
|
|
203
207
|
}
|
|
204
208
|
|
|
205
209
|
# Inverse lookup — legacy int → :class:`LedStyle` enum. Used by GUI
|
|
@@ -268,6 +272,13 @@ LED_STYLES: dict[LedStyle, LedStyleSpec] = {
|
|
|
268
272
|
zone_assets=_ZONE_BTN_MODE56),
|
|
269
273
|
LedStyle.LF13: LedStyleSpec(62, 62, 0, "LF13",
|
|
270
274
|
"led_preview_lf13", "led_bg_lf13"),
|
|
275
|
+
# Magic Qube — 65 LEDs: two 7-seg digits (3 LEDs/segment, LED 0-41) + 4
|
|
276
|
+
# corner metric indicators (42-49) + a 15-LED contour border (50-64).
|
|
277
|
+
# Same 2-digit / 4-phase design as CZ1. Reuses the generic segment assets
|
|
278
|
+
# until dedicated art is added.
|
|
279
|
+
LedStyle.MAGIC_QUBE: LedStyleSpec(65, 14, 4, "MAGIC_QUBE",
|
|
280
|
+
"led_preview_cz1", "led_bg_segment",
|
|
281
|
+
zone_assets=_ZONE_BTN_N),
|
|
271
282
|
}
|
|
272
283
|
|
|
273
284
|
|
|
@@ -302,6 +313,7 @@ ZONE_STYLE_ASSETS: dict[LedStyle, tuple[tuple[str, str], ...]] = {
|
|
|
302
313
|
LedStyle.LF10: _ZONE_ASSETS_BTNN,
|
|
303
314
|
LedStyle.CZ1: _ZONE_ASSETS_BTNN,
|
|
304
315
|
LedStyle.LF11: _ZONE_ASSETS_BTNN,
|
|
316
|
+
LedStyle.MAGIC_QUBE: _ZONE_ASSETS_BTNN,
|
|
305
317
|
}
|
|
306
318
|
|
|
307
319
|
|
|
@@ -114,6 +114,65 @@ def resolve_pm(pm: int, sub_type: int = 0) -> PmEntry | None:
|
|
|
114
114
|
return _PM_REGISTRY.get(pm)
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
# =========================================================================
|
|
118
|
+
# Handshake fingerprint overrides
|
|
119
|
+
# =========================================================================
|
|
120
|
+
#
|
|
121
|
+
# A product can reuse another device's PM byte yet ship a distinct firmware
|
|
122
|
+
# handshake header, leaving the PM byte alone ambiguous. The Thermalright
|
|
123
|
+
# Magic Qube reports PM=208 (same as CZ1) but answers the HID handshake with
|
|
124
|
+
# the header ``DC DD AA 01`` instead of the standard ``DA DB DC DD`` — the
|
|
125
|
+
# only wire-level signal that tells it apart from a genuine CZ1. Header
|
|
126
|
+
# overrides are checked before the PM registry.
|
|
127
|
+
|
|
128
|
+
_HEADER_OVERRIDES: dict[bytes, PmEntry] = {
|
|
129
|
+
bytes([0xDC, 0xDD, 0xAA, 0x01]): PmEntry(LedStyle.MAGIC_QUBE, "MAGIC_QUBE"),
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_OVERRIDES_BY_MODEL: dict[str, PmEntry] = {
|
|
133
|
+
entry.model_name: entry for entry in _HEADER_OVERRIDES.values()
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def resolve_handshake(
|
|
138
|
+
header: bytes, pm: int, sub_type: int = 0,
|
|
139
|
+
) -> PmEntry | None:
|
|
140
|
+
"""Resolve a device from its handshake — header fingerprint first.
|
|
141
|
+
|
|
142
|
+
A handful of products reuse another device's PM byte but ship a distinct
|
|
143
|
+
handshake header (firmware fingerprint). When the leading four header
|
|
144
|
+
bytes match a known override that entry wins; otherwise we fall back to
|
|
145
|
+
the PM-byte registry (:func:`resolve_pm`).
|
|
146
|
+
"""
|
|
147
|
+
entry = _HEADER_OVERRIDES.get(bytes(header[:4]))
|
|
148
|
+
if entry is not None:
|
|
149
|
+
log.info("resolve_handshake: header %s → %s (overrides pm=%d)",
|
|
150
|
+
bytes(header[:4]).hex(), entry.model_name, pm)
|
|
151
|
+
return entry
|
|
152
|
+
return resolve_pm(pm, sub_type)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def resolve_model_name(model_name: str) -> PmEntry | None:
|
|
156
|
+
"""Resolve a fingerprint-override entry by its model name.
|
|
157
|
+
|
|
158
|
+
Used by the probe-cache fallback: the cache persists the model name, not
|
|
159
|
+
the handshake header, so a cached fingerprint device is recovered by
|
|
160
|
+
name. Returns ``None`` for names not carried by an override — the caller
|
|
161
|
+
then falls back to the PM registry.
|
|
162
|
+
"""
|
|
163
|
+
return _OVERRIDES_BY_MODEL.get(model_name)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def is_fingerprint_header(header: bytes) -> bool:
|
|
167
|
+
"""Whether the handshake header matches a known device fingerprint.
|
|
168
|
+
|
|
169
|
+
Lets the LED adapter treat a recognised non-standard header (e.g. the
|
|
170
|
+
Magic Qube's ``DC DD AA 01``) as expected instead of logging it as an
|
|
171
|
+
anomaly next to the standard ``DA DB DC DD`` magic.
|
|
172
|
+
"""
|
|
173
|
+
return bytes(header[:4]) in _HEADER_OVERRIDES
|
|
174
|
+
|
|
175
|
+
|
|
117
176
|
# ═══════════════════════════════════════════════════════════════════════
|
|
118
177
|
# Wire-order remap tables
|
|
119
178
|
# ═══════════════════════════════════════════════════════════════════════
|
|
@@ -322,6 +381,9 @@ __all__ = [
|
|
|
322
381
|
"LED_REMAP_SUB_TABLES",
|
|
323
382
|
"LED_REMAP_TABLES",
|
|
324
383
|
"PmEntry",
|
|
384
|
+
"is_fingerprint_header",
|
|
325
385
|
"remap_led_colors",
|
|
386
|
+
"resolve_handshake",
|
|
387
|
+
"resolve_model_name",
|
|
326
388
|
"resolve_pm",
|
|
327
389
|
]
|
|
@@ -189,6 +189,7 @@ class LedStyle(str, Enum):
|
|
|
189
189
|
LF11 = "lf11" # legacy style_id 10
|
|
190
190
|
LF15 = "lf15" # legacy style_id 11
|
|
191
191
|
LF13 = "lf13" # legacy style_id 12
|
|
192
|
+
MAGIC_QUBE = "magic_qube" # Linux-added: Thermalright Magic Qube (no legacy style_id)
|
|
192
193
|
|
|
193
194
|
|
|
194
195
|
# =========================================================================
|
|
@@ -347,15 +347,21 @@ def wire_angle(
|
|
|
347
347
|
C#-source-verified per-resolution encode base, #203/#169)
|
|
348
348
|
* squares / non-rotate panels → user orientation only (``360 − orient``)
|
|
349
349
|
|
|
350
|
-
A portrait-content theme on a rotate panel is pre-rotated at
|
|
351
|
-
(``post_rotate``) and opts out
|
|
350
|
+
A *non-widescreen* portrait-content theme on a rotate panel is pre-rotated at
|
|
351
|
+
compose time (``post_rotate``) and opts out via ``portrait_content=True``.
|
|
352
|
+
**Widescreen JPEG panels do NOT opt out**: their 90/270 compose buffer is an
|
|
353
|
+
upright 720×1600 portrait canvas that MUST be rotated by
|
|
354
|
+
:func:`resolve_encode_angle` to reach the device's fixed landscape wire
|
|
355
|
+
dimensions (1600×720). The C# ``ImageToJpg`` applies exactly this rotation to
|
|
356
|
+
every widescreen frame regardless of the compose orientation (#169) — gating
|
|
357
|
+
it on ``not portrait_content`` left the live path (which passes
|
|
358
|
+
``portrait_content=True`` for widescreen) sending an unrotated portrait frame.
|
|
352
359
|
"""
|
|
353
360
|
wire_rotate_panel = (
|
|
354
361
|
profile.rotate and not portrait_content and not profile.widescreen
|
|
355
362
|
)
|
|
356
363
|
fold_into_encode = (
|
|
357
|
-
profile.rotate and
|
|
358
|
-
and profile.widescreen and profile.jpeg
|
|
364
|
+
profile.rotate and profile.widescreen and profile.jpeg
|
|
359
365
|
)
|
|
360
366
|
if wire_rotate_panel:
|
|
361
367
|
return wire_rotation(profile, orientation)
|
|
@@ -701,6 +701,92 @@ class CZ1Display(SegmentDisplay):
|
|
|
701
701
|
return mask
|
|
702
702
|
|
|
703
703
|
|
|
704
|
+
# ═══════════════════════════════════════════════════════════════════════
|
|
705
|
+
# Magic Qube (50 LEDs, two 7-seg digits × 3-LED segments, 4-phase rotation)
|
|
706
|
+
# ═══════════════════════════════════════════════════════════════════════
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
# Physical wire order of the 7 segments within one Magic Qube digit, 3 LEDs
|
|
710
|
+
# each (empirically mapped on hardware): c, d, e, g, b, a, f.
|
|
711
|
+
_QUBE_WIRE: tuple[str, ...] = ("c", "d", "e", "g", "b", "a", "f")
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
def _qube_digit_segmap(base: int) -> dict[str, tuple[int, int, int]]:
|
|
715
|
+
"""Map each 7-seg label → its 3 LED indices for a digit starting at ``base``."""
|
|
716
|
+
pos = {seg: i for i, seg in enumerate(_QUBE_WIRE)}
|
|
717
|
+
return {
|
|
718
|
+
seg: (base + pos[seg] * 3, base + pos[seg] * 3 + 1, base + pos[seg] * 3 + 2)
|
|
719
|
+
for seg in "abcdefg"
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
class MagicQubeDisplay(SegmentDisplay):
|
|
724
|
+
"""Thermalright Magic Qube — 50 LEDs: two 7-seg digits + 4 indicators.
|
|
725
|
+
|
|
726
|
+
Both digits render ONE 2-digit value (left = tens, right = units); a
|
|
727
|
+
single corner indicator lights to name the metric, rotating through the
|
|
728
|
+
four phases like CZ1. Each segment is 3 physical LEDs in wire order
|
|
729
|
+
c, d, e, g, b, a, f; the right digit is LED 0-20, the left 21-41; the
|
|
730
|
+
four indicator pairs are 42-49 (clockwise from top-left). Mapped
|
|
731
|
+
empirically on hardware (no reference implementation exists).
|
|
732
|
+
"""
|
|
733
|
+
|
|
734
|
+
mask_size = 65
|
|
735
|
+
phase_count = 4
|
|
736
|
+
|
|
737
|
+
LEFT = _qube_digit_segmap(21) # tens digit (physically left)
|
|
738
|
+
RIGHT = _qube_digit_segmap(0) # units digit (physically right)
|
|
739
|
+
|
|
740
|
+
# Indicator LED pairs, clockwise from top-left.
|
|
741
|
+
IND_CPU_TEMP = (42, 43)
|
|
742
|
+
IND_GPU_TEMP = (44, 45)
|
|
743
|
+
IND_GPU_LOAD = (46, 47)
|
|
744
|
+
IND_CPU_LOAD = (48, 49)
|
|
745
|
+
|
|
746
|
+
# Contour/border LEDs — always lit; they take the effect colour (the
|
|
747
|
+
# segments/indicators are gated by the value mask, the border is not).
|
|
748
|
+
BORDER = tuple(range(50, 65))
|
|
749
|
+
|
|
750
|
+
PHASES: tuple[tuple[str, tuple[int, int]], ...] = (
|
|
751
|
+
("cpu_temp", IND_CPU_TEMP),
|
|
752
|
+
("gpu_temp", IND_GPU_TEMP),
|
|
753
|
+
("gpu_usage", IND_GPU_LOAD),
|
|
754
|
+
("cpu_percent", IND_CPU_LOAD),
|
|
755
|
+
)
|
|
756
|
+
|
|
757
|
+
# Each digit is one cohesive colour group (right 0-20, left 21-41); the
|
|
758
|
+
# indicators ride along in the swept "rest" group (#193).
|
|
759
|
+
color_groups = _digit_color_groups(
|
|
760
|
+
mask_size, (tuple(range(21)), tuple(range(21, 42))),
|
|
761
|
+
)
|
|
762
|
+
|
|
763
|
+
def _encode_qube_digit(
|
|
764
|
+
self, ch: str, segmap: dict[str, tuple[int, int, int]], mask: list[bool],
|
|
765
|
+
) -> None:
|
|
766
|
+
"""Light the 3 LEDs of every segment the character ``ch`` needs."""
|
|
767
|
+
for seg in self.CHAR_7SEG.get(ch, set()):
|
|
768
|
+
for led in segmap[seg]:
|
|
769
|
+
mask[led] = True
|
|
770
|
+
|
|
771
|
+
def compute_mask(
|
|
772
|
+
self, metrics: HardwareMetrics, phase: int = 0, temp_unit: str = "C", **kw: Any,
|
|
773
|
+
) -> list[bool]:
|
|
774
|
+
mask = [False] * self.mask_size
|
|
775
|
+
metric_key, indicator = self.PHASES[phase % self.phase_count]
|
|
776
|
+
for idx in indicator:
|
|
777
|
+
mask[idx] = True
|
|
778
|
+
value = int(getattr(metrics, metric_key, 0))
|
|
779
|
+
if "temp" in metric_key:
|
|
780
|
+
value = self._to_display_temp(value, temp_unit)
|
|
781
|
+
value = max(0, min(99, value))
|
|
782
|
+
tens, units = divmod(value, 10)
|
|
783
|
+
self._encode_qube_digit(str(tens) if tens else " ", self.LEFT, mask)
|
|
784
|
+
self._encode_qube_digit(str(units), self.RIGHT, mask)
|
|
785
|
+
for idx in self.BORDER:
|
|
786
|
+
mask[idx] = True
|
|
787
|
+
return mask
|
|
788
|
+
|
|
789
|
+
|
|
704
790
|
# ═══════════════════════════════════════════════════════════════════════
|
|
705
791
|
# Style 9 — LC2 (61 LEDs, clock display, 7 decoration)
|
|
706
792
|
# ═══════════════════════════════════════════════════════════════════════
|
|
@@ -828,6 +914,7 @@ DISPLAYS: dict[LedStyle, SegmentDisplay] = {
|
|
|
828
914
|
LedStyle.LC2: LC2Display(),
|
|
829
915
|
LedStyle.LF11: LF11Display(),
|
|
830
916
|
LedStyle.LF15: LF8Display(), # LF15 = same layout as LF8
|
|
917
|
+
LedStyle.MAGIC_QUBE: MagicQubeDisplay(),
|
|
831
918
|
# LedStyle.LF13 — pure RGB, no digit display
|
|
832
919
|
}
|
|
833
920
|
|
|
@@ -43,7 +43,10 @@ from ...core.commands import (
|
|
|
43
43
|
)
|
|
44
44
|
from ..presentation.lcd_presentation_model import LcdPresentationModel
|
|
45
45
|
from ..presentation.overlay_serialization import dc_as_legacy_overlay_config
|
|
46
|
-
from ..presentation.theme_directories import
|
|
46
|
+
from ..presentation.theme_directories import (
|
|
47
|
+
oriented_theme_reload_target,
|
|
48
|
+
resolve_theme_directories,
|
|
49
|
+
)
|
|
47
50
|
from .base_handler import BaseHandler
|
|
48
51
|
|
|
49
52
|
if TYPE_CHECKING:
|
|
@@ -1016,7 +1019,51 @@ class LCDHandler(BaseHandler):
|
|
|
1016
1019
|
degrees, ow, oh, self._pm.state.is_rotated,
|
|
1017
1020
|
)
|
|
1018
1021
|
self._sync_preview_size() # composed orientation, portrait-theme aware (#136)
|
|
1019
|
-
|
|
1022
|
+
# _update_theme_directories switches the browser catalog to the new
|
|
1023
|
+
# orientation dims + re-lists it, and auto-loads the first theme ONLY on
|
|
1024
|
+
# first install (nothing active yet). When a theme IS already active it
|
|
1025
|
+
# returns False and leaves the OLD-orientation theme rendering — so reload
|
|
1026
|
+
# the active theme's oriented variant here, or the device keeps a
|
|
1027
|
+
# landscape bg letterboxed into the portrait buffer (#169 "not filling").
|
|
1028
|
+
if not self._update_theme_directories():
|
|
1029
|
+
self._reload_theme_for_orientation()
|
|
1030
|
+
|
|
1031
|
+
def _reload_theme_for_orientation(self) -> None:
|
|
1032
|
+
"""Reload the ACTIVE theme from the just-switched orientation catalog.
|
|
1033
|
+
|
|
1034
|
+
A rotation swaps the browser catalog (``theme1600720`` ↔ ``theme7201600``)
|
|
1035
|
+
but not the rendered theme; the C# re-authors the theme per orientation,
|
|
1036
|
+
so the portrait catalog ships a genuine portrait ``00.png`` that fills the
|
|
1037
|
+
720×1600 buffer. Reloading the same-name variant from the new catalog
|
|
1038
|
+
gives the same result — a filled, upright frame (#169).
|
|
1039
|
+
|
|
1040
|
+
Falls back to keeping the current theme when the new catalog has no
|
|
1041
|
+
same-name variant (a user's custom theme, or the #136 portrait-fallback
|
|
1042
|
+
where the local dir resolves back to landscape); there the render pipeline
|
|
1043
|
+
pixel-rotates the landscape art so it is at least correctly oriented.
|
|
1044
|
+
"""
|
|
1045
|
+
active = self._pm.state.current_theme_path
|
|
1046
|
+
if active is None:
|
|
1047
|
+
return
|
|
1048
|
+
dirs = resolve_theme_directories(
|
|
1049
|
+
self._app.platform.paths(),
|
|
1050
|
+
canvas_size=self._pm.state.canvas_size,
|
|
1051
|
+
lcd_size=self._pm.state.lcd_size,
|
|
1052
|
+
is_rotated=self._pm.state.is_rotated,
|
|
1053
|
+
)
|
|
1054
|
+
target = oriented_theme_reload_target(active, dirs)
|
|
1055
|
+
if target is None:
|
|
1056
|
+
self.log.info(
|
|
1057
|
+
"_reload_theme_for_orientation: no oriented variant of '%s' in the "
|
|
1058
|
+
"%dx%d catalog — keeping current theme (pixel-rotate fallback)",
|
|
1059
|
+
active.name, *dirs.catalog_size,
|
|
1060
|
+
)
|
|
1061
|
+
return
|
|
1062
|
+
self.log.info(
|
|
1063
|
+
"_reload_theme_for_orientation: reloading '%s' from the %dx%d catalog "
|
|
1064
|
+
"→ %s", active.name, *dirs.catalog_size, target,
|
|
1065
|
+
)
|
|
1066
|
+
self._select_theme_from_path(target, persist=True, overlay_config=True)
|
|
1020
1067
|
|
|
1021
1068
|
def set_split_mode(self, mode: int) -> None:
|
|
1022
1069
|
self.log.info("set_split_mode: %d -> %d device=%s",
|
|
@@ -161,7 +161,9 @@ _STYLE_CHECKABLE_BTN = (
|
|
|
161
161
|
# overlays (full i18n): AX120(1)+PA120(2) [led_zone_mode_1-4], AK120(3)+LF8(5)+
|
|
162
162
|
# LF12(6)+LF15(11) [led_zone_mode_5-6], LC1(4)+LF11(10) [panel bg]. CZ1(8) keeps
|
|
163
163
|
# its baked bg labels (not cleared); LF10(7) is colour-zones (no metric text).
|
|
164
|
-
|
|
164
|
+
# Magic Qube(13) has no baked-label art (generic segment bg) → overlay the
|
|
165
|
+
# tr() page labels on the plain button frame, like the LC1/LF11 group.
|
|
166
|
+
_OVERLAY_BUTTON_STYLES = frozenset({1, 2, 3, 4, 5, 6, 10, 11, 13})
|
|
165
167
|
|
|
166
168
|
# Button labels for styles whose model carries none (PA120 is ZONE → page_labels
|
|
167
169
|
# must stay () per the model invariant, but its zones *are* the 4 metrics).
|