This week in KDE: Power profiles and a more polished Kickoff

This week I have two particularly large things to present! Not Steam Deck levels of large, but still pretty cool, I think. 🙂

First of all, David Redondo and Kai Uwe Broulik implemented the power profiles feature! This allows you to specify how your computer should balance energy use against performance. You can switch modes at any time using the Battery and Brightness applet, and you can configure which profile gets used automatically when plugging or unplugging the power cord. The feature will be available in Plasma 5.23 with a newer computer that supports it when using Linux Kernel 5.12 or greater.

Hmm, this thing is starting to look a bit crowded

Next, the new Kickoff launcher menu that was introduced in Plasma 5.20 has received a gigantic code overhaul which fixes many bugs, improves performance and accessibility, tightens up the user interface, and adds a few commonly requested features. Among the fixes:

Here’s how it looks now:

Big thanks to Noah Davis for completing this exhaustive change! It will be released in Plasma 5.23.

More New Features

You can now configure whether the footer action buttons in Kickoff have text or not, and you can opt to show all the power and session actions at once if you prefer (Maxim Leshchenko, Plasma 5.23):

Sensor labels in System Monitor can now be changed and given custom text (David Redondo, Plasma 5.23)

The System Settings Login Screen page’s synchronization feature now syncs your screen arrangement as well, so that the login screen UIs are positioned properly on all your physical screens (Aleix Pol Gonzalez, Plasma 5.23):

Bugfixes & Performance Improvements

Konsole’s window is no longer a tiny tiny rectangle the first time you launch the app (Konsole 21.08)

Okular now scrolls by the correct distance using the PageUp/PageDown keys when its scrollbars are disabled (David Hurka, Okular 21.08)

The “Start a Slideshow” menu item in Dolphin’s context menu is now translated (Yuri Chornoivan, Gwenview 21.08)

Opening the Digital Clock applet’s settings dialog no longer closes the applet’s popup if it has been deliberately pinned open (David Redondo, Plasma 5.22.3)

When using systemd-homed, entering your password incorrectly once on the login screen no longer causes all subsequent unlock attempts to fail (Gibeom Gwon, Plasma 5.22.4)

The Bluetooth widget now works properly when placed directly on the Panel, as opposed to when it lives in the System Tray (Nicolas Fella, Plasma 5.22.4)

System Monitor is now hugely faster to launch (David Redondo, Plasma 5.22.4)

The grid items in the System Tray’s expanded popup are now always perfectly pixel-aligned so they will not become blurry (Derek Christ, Plasma 5.22.4)

Using QTimer in KWin script now works again (Vlad Zahorodnii, Plasma 5.22.4)

In the context menu for desktop items, pressing the shift key to switch between “Move to Trash” and “Delete” now works when a sub-menu is open (Derek Christ, Plasma 5.22.4)

Global shortcuts for apps whose desktop files have uppercase characters in their filenames now work properly, and their entries in the System Settings Shortcuts page now always display the correct icons (David Redondo, Plasma 5.22.4)

Plasma Notifications with embedded links now use the link color from the Plasma theme rather than the application color scheme, fixing bugs in cases where these differed such as when the Breeze Twilight theme is applied (Kai Uwe Broulik, Plasma 5.22.4)

Category lists in the Unsplash Picture of the Day wallpaper’s configuration page are now sorted alphabetically, rather than semi-randomly (Arnaud Vergnet, Plasma 5.22.4)

Website Favicons displayed in KRunner that come from a browser using Plasma Browser Integration are now nice and crisp when using a high DPI scale factor (Kai Uwe Broulik, Plasma 5.22.4)

Opening the System Settings User Feedback page no longer briefly makes Discover appear in the Task Manager (Plasma 5.23)

In the Plasma Wayland session, global shortcuts once again work while popups that would otherwise steal focus (on X11) are open (Andrey Butirsky, Plasma 5.23)

Fixed a case where searching in Dolphin could cause the kdeinit5 process to crash (Ahmad Samir, Frameworks 5.85)

User Interface Improvements

Dolphin’s Places panel now elides text when it’s not wide enough to show everything, rather than showing a horizontal scrollbar (Eugene Popov, Dolphin 21.08):

