Commit Graph
109 Commits
Author SHA1 Message Date
homelab black d623e76d25 Fix server-host help message to show correct default IP 2026-08-31 00:52:11 -05:00
Adam Honse f3b9f1c3fd Add --print-udev-rules for printing rules to stdout 2026-08-24 18:51:10 -05:00
Adam Honse 19d3f8884e Don't detect devices before and exit immediately after generating udev rules 2026-08-23 00:40:39 -05:00
Adam Honse 33854f8886 Build udev from DetectionManager 2026-08-20 10:37:46 -05:00
Adam Honse 8121ee29f4 Clean up the CLI code 2026-08-19 23:53:28 -05:00
Adam Honse 671f0a66f5 Exit after listing profiles 2026-08-18 18:46:00 -05:00
Adam Honse 5b1e782b9b Update CLI description to match about in UI 2026-08-18 18:35:30 -05:00
Adam Honse b222dfeceb Clean up help text some more 2026-08-18 18:30:22 -05:00
Adam Honse 5db5678c1d Add -lp/--list-profiles command line options, clean up help text, and clear active profile on CLI device changes 2026-08-18 18:22:43 -05:00
Adam Honse 433cbc1837 Rework -l/--list-devices to just print a simple list, add -ld/--list-detailed for the full detailed list 2026-08-18 17:37:47 -05:00
Alessandro Di Ronza 069eeccb60 CLI: return a device list again, and print the version 2026-07-27 17:27:54 -05:00
Adam Honse f5a8ecc3f4 Rework RGBController functions that return vector counts to use unsigned int instead of std::size_t, to be consistent with the size used in the network protocol and to fix warnings 2026-07-07 17:13:59 -05:00
Adam Honse 1a62db7246 Fixes for V6+ client on V5- server 2026-07-07 01:35:35 -05:00
Adam Honse e69c9eedae Add display name fields to controller and zone instead of editing the existing name field 2026-07-07 01:35:35 -05:00
Adam Honse 4f1c623093 Use RGBControllerInterface for plugin API 2026-07-07 01:35:35 -05:00
Adam Honse fd7dbd618d LogManager cleanup 2026-07-07 01:35:35 -05:00
Adam Honse 103b5f27bb Settings Rework
* Add JSON string configuration field to RGBController to store device-specific configurations
    * This JSON string holds both configuration and schema
    * Add settings schema tracking to SettingsManager
    * Implement dynamic settings widget that generates a settings UI based on a JSON schema
    * Implement SettingsManager callback for notifying of settings changes and settings schema updates
    * Always enable Entire Device zone option and use it to enable Edit Device
    * Rename SaveSizes to SaveConfiguration in ProfileManager and Sizes.json to Configuration.json
    * Add zone flag for indicating that a zone's geometry may change, informing profile manager to ignore this check
    * Remove Theme setting and Theme Manager, as this didn't work on most setups anyways and Qt6 has proper Windows dark theming
2026-07-07 01:35:35 -05:00
Adam Honse 2868f61766 Rework server initialization
* Only create server instance if server is actually needed
    * Pass initial server host and port through ResourceManager
    * Allow setting default server host and port in Server settings
2026-07-07 01:35:35 -05:00
Adam Honse 92f397544b Rework list handling in ResourceManager by having NetworkClient own its own list rather than sharing ResourceManager's list 2026-07-07 01:35:34 -05:00
Adam Honse 30e35eb44c Split out detection system from ResourceManager into DetectionManager
* Split detection system out into its own class, DetectionManager
    * Clean up ResourceManger's many callbacks into just two, one for detection and one general purpose
2026-07-07 01:35:34 -05:00
Adam Honse c887ea94ff Rework Profiles to use JSON format
* Update OpenRGB Plugin Interface to include functions for loading/saving profile JSON data into OpenRGB profiles
    * Update ProfileManager to handle auto-load profiles (Exit, Open, Resume, Suspend) and move their settings to ProfileManager section
    * Update ProfileManager to store profiles in "profiles" folder in .json format
    * Update ProfileManager to store size profile in sizes.json
    * Update ProfileManager to perform device UpdateMode/UpdateColors when loading profile
    * Code cleanup of ProfileManager and profile-related code
