[Feature Request] Run OpenRGB as a singleton by default
_This was originally incorrectly a bug report and has been updated to a feature request._ ### Description of Feature Request Multiple instances of OpenRGB can be run at the same time. Many applications enforce singletons to reduce complexity. Can OpenRGB? ~~This creates a problem because the first instance gets control of all hardware, so other instances cannot control any devices. Yes, sure, "Don't run it again!", but... here we are :laughing:~~ #### Reproduce ~~1. Start OpenRGB, load a profile.~~ ~~2. Minimize it to the systray.~~ ~~3. Wait until you forget about it.~~ ~~4. Start a second OpenRG instance. All supported devices are detected, but no color changes work (at least with my hardware on Linux, YMMV?)~~ 1. Start OpenRGB 2. Second a second OpenRGB. #### Potential Solution Create a PID Lockfile to ensure a singleton. Reference: [StackOverflow - How to create a single instance application in C or C++](https://stackoverflow.com/questions/5339200/how-to-create-a-single-instance-application-in-c-or-c). Second instances would ideally exit with an error modal, then set mouse focus to the original instance. Consider a `--allow-multiple-instances` flag if there are intended use cases for multiple instances.
issue