Every one of Dolphin’s zoom levels now has a different icon size associated with it; no longer will changing the zoom level sometimes cause the size of the grid to change but the icons stay the same size (Eugene Popov, Dolphin 21.12)

Panels using the Adaptive Transparency feature now enter transparent mode when the Show Desktop effect is in use (David Edmundson, Plasma 5.22.4)

When multiple devices are mounted, the Device Notifier applet now shows the “Unmount All” action inside the hamburger menu instead of as the lone button on a new toolbar that appears (Eugene Popov, Plasma 5.23):

When browsing app lists in Discover, the icon of the source that the app comes from is now displayed inside the button that also lists the name of the source (me: Nate Graham, Plasma 5.23):

The Kimpanel candidates popup now looks better (Mufeed Ali, Plasma 5.23):

The question mark button in the titlebar is now hidden by default for dialog windows (me: Nate Graham, Plasma 5.23)

Discover no longer misleadingly shows the wrong date of last update for apps that fail to provide this information themselves (Aleix Pol Gonzalez, Plasma 5.23)

In System Monitor, the app-specific process list view now sorts by memory usage by default, just like it does elsewhere (Felipe Kinoshita, Plasma 5.23)

Event indicator dots on the Plasma Calendar widget and the Digital Clock popup are now more visible no matter what color scheme or Plasma theme you’re using (Carl Schwan, Frameworks 5.85)

Kirigami-based apps’ “About” pages now display a “Get Involved” link that takes you to https://community.kde.org/Get_Involved (Felipe Kinoshita, Frameworks 5.85):

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