2026-07-07 01:35:34 -05:00
Adam Honse 25a753b97a RGBController API Overhaul
* Reorganize and clean up RGBController API functions
    * Add functions to get protected RGBController member values
    * Make NetworkClient, ProfileManager, and ResourceManager friend classes so they can access protected members
    * Protected previously-public RGBController members
        * Information strings (name, vendor, description, version, serial location)
        * Device type
        * Active mode
        * Flags
        * LEDs vector
        * LED alternate names vector
        * Modes vector
        * Colors vector
        * Zones vector
    * Add CONTROLLER_FLAG_HIDDEN to allow plugins to hide controllers from control GUI
    * Add update reason codes to RGBController update callback and signal updates on more RGBController events
    * Add loop zone types and segmented zone type
    * Add matrix map field to segments
    * Rework matrix_map_type from using pointers to vector to prevent memory leaks
    * Rework KeyboardLayoutManager to return new matrix_map_type
    * Add access mutex to RGBController API
    * Add per-zone modes ot RGBController API
    * Add JSON description functions to RGBController API
2026-07-07 01:35:34 -05:00
Adam Honse c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse 30f9b84d5f Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
Adam Honse 9fb71a30ec Use getter functions when accessing string fields in RGBControllers in ProfileManager and cli 2025-07-31 18:55:12 -05:00
Andre Toerien 3332835417 Use RegisterNetworkClient() with --client 2025-07-03 23:34:08 +02:00
Kyle Rose 4c6bf55c8a Provide more useful CLI error messages 2025-06-04 18:16:45 -05:00
totesNotRosalyn a24a497759 Fix warnings in Qt6 builds 2025-04-18 18:20:15 -05:00
morg 59e303c882 Add missing tags in logs 2025-01-10 08:53:31 +01:00
Adam Honse d0397bc23a Fix warning in cli.cpp 2024-11-26 00:34:56 -06:00
Dmitry K 2c952a54d2 Loading optimization (no GUI changes) 2024-09-26 22:20:48 +00:00
Adam Honse 1bbfded78a Update more file header comments to standardized new format, move some locally owned files out of the dependencies folder 2024-05-08 11:53:07 -05:00
Cyril Bosselut 5f538260a2 Add speed option to CLI 2024-01-31 17:06:29 +00:00
Chris M b9f8243904 Fixed initial brightness for the CLI and fix initial brightness for Lian Li Hub SL V2 controller. 2023-11-29 14:17:16 +00:00
morg 64c7d858bf Ignore server-host pre-detection argument 2023-10-30 08:08:00 +01:00
morg 7d637a502d Add help entry for --server-port option missing 2023-10-27 17:59:41 +02:00
Michal Stawinski a30323f22f Fix "--client" option not working
This fixes "Error: Invalid option: 172.17.0.1" error
that made it impossible to use openrgb with remote
servers.
2023-09-15 21:49:20 -05:00
Chris 5abc13e7df Amending CLI code for "All Devices" to resolve #2918
* Adding `current_devices->size() == 0` check to Mode / Color / Brightness argument parsers to catch "All Devices" case from CLI
2023-04-30 18:15:37 +00:00
morg a0024b8f04 Make sure to correctly set random_colors (uninitialized bool) 2023-04-30 16:14:43 +00:00
Cooper Hall 45be4329c5 Fixed some warnings 2023-03-11 23:25:26 +00:00
Chris 4b29b56029 Fixes passing 0 to --brightness CLI parameter 2023-02-28 21:53:30 +11:00
Adam Honse b25dacd0c0 Remove unnecessary header file OpenRGB.h 2023-02-01 00:33:23 -06:00
Dmitry K b409b5f7cc Added support for unicode paths (filesystem::path approach) 2023-01-18 06:02:55 +00:00
Adam Honse be90537d10 Fix warnings 2022-11-27 02:52:39 -06:00
Chris 04127cb201 Resolves clamp is not a member of std error reintroduced in f8745221.
* Original issue in Debian Buster build https://gitlab.com/CalcProgrammer1/OpenRGB/-/jobs/3359116111#L207
2022-11-26 11:17:17 +11:00
Chris f8745221d4 Added string indexing to -d option to resolve #2854
+ Added zone to `options.device` in cli.cpp
+ replace current_device & current_zone references in parser with
temporary device vector
+ Changed code to accomodate
2022-11-24 18:20:35 +00:00
Chris 1ff192bda2 Resolves clamp is not a member of std error with Buster build.
* https://gitlab.com/CalcProgrammer1/OpenRGB/-/jobs/3359116111#L207
2022-11-23 21:38:33 +11:00
Chris M 32015f1bcb Added -b & --brightness parameters to resolve #2854
* Added the ability to set mode brightness from the command line
2022-11-21 10:28:01 +11:00
Adam Honse 19218f4513 Fix warnings in cli.cpp 2022-09-25 01:03:25 -05:00
Adam Honse c0cb942ea7 Fix warning in cli.cpp 2022-09-14 22:34:30 -05:00