Conversation
|
#1667 covers it with a better implementation imo |
You've got it wrong. Although a power panel in the nexus is i think very much required, my implementation is for a completely different thing. #1667 allows us to make battery warning while mine is specifically for devices with battery. Manufactures make a conservation mode locking the battery percentage and making it use the power straight up from the source, this PR and #1667 serve two completely different purposes and can coexist. #1667 configures desktop notifications and caelestia, this PR controls hardware battery |
430084a to
62e2e98
Compare
24afa1a to
89970a0
Compare
1867012 to
a818bf5
Compare
a818bf5 to
305caec
Compare
|
I quite like the idea, but I'm wondering also on how many devices this would work. I had to fix this in my BIOS directly. But this is imo very cool |
054f16a to
d055509
Compare
…and conservation mode
… satisfy clang-tidy
…oolproof QML control rendering
… error, and fix card states
…ation order, and write guard
…lf-healing errors
…odernize translations * feat(services): dynamic sysfs detection for Lenovo IdeaPad, Asus, LG, Samsung, Apple Silicon, and generic power supply - Scan /sys/bus/platform/drivers/ideapad_acpi/*/conservation_mode dynamically via QDir globbing, including VPC2004:00/01 platform devices - Add support for Samsung battery_life_extender (80% cap) and Apple Silicon macsmc-battery - Add generic fallback for /sys/class/power_supply/*/charge_control_end_threshold and legacy charge_stop_threshold - Drop incompatible legacy huawei-wmi path that expects space-separated string pairs in favor of standard kernel power_supply loop * feat(services): detect read-only sysfs and BIOS threshold locks - Check sysfs write permissions and expose isReadOnly property to QML - Guard writeValue, toggle, and setThreshold against read-only sysfs nodes - Disable QML controls and show "Locked in BIOS (%1%)" with descriptive tooltip when locked * fix(services): robust threshold handling and dynamic notifications - Snap off-tier threshold requests to closest tier via std::ranges::min_element - Map binary conservation threshold calls to target cap boundary (<= 60% enable, 100% disable) - Replace CONSTANT with NOTIFY controlTypeChanged on hardware capability properties - Gracefully format subtitle as "Limit disabled" when threshold reads 0 * feat(bar/i18n): modernize Battery.qml to Caelestia.I18n Tr framework - Replace all qsTr usages with Tr.tr, Tr.trCtx, and Tr.trN - Remove empty unsupportedCard to avoid placeholder clutter on desktop systems
…vent overwriting error status
… tighten pkexec timeout
2d8d24a to
9f5964c
Compare

Summary
Adds battery charge threshold & conservation mode control to the battery popout with multi-vendor sysfs detection.
Changes
ideapad_acpi), ASUS, Huawei, LG, Samsung, Apple Silicon (Asahi), and standard Linux kernelcharge_control_end_threshold.Tr.trtranslation system.Preview