Download raw body.
Control battery charging support in x11/kde-plasma/powerdevil
Control battery charging support in x11/kde-plasma/powerdevil
Control battery charging support in x11/kde-plasma/powerdevil
On Fri Jun 07, 2024 at 12:20:41PM +0200, Omar Polo wrote:
> On 2024/06/07 11:20:29 +0200, Rafael Sadowski <rafael@sizeofvoid.org> wrote:
> > Please find below a simple patch to add control battery charging support
> > in powerdevil aka KDE Plamsa - systemsettings via sysctl(2).
> >
> > I would be happy if someone would take a look at the code.
>
> never used plasma so haven't tested, but fwiw the sysctl(2) bits looks
> fine to me.
Thanks for your feedback!
>
> > [...]
> > ++#if defined(__OpenBSD__)
> > ++static bool isThresholdSupported()
> > ++{
> > ++ int mode;
> > ++ size_t len = sizeof(mode);
> > ++ int mib[] = {CTL_HW, HW_BATTERY, HW_BATTERY_CHARGEMODE};
> > ++ return (sysctl(mib, 3, &mode, &len, NULL, 0) != -1);
>
> I was a bit surprised by this initially. However, you're just testing
> whether the hw.battery node is available, so this seems fine to me.
> Maybe add a comment just in case? Just to save a few seconds to the
> next one glancing at this.
Yes, that was my idea, I have no other way of checking whether this feature is
available. Good point I'll add a comment.
>
> > ++}
> > ++
> > ++static int getBatteryCharge(const int type)
> > ++{
> > ++ int percentage = -1;
> > ++ size_t len = sizeof(percentage);
> > ++ int mib[] = {CTL_HW, HW_BATTERY, type};
> > ++ sysctl(mib, 3, &percentage, &len, NULL, 0);
>
> maybe consider checking whether sysctl returns successfully here or not.
> If we call this, it means that thet hw.battery node exists, so this
> shouldn't be failing, but still it doesn't cost much to add an if.
Yeah, I didn't see the point. if sysctl(2) fails I return -1 (default). If it
passed I return the value set by sysctl. I safe code and one more return
statement.
>
> > ++ return percentage;
> > ++}
>
>
>
> Thanks,
>
> Omar Polo
>
Control battery charging support in x11/kde-plasma/powerdevil
Control battery charging support in x11/kde-plasma/powerdevil
Control battery charging support in x11/kde-plasma/powerdevil