Meta/Super/Win + P currently opens a nice OSD for managing outputs for displays purely from a keyboard without any mouse interaction. I would like to see a similar implementation for Power Profiles which could be set to Meta/Super/Win + B (currently does nothing on my laptop). This would allow users who are typing or keyboard focussed to quickly adjust the Power Profile of their system if they see their laptop is now at a critical battery level or quickly boost to the Performance profile for some resource intensive task.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/186
Git commit fd29e77b5e6320ad072fbf38c50823438936a382 by Nate Graham, on behalf of Natalie Clarius. Committed on 14/07/2023 at 16:16. Pushed by ngraham into branch 'master'. Add interactive OSD to switch power profiles To trigger the OSD, press Meta+B. It should also work with the battery function key that some laptops have There's a lot of copy-paste from the KScreen OSD so eventually we might want to make it some sort of reusable component. FIXED-IN: 6.0 M +10 -0 CMakeLists.txt M +19 -0 daemon/powerdevilapp.cpp M +1 -0 daemon/powerdevilapp.h A +26 -0 osd/CMakeLists.txt A +20 -0 osd/main.cpp [License: GPL(v2.0+)] A +9 -0 osd/org.kde.powerdevil.powerProfileOsdService.xml A +86 -0 osd/osd.cpp [License: GPL(v2.0+)] A +50 -0 osd/osd.h [License: GPL(v2.0+)] A +27 -0 osd/osdaction.cpp [License: GPL(v2.0+)] A +35 -0 osd/osdaction.h [License: GPL(v2.0+)] A +86 -0 osd/osdmanager.cpp [License: GPL(v2.0+)] A +41 -0 osd/osdmanager.h [License: GPL(v2.0+)] A +12 -0 osd/plasma-powerprofile-osd.service A +6 -0 osd/qml.qrc A +137 -0 osd/qml/OsdSelector.qml [License: GPL(v2.0+)] https://invent.kde.org/plasma/powerdevil/-/commit/fd29e77b5e6320ad072fbf38c50823438936a382
Git commit 54a805765d7f06f016b23fcab9703c63449b6c52 by Natalie Clarius. Committed on 11/07/2023 at 22:57. Pushed by nclarius into branch 'power-profiles-osd'. add interactive osd to switch power profiles FIXED-IN: 6.0 M +10 -0 CMakeLists.txt M +19 -0 daemon/powerdevilapp.cpp M +1 -0 daemon/powerdevilapp.h A +26 -0 osd/CMakeLists.txt A +20 -0 osd/main.cpp [License: GPL(v2.0+)] A +9 -0 osd/org.kde.powerdevil.powerProfileOsdService.xml A +86 -0 osd/osd.cpp [License: GPL(v2.0+)] A +50 -0 osd/osd.h [License: GPL(v2.0+)] A +27 -0 osd/osdaction.cpp [License: GPL(v2.0+)] A +35 -0 osd/osdaction.h [License: GPL(v2.0+)] A +86 -0 osd/osdmanager.cpp [License: GPL(v2.0+)] A +41 -0 osd/osdmanager.h [License: GPL(v2.0+)] A +12 -0 osd/plasma-powerprofile-osd.service A +6 -0 osd/qml.qrc A +137 -0 osd/qml/OsdSelector.qml [License: GPL(v2.0+)] https://invent.kde.org/plasma/powerdevil/-/commit/54a805765d7f06f016b23fcab9703c63449b6c52
A possibly relevant merge request was started @ https://invent.kde.org/plasma/powerdevil/-/merge_requests/416
Git commit 4ef20b2160b47a70764fff57e9a273f9e5ecf0f0 by Jakob Petsovits. Committed on 10/09/2024 at 12:01. Pushed by jpetso into branch 'master'. Cycle through power profiles on Meta+B with non-interactive OSD The interactive OSD implementation from MR !186 was a lot of work, but little discussion happened at the time about whether it should be interactive at all. Arguments have since been made that the low number of selectable power profiles, and the non-destructive character of switching between them, would make power profiles a better fit for immediately switching profiles on shortcut presses with a non-interactive OSD. This commit implements simple power profile cycling on Meta+B in the PowerProfile action, and uses the Plasma OSD service's pre-existing "powerProfileChanged" method to display a non-interactive OSD popup once the profile was applied. In turn, the entire interactive OSD service can be deleted from PowerDevil, reducing complexity. The corresponding global shortcut definition moves from PowerDevilApp to the PowerProfile action, similar to global shortcuts from other PowerDevil actions. (This makes PowerDevil shortcuts actually show up in the Shortcuts KCM as "Power Management" rather than the default app title from KAboutData called "KDE Power Management System".) Related: bug 476921 M +0 -9 CMakeLists.txt M +42 -10 daemon/actions/bundled/powerprofile.cpp M +9 -6 daemon/actions/bundled/powerprofile.h M +0 -18 daemon/powerdevilapp.cpp M +0 -1 daemon/powerdevilapp.h D +0 -28 osd/CMakeLists.txt D +0 -6 osd/Messages.sh D +0 -23 osd/main.cpp D +0 -9 osd/org.kde.powerdevil.powerProfileOsdService.xml D +0 -85 osd/osd.cpp D +0 -47 osd/osd.h D +0 -29 osd/osdaction.cpp D +0 -35 osd/osdaction.h D +0 -102 osd/osdmanager.cpp D +0 -39 osd/osdmanager.h D +0 -12 osd/plasma-powerprofile-osd.service D +0 -6 osd/qml.qrc D +0 -140 osd/qml/OsdSelector.qml https://invent.kde.org/plasma/powerdevil/-/commit/4ef20b2160b47a70764fff57e9a273f9e5ecf0f0