This rewrites the functionality we already had for scheduling Hyprsunset using hourly timestamps into a C++ plugin. Functionality should be the same.
It still doesn't store or capture the real state of the hyprsunset process, this is because there's no way to request whether or not hyprsunset has identity active or not, using hyprctl ipc calls.
The best that we could do is to not set identity when turning "off" hyprsunset, and instead set a temperature that is close to (but not quite) identity. That way it could use hyprctl hyprsunset temperature output to determine a real on/off state rather than manually setting a boolean for those states.
This rewrites the functionality we already had for scheduling Hyprsunset using hourly timestamps into a C++ plugin. Functionality should be the same.
It still doesn't store or capture the *real* state of the `hyprsunset` process, this is because there's no way to request whether or not `hyprsunset` has `identity` active or not, using `hyprctl` ipc calls.
The best that we could do is to not set `identity` when turning "off" hyprsunset, and instead set a temperature that is close to (but not quite) identity. That way it could use `hyprctl hyprsunset temperature` output to determine a real on/off state rather than manually setting a boolean for those states.
Due to how small in scale the original code was I think it'd be pretty difficult to see much performance gain with this plugin. I also didn't write it having "performance-first" in mind. But maybe by some metric it's better.
Due to how small in scale the original code was I think it'd be pretty difficult to see much performance gain with this plugin. I also didn't write it having "performance-first" in mind. But maybe by some metric it's better.
There's currently a bug where the Manager doesn't set identity on initialization if current time is outside scheduled time. I will probably fix this by using a three-state enum rather than boolean.
There's currently a bug where the Manager doesn't set `identity` on initialization if current time is outside scheduled time. I will probably fix this by using a three-state enum rather than boolean.
Functionally works. Nothing out of the ordinary in the logs. Code looks fine too.
Since there is a bug, I'd say to resolve that, then it is as good as approved.
Functionally works. Nothing out of the ordinary in the logs. Code looks fine too.
Since there is a bug, I'd say to resolve that, then it is as good as approved.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This rewrites the functionality we already had for scheduling Hyprsunset using hourly timestamps into a C++ plugin. Functionality should be the same.
It still doesn't store or capture the real state of the
hyprsunsetprocess, this is because there's no way to request whether or nothyprsunsethasidentityactive or not, usinghyprctlipc calls.The best that we could do is to not set
identitywhen turning "off" hyprsunset, and instead set a temperature that is close to (but not quite) identity. That way it could usehyprctl hyprsunset temperatureoutput to determine a real on/off state rather than manually setting a boolean for those states.I presume that this would theoretically offset some system resources since C++ would be more efficient? I mean, likely negligible. Will test later.
Due to how small in scale the original code was I think it'd be pretty difficult to see much performance gain with this plugin. I also didn't write it having "performance-first" in mind. But maybe by some metric it's better.
Yea, I have no specific expectation at all.
There's currently a bug where the Manager doesn't set
identityon initialization if current time is outside scheduled time. I will probably fix this by using a three-state enum rather than boolean.Functionally works. Nothing out of the ordinary in the logs. Code looks fine too.
Since there is a bug, I'd say to resolve that, then it is as good as approved.