64 thoughts on “This week in KDE: Power profiles and a more polished Kickoff

  1. It’s always great to see and follow the frank evolution and development of Plasma and I can’t wait for Plasma 5.23. 🙂
    Plasma Wayland session on Arch Linux is very smooth with each release! 🔝

    Too bad I can’t report Plasma bugs in Arch, because the distro doesn’t have the debug packages.

    Thank you always, Nate and other developers of the KDE Community, for all the effort, time and dedication!
    Eternal gratitude!!! 🙏

    Liked by 1 person

  2. Hey Nate, like always a really cool report with plenty of hot new stuff.

    I have a question, shouldn’t the power profiles be hidden by default? Isn’t it a bit of a power user thingy?

    I don’t remember ever fiddling with this either in Windows or in OSX or in Android. I am guessing that this is handled behind the curtains in those systems?

    Thansk and great work!

    Liked by 1 person

    1. In windows you can choose between power profiles very similarly than shown here. It can be very handy depending on the situation you are.

      Like

  3. > Hmm, this thing is starting to look a bit crowded

    Easy fix: Don’t display it by default. Have PowerDevil settings list a bunch of Checkboxes which sliders to show. I might be on a notebook that’s hooked to the power cord all the time and may not care for battery status.

    Btw, why did that feature come back? I’m happy about it but during Plasma 4.x it was said that “balanced is enough” and if you want other power profiles, specify a CLI command in the activity settings.

    Like

    1. Yeah, it is also displayed in the Powerdevil KCM.

      However if you’re on a laptop that’s always plugged in, your battery should be always charged, so the Battery & Brightness applet will not show up in the active area of your System Tray. It effectively works like that already. 🙂

      I don’t know how the KDE4 feature was implemented, but I suspect it was simply changing the CPU governor which is a fairly brute force tool. This one is fairly sophisticated and relies on kernel and vendor support. It relies on multiple heuristics to determine the computer’s position, e.g. is it on a lap? Is it too hot? And so on. It is like a turbocharged version of TLP.

      Liked by 2 people

    2. Battery isn’t always charged when setting the charging threshold to a lower percentage (eg. 60%). Then Plasma shows the battery charge status. At least that’s the way Plasma5 behaved last I’ve checked.

      Like

    3. > Easy fix: Don’t display it by default.

      I have to disagree, I think this is one of the most useful settings regarding battery. If I want to change this setting, I’ll want to do it on the fly. It’s not just a permanent setting that I configure once in System Settings and forget about later, it’s dynamic enough to warrant inclusion in this popup.

      I have a different suggestion: Use a toolbar of toggle-able (mutually exclusive) buttons for the Power Profile settings. You’d have Power Save (or Save Power?), Balanced and Performance as button labels and the slider disappears. This breaks up the visual repetitiveness and still makes sense semantically – sure, the slider represents a monotonic sequence of battery vs. performance trade-offs, but mainly this gets conveyed through the left-to-right order already. Instead of two rows for slider + labels, you just have one row for buttons (with embedded labels, but it looks like one row).

      Try it out, I think it’ll work great.

      Like

    4. We tried using conjoined mutually exclusive buttons, but the problem was the we couldn’t guarantee that there would always be enough room in all languages; what fits in English may not fit in German or Brazilian Portuguese, for example.

      Like

  4. Hi Nate.
    Just a quick question. I’m eagerly waiting for USB sounds on connecting and disconnecting devices. I bet a lot of people are waiting for it too. You see, for a power user, dmesg shows what you need, but for a beginner it’s very hard. A notification would be great as well. New wifi adapter connected, new printer, etc.

    Liked by 1 person

  5. The Global Shortcuts for uppercase name drove me mad 2-3 months ago as I though it was some misconfiguration from my side. Quite Surprised to see it in the bug fixes as I never though it might be a bug & I am now really Glad it is fixed now.

    Like

  6. > Hmm, this thing is starting to look a bit crowded

    It says “Battery and brightness” and battery is the only one which only shows information but has no direct function: You could place it in order, ie on top, and the rest beneath with some padding to the battery. Maybe then it would less crowded. 🙂

    Liked by 1 person

  7. It would be great if Dolphin’s Places panel also had the option to show icons only, hiding the text, as implemented in the kickoff.
    This option is very welcome for those who have small screens with low resolution!
    Thanks to the entire KDE team for the great work.

    Liked by 1 person

  8. Congratulations with all the good progress.
    Can I now also type a space to search in the new kickoff?
    That is not possible in the current one.
    To distinguish between the three “System ” modules that all have a space, so I have to use the arrow keys.
    Thanks!

    Like

    1. @noadvs:
      To be more clear, I intended to say the the search field is no longer updated after typing a space.
      The person who designed the keyboard input decided: no spaces in search strings (and also only suggest something if one types at least 3 characters).
      So if you want to start System Information, and type “system i”, only the module System Settings is suggested because somehow that is the first one in the list.

      Like

    2. > To be more clear, I intended to say the the search field is no longer updated after typing a space.

      Ah yes, I can reproduce this behavior. I’m not sure if it was always like this or not because the code that handles this isn’t in Kickoff. I can see how it would be useful for the search results to update after entering a space.

      > The person who designed the keyboard input decided: no spaces in search strings (and also only suggest something if one types at least 3 characters).

      I only need to enter 1 character to start getting search results.

      > So if you want to start System Information, and type “system i”, only the module System Settings is suggested because somehow that is the first one in the list.

      Yeah that ordering does seem weird.

      Like

    1. It’s something I think about periodically. There are really two elements to this: 1) moving to the kde.org domain and 2) getting a team involved so it’s not just me doing it.

      1) is a bit of a technical challenge because this blog uses the WordPress CMS, and to my knowledge Wordpres sis not used for any other KDE stuff. So we would need to either host an instance there (incurring sysadmin/web admin overhead) or move the existing content over to a new CMS, which would be really challenging. But it’s all technically doable.

      2) would involve are some clear upsides. Right now this blog has a bus factor of one, which is not good. Also it reflects my personal interests and areas of focus; you’ll notice I don’t blog much about changes to KDE PIM projects, or Plasma Mobile, or the games, or the educational software. So there is “personality bias” here that would be resolvable if there were more contributors.

      On the other hand, there are downsides and social challenges. KDE is so vast that it truly is almost impossible to write about everything that happened in a whole week. There’s just too much; the blog posts would be 15 pages long and people would lose interest. So you need to do a lot of curating to keep the size of each post short and sweet. Sometimes that means being brutal about deciding to exclude certain changes. For example I don’t blog about backend code changes unless they have user-visible effects, even if they are really important, foundational improvements. Were more prople involved, these kinds of stylistic choices would inevitably be challenged, because different people value things differently and see the world through different eyes.

      So convening a team would require harmonizing everyone’s preferences, creating a “culture” of how the blog works, resolving disputes, coordinating between members and so on. All of this involves overhead that currently does not exist, And there would be pressures to innovate–perhaps even to automate certain information gathering to reduce the workload. And being written by several people, the tone would change to be less of one person’s personality and have more of a neutral, middle-of-the-road communication style.

      I wasn’t around for it, but I’m told that this is more or less what happened with the previous incarnation of this service, the KDE “commit digest”: it went through a process of being a personal blog thing, then growing, getting a team, becoming semi-automated… and then eventually collapsing because it had lost the personal touch that people originally liked about it. I want to avoid that same fate here. Then again I wasn’t around back then, so I would really appreciating hearing from people who were regarding why they think the Commit Digest petered out.

      Liked by 2 people

    2. > On the other hand, there are downsides and social challenges. KDE is so vast that it truly is almost impossible to write about everything that happened in a whole week. There’s just too much;

      You could split it into categories:

      Nate’s summary, PIM’s summary, Plasma Mobile summery etc. and thisweek.kde.org would simply be the landing page to choose your category of interest. I can already imagine that. Would be real fancy! 🙂

      Liked by 1 person

    3. You don’t have to move to another server host to have a subdomain like thisweek.kde.org

      You just setup the CNAME for “thisweek” on the “kde.org” domain to point to the same IP as the current server for this wordpress instance. Then have LetsEncrypt cert to both pointieststick.com and thisweek.kde.org (you can have more than one SAN for a cert).

      Alternatively, kde.org could reverse proxy the “thisweek” subdomain to your server and they handle the TLS cert on their end for their subdomain, or one of the FQDN could redirect to the other.

      That’s three approaches where the infrastructure doesn’t really change. No need to complicate things further 🙂

      Like

    4. Heh, as you can see, I know nothing about web stuff. 🙂 That part seems more reasonable, then.

      Like

  9. Meanwhile, users are still inadvertently having their browsers in reduced motion mode unless they move the animations speed slider in system settings every time they start KDE.

    Liked by 1 person

    1. I thought we already discussed that this was intentional; if you disable animations, then turning on the “reduce motion” mode in browsers makes total sense, no?

      Like

    2. Reduce motion in browsers is an accessibility feature addressed to those sensible to animations, Plasma setting is more about visuals and thus why it is frustrating, perhaps they should be two different things.

      Like

    3. Being able to turn off animations entirely is likewise an accessibility feature. We implemented it specifically for the people who get physically nauseous by animated movements (it’s a thing). I imagine that’s why web browsers have a similar feature. So I don’t really understand the use case for wanting animations in your web browser but not anywhere else. Can you provide an example use case?

      Like

    4. Firefox specifically mentions in it’s docs for reduced motion preference query (webdev CSS feature via `@supports`), that it will enable it when kwin animations are set this way too.

      Not sure what Chrome does. So I don’t know if you’ll find any fix if that decision is outside of the KDE devs but by the browser devs.

      Like

    5. Like I already said in another comment, I don’t disable animations, I have them enabled. On KDE start, despite having the animation speed NOT set to immediate, gtk-enable-animations is 0 unless I move the slider to another position and save the settings, thus making web browsers go into reduced motion mode.

      So basically I have to do that every time I restart my computer.

      Like

    6. Sounds like a bug in the breeze GTK theme or else in kde-gtk-config. I would encourage you to file a bug report about it with all the relevant information you can think of so we can investigate.

      Like

  10. “… it is sitting in your lap.”

    Really? Unless linux has some neural network trained to *actually* detect this, for the love of my sanity, stop using such sloppy language. I can’t even tell whether this is supposed to be some funny way to describe the laptop being unplugged, overheating or else altogether.

    What comes next, Plasma addressing me with “you” everywhere like windows does (urgh, I still haven’t gotten used to that)?

    Like

    1. That would be even less accurate. 🙂 The kernel feature does actually try to detect when it’s sitting on a lap. I believe it uses the device’s accelerometers to detect when the angle is not flat and is periodically changing. So even if we don’t say, “the computer is on your lap” we need to somehow indicate that the system has detected that it’s not being used on a desk.

      Like

    2. Then give us that information: “The performance mode is not available because the device has detected that it is not sitting on a flat surface.”
      Also, I don’t think it should say computer here. I don’t really associate computer with anything unpluggable and portable. if possible, it should detect the form factor and use that.

      Like

    3. What if I am using my laptop on a table on a BOAT, in a storm! THEN WHAT!? =) Also, in this day and age, people without legs will get offended if you use the word “lap”.

      Like

    4. The being on a lap is the assumed cause of the problem, the system is using the motion-detection to determine when this might be the situation, the performance-affecting problem is the cooling being compromised. Hence, saying something about the performance mode being unavailable due to the cooling being compromised, might be a good way to word it. Some further info about lap/motion could still be added somewhere if necessary.

      Like

    5. “Also, in this day and age, people without legs will get offended if you use the word “lap”.”
      Actually, in this day and age, people with legs who sexually identify as legless will get offended if you use the word “lap.”

      Like

    6. I use my laptops on cooling pads when they’re on my lap so I’d hope to be able to disable this.
      No problem with laptops getting hot if you’re insulated from them after all 🙂

      Like

    7. The cooling-pad-on-lap use case is interesting. Since this detection comes from upstream of us, you would need to report this to PPD or the kernel. Perhaps if the temperature is low enough, non-flat-surface detection could be automatically disabled.

      Again this would need to be fixed. implemented upstream of any KDE code.

      Like

  11. Hi Nate,

    I appreciate your work on Plasma.

    I wanted to know what is the progress about that Corner bug with spots. Is it being fixed. Any timeline for that. It is very annoying.

    Regards

    Like

    1. No timeline. There are various in-progress efforts to do so, but it turns out to be a somewhat complicated problem (which is why it keeps happening).

      Like

  12. Hi Nate,

    A little question about the power profiles: you wrote “The feature will be available in Plasma 5.23 **with a newer computer that supports it** when using Linux Kernel 5.12 or greater”.
    How to know that the hardware will actually support it ?

    For the rest, as always, big thumbs up to the whole KDE community ❤

    Like

  13. “Hmm, this thing is starting to look a bit crowded”
    IOn the face of it, it doesn’t look that bad to me yet.
    Have you considered separating them out into “Battery” settings and “Brightness” settings? Like we don’t have “Volume” settings there too, they’re in a separate panel.

    Like

    1. Or make this new section with power profiles collapse-able, similar to Wi-Fi network shows/hides extra content when being clicked on. There’s already an good place for it: the Battery section indicating current charge percent with figures, text and simple colored bar. It could be made interactive.

      Like

  14. Hey that’s great news about the new performance profile! Maybe it could have a collapsible section that is collapsed by default to hide the “powerful when needed” parts.

    I really appreciate all the little detail work, this is what makes KDE such a joy to use.

    Liked by 1 person

  15. Hooray, new cool stuff all over the place!

    Love the improvement on Kimpanel, which is not that famous usually in terms of fixes and new features.

    I’m starting to lose hope for setting primary display in Wayland. Looks like it won’t make it to 5.23, at least I haven’t heard of any attempt to implement this.

    Like

  16. I’m happy with kickoff improvements, but I still don’t see options that would make it even more awesome, like:
    – positioning, for example, instead of showing up near the launch icon, it could show up in the center of the screen in the same height above the panel/dock, like in Window11 effect (I know that there are menus to download which do that, but they are never as good as the ones that come with the system)
    – ability to resize the whole pop up window with resizing the content (manually changed or automatically), I would wish to create something like the dashboard out of it but not fullscreen, ca. 80-90% of the screen or whatever size, so it would look cool and replace the old and neglected dashboard)

    Like

  17. Hi!

    Are the power profiles available in the 5.23 beta? I’m running linux 5.14.5 and the beta, but I don’t see anything on the battery menu or in the system settings? Was this removed from the release at the end? I would guess that my new laptop supports this.

    Thanks for the help!

    Like

    1. It made it into the release. Your laptop needs to support it, and then you also need to have the power-profiles-daemon package installed, which provides middleware support (it talks to both Plasma and the Kernel to make the feature work).

      Like

Leave a comment