Summary: | Charge Limit section disappears upon changing the settings | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | basm |
Component: | kcm_powerdevil | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jpetso, kde, natalie_clarius, nate |
Priority: | NOR | ||
Version: | 5.24.6 | ||
Target Milestone: | --- | ||
Platform: | Manjaro | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=464535 | ||
Latest Commit: | https://invent.kde.org/plasma/powerdevil/-/commit/127f6aef4ec9626e95c200d5600655bc781b45d6 | Version Fixed In: | 6.0 |
Sentry Crash Report: |
Description
basm
2022-09-14 02:28:54 UTC
Strange. Cannot reproduce with my Lenovo ThinkPax X1 Yoga. The symptoms are also the same on Tumbleweed. With Tumbleweed on an HP Elitebook 840 G3 the Charge Limit subsection quickly disappears the very first time viewing the Advanced Power Settings section. Could well be intentional as i remember reading somewhere that so far Thinkpads are the only laptops that have software configurable charge limit settings. And i just reinstalled my Thinkpad with Tumbleweed("About this System":https://imgur.com/a/V0Abtvd). And just like with ubuntu, The first time i viewed the Advanced Power Settings, the Charge Limit subsection displayed and remained displayed, i chose an intentionally narrow charge range of 45-55%, applied the settings, and there ever after when i view the Advanced Power Settings section, the Charge Limit subsection displays for a couple hundred milliseconds and quickly disappears. Ran tumbleweed updates on my thinkpad 2023-03-22, systemsettings5 updated to 5.27.3-1.2. Happened to look at the Advanced Power Settings yesterday, the Charge Limit section stayed displayed! And my battery was all charged up to 100%, so apparently at some point since my last comment above, it started behaving like i'd never changed the settings. So i re-entered similar settings, this time stop charging at 67% and start at 33%. And now as usual again, when i revisit Advanced Power Settings, the Charge Limit section disappears in a flash. Today the battery's charge has sagged down to 96% so i expect like before my Charge Limit settings will be honored even tho not displayed. No idea why they'd gotten forgotten in the meantime tho, perhaps something to do with package updates. Git commit 127f6aef4ec9626e95c200d5600655bc781b45d6 by Jakob Petsovits. Committed on 15/12/2023 at 07:21. Pushed by jpetso into branch 'master'. Drop "Advanced Power Settings" KCM in favor of a new QML page This commit removes the QWidgets-based KCM in kcmodule/global, and instead adds a new QML page accessible via header action in the existing "Energy Saving" (QML) KCM a.k.a. profiles config. Renaming folder and class names of the profiles KCM to reflect its combined scope is left for a later commit. I modified the "Energy Saving" KCM's JSON file to declare it on the top level of System Settings, and merged extra keywords from the now deleted kcm_powerdevilglobalconfig.json. We'll have to remove the "power-management" category from System Settings after this, as only a single KCM is left. New C++ KCM backend code is mostly moved from GeneralPage.{h,cpp}: * PowerDevil::GlobalSettings provides kcm.settings.global for QML. * KAuth-powered ChargeThresholdHelper settings are accessible via kcm.externalServiceSettings & left out of non-default highlighting. * "Supports $X" properties are added to the KCM class directly. All in all, it's a fairly straight port that doesn't change the underlying data representation apart from the obvious C++/QML split. Only the magic value -1 gets replaced by a constant named ChargeThresholdUnsupported, plus functions for checking support. The UI is also roughly the same. That said, there are some differences: * I replaced the "Configure Notifications" button with a column of two ToolButtons in the style of Quick Settings' "Most used pages". * The start-charging threshold, i.e. the lower bound, previously had a weirdly long spinbox field because it needed to fit the "special value" text "Always charge when plugged in". This looks awkward and is not easily discoverable. Furthermore, QQC2.SpinBox doesn't have a concept of a "special value" and doesn't pre-allocate item width for any given space. I decided to represent this state with numeric percentages only. * "Special value" means display text for the minimum value ("from") of a QSpinBox. The start-charging threshold QSpinBox had no minimum set in generalPage.ui, so its "special value" would have been 0. This makes little sense, "Always charge" for the start threshold is conceptually more similar to "start threshold equals stop threshold". * Hence, the start threshold SpinBox now starts at 1, not 0, and the maximum allowed value is that of the stop threshold from the other field above. If the maximum value is selected, we write the "special value" 0 to the backend. If the backend value changes to 0, we set the UI to the stop threshold value. Related: bug 449254, bug 450276, bug 467797 M +0 -2 kcmodule/CMakeLists.txt M +0 -1 kcmodule/common/CMakeLists.txt D +0 -90 kcmodule/common/ErrorOverlay.cpp D +0 -28 kcmodule/common/ErrorOverlay.h D +0 -19 kcmodule/global/CMakeLists.txt D +0 -266 kcmodule/global/GeneralPage.cpp D +0 -47 kcmodule/global/GeneralPage.h D +0 -4 kcmodule/global/Messages.sh D +0 -277 kcmodule/global/generalPage.ui D +0 -126 kcmodule/global/kcm_powerdevilglobalconfig.json M +3 -1 kcmodule/profiles/CMakeLists.txt A +190 -0 kcmodule/profiles/ExternalServiceSettings.cpp [License: GPL(v2.0+)] A +66 -0 kcmodule/profiles/ExternalServiceSettings.h [License: GPL(v2.0+)] M +0 -2 kcmodule/profiles/Messages.sh M +107 -5 kcmodule/profiles/ProfilesConfigKCM.cpp M +41 -2 kcmodule/profiles/ProfilesConfigKCM.h M +32 -31 kcmodule/profiles/kcm_powerdevilprofilesconfig.json A +364 -0 kcmodule/profiles/ui/GlobalConfig.qml [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)] A +53 -0 kcmodule/profiles/ui/MostUsedItem.qml [License: LGPL(v2.0)] M +8 -1 kcmodule/profiles/ui/main.qml https://invent.kde.org/plasma/powerdevil/-/commit/127f6aef4ec9626e95c200d5600655bc781b45d6 Plasma 6 Beta 2 has new UI code, though similar code as before in order to access the underlying system values for charge limits. Please retest once you have access to Beta 2 or newer. I don't think it should be possible for the new UI to just flicker in and out, because the query code is only run once at module load time. But if it still happens, feel free to reopen. |