Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Option to re-apply settings on startup #468

Open
JohanAR opened this issue Mar 18, 2023 · 5 comments
Open

Feature request: Option to re-apply settings on startup #468

JohanAR opened this issue Mar 18, 2023 · 5 comments
Labels
feature request New functionality that is wished for
Milestone

Comments

@JohanAR
Copy link

JohanAR commented Mar 18, 2023

It seems like every time my Windows dual boot updates its mouse drivers it messes up my colour settings. Would be nice if I could configure Polychromatic to check if the mouse's current settings are different from my saved settings, and re-apply them if necessary.

In Polychromatic I have configured a teal base colour, with orange scroll wheel and logo. But the Windows drivers doesn't appear to support multiple colours (without using Synapse, which I don't have installed) so it makes the entire mouse orange.

@lah7 lah7 added the feature request New functionality that is wished for label Mar 20, 2023
@lah7
Copy link
Member

lah7 commented Mar 20, 2023

Yep, this is on the roadmap as "Triggers".

For now, you can set up a script to run at login, and use the CLI interface to accomplish this:

#!/bin/bash
polychromatic-cli -d mouse -e static -c 008080 -z main
polychromatic-cli -d mouse -e static -c FFA500 -z scroll,logo

This would be applied every time you boot into Linux, as OpenRazer doesn't actually know for sure what the effect state of a device is - it has to rely on a persistence file (software) to tell Polychromatic what it's currently doing. That said, openrazer-daemon is supposed to re-apply settings at start-up (if enabled in ~/.config/openrazer/razer.conf).

Just out of interest, which mouse is affected by this?

@JohanAR
Copy link
Author

JohanAR commented Mar 20, 2023

Thanks! I'll try changing restore_persistence = True in razer.conf, since I just saw that it was defaulted to False.

When I click "device info" in Polychromatic, it loads settings from the hardware, right? I was thinking it might be possible to compare this with values saved to disk in order to unnecessary writes, but I haven't looked into how this software actually works, and I don't really know who does what between Polychromatic and OpenRazer

It's a Basilisk V3

@lah7
Copy link
Member

lah7 commented Mar 20, 2023

"Device Info" is a mix-match, it's just listing what the app knows from OpenRazer and its own logic. Most things like serial, firmware version, DPI, battery, brightness levels do come directly from the device, but "what effect is currently set?" are "what effects do you support?" are handled in OpenRazer's software.

Pretty sure openrazer-daemon is already keeping a record via persistence.conf - I think that updates a few seconds after making a change, and/or again when the process shuts down.

In either case, when Polychromatic introduces this feature, it'll just be more convenient interface to set up a specific configuration, and assume the device could be in any state. Dual booting alongside Razer Synapse makes this obvious - due to the official driver controlling everything in software and sending frames over USB.

@JohanAR
Copy link
Author

JohanAR commented Mar 21, 2023

Ok. Should I close this issue since this feature is planned, albeit with a different name, or keep it open?

@lah7
Copy link
Member

lah7 commented Mar 21, 2023

That's okay - we can keep it open. I'll close the issue(s) once the feature is in the development branch. No ETAs!

@lah7 lah7 added this to the Triggers milestone May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New functionality that is wished for
Projects
None yet
Development

No branches or pull requests

2 participants