This merge request adds the following:
1. A new class AutoStart, designed to add login startup entries for Linux (FreeDesktop autostart) and Windows (Shortcut File).
1. CLI options to enable, disable and check for autostart. (--autostart-enable, --autostart-disable and --autostart-check). e.g. OpenRGB.exe --autostart-enable "--startminimized --server --profile Blue" --nodetect --noautoconnect
1. UI options to enable "Start At Login" with several other options (see screenshots in Comments)
Tested on KDE Neon and Windows 10 x64 (x64 build).
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* To avoid filtering in the profile manager and to ensure that color_mode is set to MODE_COLORS_RANDOM correctly
for HW that has the mode flags
MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR
The values for speed_min, speed_max, colors_min and colors_max NEED to be initialised to allow for a saved
profile to load correctly in `ProfileManager::LoadDeviceFromListWithOptions`
Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* Fix Windows include error that breaks std::min/max if a Windows header is included (tracked down to
net_port.h)
Commit amended by Adam Honse <calcprogrammer1@gmail.com>
* Allows for the selection of color_mode = MODE_COLORS_RANDOM from the CLI for devices that support it
* For all other implementations will return a random colour from the `human_colors` struct
* To avoid filtering in the profile manager and to ensure that color_mode is set to MODE_COLORS_RANDOM correctly
for HW that has the mode flags
MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR
The values for speed_min, speed_max, colors_min and colors_max NEED to be initialised to allow for a saved
profile to load correctly in `ProfileManager::LoadDeviceFromListWithOptions`
Commit amended by Adam Honse <calcprogrammer1@gmail.com> to remove Aura SMBus change, will add as its own
commit.
git, make, gcc are pre-installed; qt-creator isn't necessary, qt5-qtbase-devel provides qmake-qt5; libusb is now libusbx; libmbedtls is actually mbedtls
* Always sends save command when changing modes, this should be reworked to be optional in a future commit
Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* Added serial number support
* Amended to pass in HID device information for version number rather than enumerate a second time
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* Also reworks the LED update functions to handle zones with more than one LED
* Some other minor code style cleanup in the Rival code
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* Renamed "Obins Lab" to "Obinslab" as that is the name that I saw used most frequently in store listings.
Commit amended for code style and to update the name by Adam Honse <calcprogrammer1@gmail.com>
* Debian builder has been upgraded to buster due to incompatible mbedtls package on stretch
* Mint 19, Ubuntu 18.04 have been disabled for testing as they use incompatible mbedtls packages