This week in KDE: the Plasma 5.24 beta

This week we released the Plasma 5.24 beta, so go check it out and file bug reports! We spent most of the week preparing for it and fixing bugs, which we’ll continue to do for the next month in preparation for the final release.

New Features

The Disks & Devices applet now offers you the option to open Partition Manager with the specified partition (me: Nate Graham, Partition Manager 22.04):

You can now configure which apps handle geo:// and tel:// links (Volker Krause and Kai Uwe Broulik, Plasma 5.24):

Bugfixes & Performance Improvements

Gwenview no longer sometimes crashes when you zoom out on an image while in full screen mode (Nicolas Fella, Gwenview 21.12.2)

Elisa no longer sometimes crashes when trying to enqueue files (Yerrey Dev, Elisa 21.12.2)

The overwrite dialog shown when extracting files using Ark that have the same name as other files already there no longer always misleadingly says, “The files are identical” (Albert Astals Cid, Ark 22.04)

Taking a screenshot with Spectacle using the terminal flags (e.g. spectacle -bc) no longer causes two notifications to be shown (Antonio Prcela, Spectacle 22.04)

The System Settings Printers page no longer displays long printer names in an ugly pixelated way when using a high DPI scale factor (Kai Uwe Broulik, print-manager 22.04)

In the Plasma Wayland session, fixed a case where KWin could randomly crash (Vlad Zahorodnii, Plasma 5.24)

In the Plasma Wayland session, the System Settings Font Management is now available (David Edmundson, Plasma 5.24)

Turning off a monitor no longer sometimes causes your panels to disappear (Marco Martin, Plasma 5.24)

Fixed various graphical glitches with multi-monitor setups (Xaver Hugl, Plasma 524)

Close buttons on tabs no longer inappropriately always have circles around their “X” symbol (Luke Horwell, Plasma 5.24)

Initials text in the System Settings Users page no longer sometimes overflow (me: Nate Graham, Plasma 5.24)

Downloading “Get New <stuff>” items with dependencies once again works (Alexander Lohnau, Frameworks 5.91, though distros should be backporting the fix ASAP for 5.90)

In the Plasma Wayland session, Help Center should no longer sometimes randomly crash when moving the cursor or hovering over links (Christoph Cullmann, Frameworks 5.91)

In the Plasma Wayland session, opening and closing the Widget Explorer sidebar no longer rearranges your windows (David Edmundson, Frameworks 5.91)

System Settings pages with “Get new <stuff>” buttons now use less memory (Alexander Lohnau, Frameworks 5.91)

User Interface Improvements

You can now find System Settings and Info Center pages by searching for their keywords in KRunner-powered searches in KRunner, Kickoff, the Overview effect, etc. (Alexander Lohnau, Plasma 5.24)

Plasma Folder View now always shows tooltips for items whose titles are elided, just like Dolphin does (me: Nate Graham, Plasma 5.24):

You can now middle-click on the Bluetooth applet to turn Bluetooth on or off (me: Nate Graham, Plasma 5.25)

Search fields in Kirigami-using apps now have a little magnifying glass in them, and it even has an animated disappearance effect when you focus the search field (Carl Schwan, Frameworks 5.91):

The Places Panel (including in Dolphin!) now has a little Eject button in it next to ejectable/unmountable disks (Kai Uwe Broulik, Frameworks 5.91):

KHamburgerMenu menus now have a simpler design for the bottom items: there is now a “More” item at the very end that shows you all the rest of the menu items, and the “Help” item is right above it, and both have proper icons (Mufeed Ali, Frameworks 5.91):

Bottom navigation bars now use the new selection style (Felipe Kinoshita, Frameworks 5.91):

…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.

This week in KDE: better MTP support

Many of us are still getting over our new years’ food comas, but we managed to get some cool things done anyway!

New Features

Task Manager tooltips for windows that are playing audio now show a volume slider under the playback controls (Noah Davis, Plasma 5.24):

Bugfixes & Performance Improvements

Okular is now more reliable about opening and signing different kinds of password-protected documents (Albert Astals Cid, Okular 21.12.1)

Okular no longer renders fictionbook documents with incorrect whitespace in certain places, and now shows their keywords in the properties dialog (Yuri Chornoivan and Lenny Soshinskiy, Okular 22.04)

Okular no longer leaks memory when viewing documents with Optional Content links (Albert Astals Cid, Okular 22.04)

Connectivity with MTP devices now works much better overall: they now display correctly in the Disks & Devices applet, opening one in Dolphin now refreshes the view automatically when you follow the provided instructions by unlocking your device and allowing access, and the instructions are now clearer and more actionable (Harald Sitter, James John, and me: Nate Graham–but really mostly the first two guys, Plasma 5.24 and Dolphin 22.04)

Bluetooth devices that connect in a nonstandard way like PlayStation Dualshock 3 Wireless Controllers now appear in the Bluetooth applet after being connected (Bart Ribbers, Plasma 5.23.5)

Turning a monitor off and back on no longer sometimes causes certain windows to be resized (Xaver Hugl, Plasma 5.24)

Clicking the Pause button on System Settings’ File Search page now actually pauses indexing (Yerrey Dev, Plasma 5.24)

In the Plasma Wayland session, fixed a case where window thumbnails could fail to appear on Task Manager tooltips with certain configurations (David Edmundson, Plasma 5.24)

The kimpanel popup no longer flickers while entering CJK text (Rocket Aaron, Plasma 5.24)

You can now change the user or group of a file or folder on the desktop (Ahmad Samir, Frameworks 5.91)

Snap apps no longer inappropriately appear as mounted volumes in Places panels (Kai Uwe Broulik, Frameworks 5.91)

Re-mapping keys with the System Settings Advanced Keyboard page now causes any swapped modifier keys to be correctly handled by global keyboard shortcuts (Fabian Vogt, Frameworks 5.90)

User Interface Improvements

The Battery and Brightness applet now turns into just a Brightness applet on computers with no batteries but any brightness controls (Aleix Pol Gonzalez, Plasma 5.24):

Plasma applets with scrollable views now use a more consistent style (Carl Schwan, Plasma 5.24):

The Scale effect is now used by default for window opening and closing, instead of the old Fade effect (Vlad Zahorodnii, Plasma 5.24)

Items are now selected after being moved or created on the desktop (Derek Christ, Plasma 5.24)

You can now see network speeds in bits per second in System Monitor applets and the app (Vishal Rao, Plasma 5.24)

In the Plasma Wayland session, the System Tray item for showing and hiding the virtual keyboard now becomes active only in tablet mode (me: Nate Graham, Plasma 5.24)

When you enable auto-login, you are now warned about some changes you might want to make to your KWallet setup (me: Nate Graham, Plasma 5.24):

Scrollable controls in Plasma and other QtQuick-based apps now only change their contents when you scroll on them if the cursor began over them, not when the cursor happened to pass over them because the view they live on moved while scrolling (Noah Davis, Frameworks 5.90 with Plasma 5.24)

KDE apps that display relative dates now present them with much more precision (Méven Car, Frameworks 5.91):

Yakuake’s System Tray icon is now monochrome (Artem Grinev and Bogdan Covaciu, Frameworks 5.91:

Menus in QtQuick apps now have the same size and appearance as menus in QtWidgets apps (me: Nate Graham, Frameworks 5.91)

Sliders in QtQuick apps can now be manipulated by scrolling over them, just like sliders elsewhere (me: Nate Graham, Frameworks 5.91)

…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.

KDE roadmap for 2022

Another year, another roadmap! Last year’s was a smashing success, as we delivered on everything. So here’s what I think we can expect in 2022. As always, this is not an official planning document or a promise; it’s just me giving you a sneak peak of some things that are in progress or about to start, and that I think will be feasible to complete before the year’s end!

Merged “Formats and Languages” KCM

The Languages and Formats pages in System Settings have long been problematic because their scopes overlapped. Not for long! Han Young is working on merging them together into one new page that handles both, making it clear what applies when and making it harder or impossible to mess up your system by choosing incompatible settings. This is in progress and I expect it to be completed sometime in the first half of 2022.

Overhauled Breeze icons

KDE designer Ken Vermette is working on improving and modernizing Breeze icons! Colorful icons will be softened and rounded a bit, and visually updated to remove old ugly elements like the long shadows. Monochrome icons will eventually get attention too. All of them are expected to become more responsive to your system color scheme, and look better when doing so. Initial work for Places icons has already been submitted and is being reviewed. This work will soon start landing piece by piece, and you can read more about it on Ken’s blog.

Multi-monitor stuff finally works properly

We plan to focus quite a bit on resolving multimonitor issues this year, and some of that effort has already borne a bit of fruit so far. But there will be a much heavier focus in 2022!

Inertial touchpad scrolling in QtQuick software

A big improvement went in recently that will make this possible to do soon! It seems quite likely that we’ll finally have this sometime in 2022.

The Wayland session can completely replace the X11 session

This is a bit of a moonshot but I think it’s possible. The list of issues on our “Wayland Showstoppers” wiki page is quite low, and when new ones are added, they’re notably lower in severity than the ones that have already been fixed. And now that NVIDIA has added GBM support to their driver and KWin already supports it, I think life should really start to get better for NVIDIA users, who represent a large chunk of dissatisfied Plasma users and those still unable to use the Wayland session at all. Let’s call this a stretch goal, but I think it’s not impossible!

“15 minute bug” initiative

This year I’d like to start something I call the “15 minute bug” initiative–an effort to fix as many of the bugs as possible that are trivially encountered within a quarter hour of basic usage. These are the kinds of issues that form permanent negative opinions in people’s minds, and reinforce the perception that KDE software is buggy and unreliable.

So far I’m limiting it to Plasma and Plasma-aligned software (e.g. KWin, System Settings, Discover) to avoid getting overwhelmed by scope creep. But if it’s wildly popular and successful, I’d love to extend it to apps and frameworks as well! Check out the current list here. I’ll be writing about this in more detail soon!


So that’s the list! What do you think? Is there anything else you think we should focus on in 2022?

This week in KDE: Finally root file operations in Dolphin

Happy new year, everyone!

This week the last piece of a major project almost five years in the making was merged: PolKit support in KIO! This allows Dolphin and other KDE apps that use the KIO library to to create, move, copy, trash, and delete files in non-user-owned locations! It took a long time but we finally got it. Thanks very much to Jan Blackquill for pushing this over the finish line and Chinmoy Ranjan Pradhan for starting it and getting it very far those years ago. Support will arrive in Frameworks 5.91 in a little over a month. Until then, please test it in KDE Neon Unstable or OpenSUSE Krypton or your favorite distro’s “unstable” KDE packages, and file bugs on frameworks-kio if things don’t work right!

Other New Features

Konsole now lets you open the current directory or any other folder you right-click on in any app, not just the file manager (Jan Blackquill, Konsole 22.04):

KRunner now has an inline help feature, which you can show by clicking on a new question mark icon on its toolbar or typing “?” And while in Help mode, clicking a particular plugin will show you all the different search syntaxes for it! (Alexander Lohnau, Plasma 5.24)

In the Plasma Wayland session, KWin now supports greater than 8-bit color (Xaver Hugl, Plasma 5.24)

Users of the “Picture of the Day” wallpaper plugin can now pull images from http://simonstalenhag.se, which is full of cool and creepy sci-fi images (Alexey Andreyev, Plasma 5.24)

Bugfixes & Performance Improvements

Gwenview no longer sometimes crashes when opening JPEG files and the system’s libexiv2 library is older than version 0.27.5 (Lukáš Karas, Gwenview 21.12.1)

Extracting or compressing something in Dolphin using the relevant context menu items no longer ever causes a new Dolphin window or tab to be opened (Alexander Lohnau, Ark 21.12.1)

Ark no longer keeps the welcome screen visible for too long after you’ve used the app to do something (Albert Astals Cid, Ark 21.12.1)

When Partition Manager is used to reformat a partition, it is no longer owned by root by default (Tomaz Canabrava and Andrius Štikonas, Partition Manager 22.04)

In the Plasma Wayland session, advanced keyboard options once again work properly (Fabian Vogt, Plasma 5.23.5)

The System Tray now makes itself translucent or opaque based on the translucency/opacity setting of its parent panel, as expected (Konrad Materka, Plasma 5.23.5)

In the Plasma Wayland session, System Settings no longer crashes if you let the Display & Monitor’s revert timer get all the way down to 0 seconds (Méven Car, Plasma 5.24)

In the Plasma Wayland session, restoring a minimized or maximized window now does what it does on X11: switches to the virtual desktop that the window was on before restoring it, instead of restoring it to the current virtual desktop (Alex Rosca, Plasma 5.24)

Window decoration themes with rounded corners no longer suffer transparency and rotation-related related visual glitches when using a fractional scale factor like 125% or 150% (Julius Zint, Plasma 5.24)

Apps that update their window titles frequently no longer cause Plasma to consume excessive CPU resources or hang (Fushan Wen, Plasma 5.24)

User Interface Improvements

In Dolphin, multi-line file/folder labels are now capped at 3 lines long by default, and when you hover over them you can see a tooltip that displays the full text (Leo Treloar, Dolphin 22.04):

In the Task Manager’s context menu, the “Start New Instance” context item has been renamed to “Open New Window” for clarity and no longer appears for apps marked as having a single main window or that already provide a “New Window” action of their own, and the “More Actions” item has been moved to the bottom and renamed to just “More” (Nicolas Fella and me: Nate Graham, Plasma 5.24):

Discover now has an option to automatically reboot after an update is complete, which appears on the footer once the update process has begun (Aleix Pol Gonzalez, Plasma 5.24)

Scroll behavior in QtQuick software has been improved in several ways, including making the touchpad speed the same as it is in QtWidgets scrollviews, especially in the Plasma Wayland session when using screen scaling (Noah Davis, Frameworks 5.90)

…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.

Highlights from 2021

The coronavirus pandemic frustratingly continued to spread misery this year, but one silver lining to this cloud was that keeping people at home meant lots of contributions to KDE! As a result this was an enormous year for KDE and all who use its software. Like I did last year, I’d like to mention some of my favorite big features and improvements from the past 12 months. Also like last year, what’s written here is just the tip of the tip of the iceberg, probably not even a tenth of a percent, and also a very selective look at just some of the software I use and follow on a regular basis. There’s a whole lot more at https://planet.kde.org!

Roadmap items

We managed to accomplish all items from last year’s roadmap: a production-ready Plasma Wayland session (Fedora KDE even switched to using it by default!), fingerprint reader support, the Breeze Evolution finished up and landed, a new Kickoff, and text reflow in Konsole! But that’s not all; we also managed to finish up Polkit in KIO, which allows Dolphin and other KIO-using apps to request elevated privileges for editing files and folders you don’t own!

Hardware Partnerships

The big news this year was the Steam Deck: a handheld gaming console made by Valve that’s running KDE Plasma under the hood on a custom Arch-based Linux distro! Valve has been sponsoring improvement for Linux gaming up and down the stack, including KDE. This showcases the power of getting vendors to pick your software: they put their own engineering resources into making it even better!

But that’s not all: the new PineBook Pro also ships with Manjaro KDE by default!

Wayland

As I mentioned earlier, I really think the Plasma Wayland session became production-ready this year. It’s still not a full replacement for the X11 session in all cases due to some remaining issues, especially for users of NVIDIA graphics hardware. But I expect those to diminish greatly in 2022.

2021 saw a truly monstrous number of bugfixes and quality of life improvement for Wayland session users, plus tons of new features, including support for Activities, GPU hot-plug, direct scan-out, setting the overscan and underscan, variable refresh rate/FreeSync/adaptive sync, DRM leasing, “Broadcast RGB” for the Intel GPU driver; the ability to choose, enable, and disable the virtual keyboard; a “Primary Monitor” setting like on X11; a new Activation protocol that will eventually let windows come forward when activated from other apps (once all toolkits and/or apps have opted into it); automatic DND mode when screencasting/sharing/recording; and animated transitions when rotating the screen.

As a result of all this improvement, I’m using the Plasma Wayland session full time now. And you know how picky I am!

Akademy

Akademy 2021 was once again virtual, and went quite well. I was feeling kinda burned out at the time and didn’t give a talk this year, but you can watch recordings of everyone else’s talks and sessions here: https://www.youtube.com/c/KdeOrg/videos

Infrastructure

KDE’s GitLab instance at https://invent.kde.org finally got pre-commit continuous integration, so now each merge request can be checked to make sure it compiles, that tests work, code quality doesn’t regress, and so on! Support is fairly basic right now but this should be improving over time.

In addition, https://bugs.kde.org got a major facelift and now look much nicer!

Plasma

This year Plasma got tons of major new features, such as a microphone recording input level visualizer right there in the Audio Volume applet, adaptive panel transparency, support for the power-profiles-daemon feature, two-click renaming in Folder View when using double-click (just like in Dolphin), and the ability to set the wallpaper from the context menu in Dolphin and Folder View!

Plenty of UI improvements landed too, including giving a blurred background to desktop widgets, a new better Digital Clock popup, multi-line text support in KRunner so that the Dictionary runner is now usable, inline help in KRunner, a Meta+V shortcut to open the clipboard history popup, a Meta+speaker mute shortcut to mute the microphone.

On X11, many more icons throughout Plasma are now the correct size when using a HiDPI scale factor

Oh and let’s not forget literally the most important thing of all: desktop widgets are no longer jaggy and aliased when rotated. Killer feature, right there.

KWin

This year KWin’s compositing code was rewritten for better performance and smoother animations, which has made a huge difference! It also gained support for the proprietary NVIDIA driver’s GBM backend.

A new “Overview” effect will replace the older Present Windows effect soon. In addition to Present Windows’ current functionality, it also shows virtual desktops and also lets you search using KRunner! It’s like half of GNOME shell, right in KWin. 🙂

Finally, KWin benefited from a few changes to its default settings, including opening new windows in the center of the screen (on whichever screen the cursor is located) and no longer making windows transparent while being moved or resized.

System Settings

This was a big year for System Settings. It got a new Quick Settings page holding commonly-used settings, including a button to change the wallpaper, and a new accent color feature with accent-colored icons too! The Printers page gained support for browsing and adding network printers shared with Samba. We made a new Firewall page. The SDDM and Formats pages were rewritten in QtQuick for much greater user-friendliness and future hackability. Bluetooth adapter on/off status is now remembered across reboots by default and can be explicitly forced on or off. There were many search keyword improvements, making it easier to find System Settings pages by searching. And you can search in English even when using another language.

Discover

Many UI and UX improvements were made this year, including preventing you from doing anything that would uninstall Plasma, improving the comprehensibility of update issues, offering further help when a search doesn’t turn up something you know exists, letting you enable and disable Flatpak and distro repos, and letting you install locally-downloaded Flatpak apps.

Discover gained support for “offline updates”, and several distros have opted into it (KDE Neon and Fedora KDE, at a minimum), but you can go back to interactive updates if you want.

Applications & Frameworks

All QtWidgets-based apps implemented KCommandBar, a ludicrous-mode productivity enhancement that shows a command palette when you hit Ctrl+Alt+I and lets you search and run any action in the app!

Another major new UI element for QtWidgets apps is KHamburgerMenu, which lets small and medium-sized apps for which a full menubar is overkill to opt into a simple hamburger menu. Several apps have already opted in, though this is user-configurable and you can turn it off if you prefer the menubar!

In addition, many apps now have expandable tooltips that show you more information when you press the Shift key!

Finally, a variety of apps now have better default window sizes.

Dolphin and file management

In addition to the aforementioned Polkit-in-KIO project being merged, Dolphin now lets you hit tab/shift-tab while renaming a file to quickly start renaming the next or previous item. the up and down arrow keys also work in Details view! And now its entire context menu is configurable, so you can customize it to your heart’s content.

Elisa

This year Elisa gained a mobile interface for its Plasma Mobile and Android packages. It also lets you rate songs inline without having to go to the metadata window, and use a “Favorite”/”Not favorite” style for ratings if you don’t like 0-5 stars. It also has a responsive two-column Now Playing page and lets you drag-and-drop music from the file manager to the playlist sidebar.

Gwenview

Gwenview got a major UI overhaul this year, including adopting KHamburgerMenu and showing it by default instead of the menubar, a new toolbar layout, a prettier sidebar, and, more controversially, the replacement of Fit/Fill/100% buttons with a zoom combobox and the addition of a background color chooser to the status bar. It also gained a Print Preview feature and its Resize feature now shows you the expected new file size. Finally, it now inherits the sort order from Dolphin when Dolphin is used to open an image in Gwenview.

Spectacle

Spectacle now includes more annotation tools and has the ability to annotate an already-taken screenshot from the notification or the command-line. And it also remembers the last-used capture mode for its automatically taken-screenshot on launch by default, and can be configured to take no screenshot at all. Finally it now respects the last-used values of “include mouse pointer” and “include window titlebar and borders” when taking screenshots using global shortcuts.

Other apps

Ark got a nice welcome screen.

Kate gained Git integration and touchscreen scrolling support.

Kalendar was created and is amazing already!

KCalc gained a history view and its main window can now be resized.

Konsole got support for changing the app’s color scheme independent of the rest of the system.

NeoChat became amazing this year, and is almost a full replacement for Element–lacking only Encrypted chat support, which is being worked on!

Okular got KHamburgerMenu support, which is off by default for now but you can opt-in by hiding the menubar.

Partition Manager doesn’t create new filesystems as root anymore.

Skanlite gained the ability to scan files to the PDF format, and got a new batch mode feature.


And remember, this is just a subset of a subset! KDE has over a hundred other apps which you can find out about at https://apps.kde.org. Next year promises to be very big for KDE. More about that tomorrow!

This week in KDE: Samba printer browsing and more

Merry Christmas (or should I say Khristmas?) for those of you celebrating it today! And we have quite a few very nice presents for all of KDE’s good boys and girls:

New Features

Samba printer browsing! (Harald Sitter, print-manager 22.04):

Before you ask, yes, this UI is pretty dated. It will eventually be re-done as a part of the ongoing port of all System Settings pages to QtQuick.

Bugfixes & Performance Improvements

Yakuake’s window is now faster to appear (Jan Blackquill, Yakuake 21.12.1)

In the Plasma Wayland session, Yakuake no longer appears underneath a top panel (Tranter Madi, Yakuake 22.04)

Partition Manager no longer keeps asking for authentication over and over again if you cancel the authentication prompt, and instead shows you a friendly message indicating what the problem is and how you can fix it (Alessio Bonfiglio, Partition Manager 22.04):

Fixed a memory leak in Notifications (David Edmundson, Plasma 5.18.9)

The Digital Clock’s calendar view now always shows the right colors when using the Breeze Light Plasma theme, or any other theme that has hardcoded light colors (Noah Davis, Plasma 5.23.5)

Plasma now shuts down faster by no longer accepting new connections after it’s begun the shutdown process, which particularly helps when using KDE Connect (Tomasz Lemeich, Plasma 5.24)

System Settings pages that require authentication when clicking the “Apply” button no longer display half-cut-off text under their name when using the default Sidebar mode (me: Nate Graham, Plasma 5.24)

The new “Set as Wallpaper” context menu item now only changes the wallpapers of the desktops in the current Activity, not all Activities (Fushan Wen, Plasma 5.24)

The link modification UI of the Properties dialog now shows the correct information in the correct places (Aleksei Nikiforov, 5.90)

User Interface Improvements

The “Cover Switch” and “Flip Switch” effects are now back, newly written in QML for easier extensibility in the future! (Ismael Asensio, Plasma 5.24)

The Desktop Cube effect will be next, and hopefully should show up in Plasma 5.25!

The Desktop context menu’s “Open in Dolphin” item has been replaced with “Configure Display Settings” by default (Ezike Ebuka and me: Nate Graham, Plasma 5.24):

And don’t forget that this menu is configurable (in Configure Desktop and Wallpaper > Mouse Actions > Right-Button > “Configure”), so you can remove stuff from it yourself that you never use!

You can now drag a panel from anywhere on its Edit Mode toolbar, not just from a tiny button. And this is now more obvious with the addition of a label that indicates it (Björn Feber, Plasma 5.24):

The screen layout OSD now indicates screens’ scale factors in it (Méven Carl, Plasma 5.24)

When sending or receiving a file via Bluetooth, a system notification is now always shown, rather than only being shown if the transfer takes more than 500ms (Nicolas Fella, Plasma 5.24)

The Bluetooth applet now calls a phone a phone (Nicolas Fella, Plasma 5.24):

Separator lines in Breeze-themed menus once again have a bit of vertical padding to them (Luke Horwell, Plasma 5.24)

System Settings pages that display a single big grid or list now have a more modern frameless style (me: Nate Graham, Frameworks 5.90)

Toolbar buttons that you can click-and-hold to show a menu will now also show that menu when you right-click them (Kai Uwe Broulik, Frameworks 5.90)

…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.

This week in KDE: kind of everything

Today’s post should have something in it for everyone! Early holiday gifts!

New Features

You can now change your wallpaper to any image using its context menu! (Fushan Wen, Plasma 5.24):

Don’t worry, it shows up in Dolphin’s context menu too!

It’s now possible to manually reverse the alignment of Task Manager tasks, which can be useful in some panel setups, including having a Task manager next to a Global Menu (Tanbir Jishan, Plasma 5.24)

In the Plasma Wayland session, there is now a barebones drawing tablet page in System Settings. It doesn’t have much in it right now, but more will be added over time (Aleix Pol Gonzalez, Plasma 5.24)

It’s now possible for Global Themes to specify and change Latte Dock layouts (Michail Vourlakos, Plasma 5.24)

Bugfixes & Performance Improvements

Restarting Elisa no longer removes files from the playlist that were added using the “Files” view (Matthieu Gallien, Elisa 21.12.1)

All of Elisa’s icons now full change their colors as expected when you change the global color scheme (me: Nate Graham, Elisa 21.12.1)

Scrolling over Gwenview’s zoom combobox to change the zoom level now works more predictably and reliably (Felix Ernst, Gwenview 21.12.1)

In the Plasma Wayland session, the setting to make Spectacle automatically copy a just-taken screenshot to the clipboard when invoked using global keyboard shortcuts now works (Méven Car, Spectacle 22.04)

Fixed a memory leak in the thumbnail preview generator (Waqar Ahmed, kio-extras 22.04)

Konsole’s scrolling performance is now 2x faster! (Waqar Ahmed, Konsole 22.04)

Fixed a variety of memory leaks that could cause KWin to crash when opening various 3rd-party apps or the new Overview effect (Vlad Zahorodnii, Plasma 5.23.5)

System Settings no longer sometimes crashes when you try to install or update Global Themes (David Edmundson, Plasma 5.23.5)

The Kickoff application launcher no longer fails to search properly when there are multiple instances of it (Noah Davis, Plasma 5.23.5)

Searching through installed apps in Discover no longer shows all Flatpak apps, regardless of installation status (Aleix Pol Gonzalez, Plasma 5.23.5)

In the Plasma Wayland session, mouse and touchpad settings to let you toggle between “Flat” and “Adaptive” acceleration profiles now work (Arjen Hiemstra, Plasma 5.23.5)

In the Plasma Wayland session, applying a “No titlebar and frame” window rule no longer makes the window become super tiny (Ismael Asensio, Plasma 5.23.5)

In the Plasma Wayland Session, switching Activities no longer causes a weird dummy entry to appear in the Task Manager (David Redondo, Plasma 5.23.5)

Plasma no longer sometimes crashes when unmounting a removable disk using the Disks & Devices applet (Fushan Wen, Plasma 5.24)

In the Plasma Wayland session, various Chromium-based web browsers now show their windows properly (Vlad Zahorodnii, Plasma 5.24)

In the Plasma Wayland session, you can now use the default Meta+Tab shortcut to cycle through more than two activities at a time (David Redondo, Plasma 5.24)

In the Plasma Wayland session, the “Minimize All Windows” applet now works (Vlad Zahorodnii, Plasma 5.24)

In the Plasma Wayland session, drag-and-drop now works on FreeBSD distros (Vlad Zahorodnii, Plasma 5.24)

The Task Manager context menu’s “Show in all Activities” item once again works (Fushan Wen, Plasma 5.24)

Rotating the a monitor that’s displaying full-screen content now causes the content to be re-laid-out properly (Jiya Dong, Plasma 5.24)

Pressing the Escape key while dragging a panel applet while in Edit mode now cancels the drag rather than causing it to weirdly get stuck where it is (Ismael Asensio, Plasma 5.24)

Merged the first of many upcoming multi-screen fixes, which should help with panels and desktops becoming mixed up when screens are removed and re-attached (Marco Martin, Plasma 5.24)

Linked buttons in GTK apps styled with the Breeze GTK theme now have a raised and conjoined appearance so you can tell they’re linked (Jan Blackquill, Plasma 5.24):

Fixed a way that KDE Connect could crash with certain clipboard text (Méven Car, Frameworks 5.90)

Certain tooltips in Plasma applets no longer display visual glitches in the corners when using the Breeze Plasma theme (Noah Davis, Frameworks 5.90):

Indeterminate progress bars no longer visually overflow while animating (Noah Davis, Frameworks 5.90)

User Interface Improvements

When you use Okular’s “Digitally Sign” feature, it now alerts you immediately if you have no valid digital certificates, rather than letting you first try to place the signature and then telling you (Albert Astals Cid, Okular 22.04)

When you try to use Gwenview’s camera importer without the support package that it requires, it now detects this and guides you through installing it (Fushan Wen, Gwenview 22.04):

When using the systemwide double-click setting, in Dolphin you can now ctrl-double-click on a folder to open it in a new tab, and shift-double-click on a folder to open it in a new window (Alessio Bonfiglio, Dolphin 22.04)

Discover now lets you open and install locally-downloaded Flatpak apps from repos not active on the system, and tells you that installing them will add their repo (Aleix Pol Gonzalez, Plasma 5.24):

The excessively large bottom padding in that message is a known bug that will eventually be fixed

It’s now possible to open Info Center via a button on the “About this System” page in System Settings (Harald Sitter, Plasma 5.24):

Searching for “Version” now finds the “About this System” Info Center page (Nikolai Weitkemper, Plasma 5.24)

System Settings’ Display & Monitor page now displays the scale factor used for each screen in the screen visualization view (Méven Car, Plasma 5.24):

Uploading an image to Imgur now displays the result using a system notification and also now shows you the delete link, so you can remove the uploaded image if you uploaded something you didn’t mean to or regret (Nicolas Fella, Frameworks 5.90):

…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.

This week in KDE: Polishing up Ark and Dolphin

This week you might notice a lot of fixes for Ark and Dolphin and for interactions between them. That’s coming out of our initiative to fix all the issues found in recent Linus Tech Tips videos. And there are more where that came from going forward!

New Features

Spectacle’s annotation tools now include functionality to crop, scale, undo, redo, and more (Damir Porobic and Antonio Prcela, kImageAnnotator 0.6.0 or later in Spectacle 22.04)

The Weather applet now lets you pick cities from German Weather Service (DWD) as the data source (Emily Elhert, Plasma 5.24)

Bugfixes & Performance Improvements

Dolphin no longer crashes when Ark creates a .7z archive (Méven Car, Ark 21.12.1)

Spectacle now disables the “Annotate” button when there is no screenshot in the window, so you can’t click on it and make the app crash anymore (Bharadwaj Raju, Spectacle 21.12.1)

Dolphin’s context menu “Compress” actions now respect Ark’s user-configurable setting for whether or not to open a new file manager window showing the archive after the operation has been completed (Someone going by the pseudonym “2155X”, Ark, 22.04)

System Settings no longer crashes when you try to use the Get New Global Themes window to update updateable Global Themes (Alexander Lohnau, Plasma 5.23.5)

Certain apps that draw certain type of buttons no longer crash when using the Breeze application style (David Edmundson, Plasma 5.23.5)

System Monitor no longer sometimes crashes when viewing processes in Tree view (Fabian Vogt, Plasma 5.23.5)

Accessing clipboard data with Klipper actions or DBus queries once again provides the full text, and not a truncated version (David Edmundson and someone going by the pseudonym “ValdikSS”, Plasma 5.23.5)

In the Plasma Wayland session, mouse and keyboard input no longer sometimes stops working after turning a monitor off and back on again (Xaver Hugl, Plasma 5.23.5)

The battery charge limit feature now supports more batteries (Ian Douglas Scott and Méven Car, Plasma 5.24)

In the Plasma Wayland session, certain Wayland-native games once again open with the correct window size (Vlad Zahorodnii, Plasma 5.24)

In the Plasma Wayland session, cursors are now smooth rather than pixelated when using a fractional scale factor (Julius Zint, Plasma 5.24)

On System Settings’ User Feedback page, you are no longer shown links to folders of sent data that do not actually exist because no data has been sent (me: Nate Graham, Plasma 5.24)

Switching the wallpaper from slideshow to plain color no longer sometimes crashes Plasma (Fushan Wen, Frameworks 5.89)

Improved file listing speed in folders with a lot of stuff in them (Méven Car, Frameworks 5.90)

User Interface Improvements

Any annotation settings you change in Spectacle are now remembered across launches (Antonio Prcela, Spectacle 22.04)

Gwenview now smooths images that you zoom into up to 400% zoom, and then switches to showing unsmoothed pixels for deeper zoom levels (me: Nate Graham, Gwenview 22.04)

Trying to open an invalid or otherwise un-openable file in Dolphin now displays the error in an inline message like most others rather than in a modal dialog window, and now half-downloaded or half-completed files that have the appropriate .part filename extension can’t be opened and will trigger this error (Kai Uwe Broulik, Dolphin 22.04 and Frameworks 5.90):

When an app takes a long time to open a file and shows a notification that says something like “Loading…” or “Examining…”, it now disappears and doesn’t show up in the notification history after the file is finished loading (Kai Uwe Broulik, Ark 22.04 and Frameworks 5.90)

You can now find Dolphin by searching for “Explorer” or “Finder” (Someone going by the pseudonym “tornado 99”, Dolphin 22.04)

KCalc’s window can now be resized (Niklas Freund, KCalc 22.04)

In System Settings’ Display & Monitor page, the screen arrangement view now shows you monitors’ serial numbers when it detects multiple monitors with the same model number, to help you distinguish between them (Méven Car, Plasma 5.24)

In the Widget Explorer, widgets can now be added with a single click, and when you do so, the clicked widget appears in the center of the screen, not in the top-left corner where it would be covered up by the Widget Explorer itself (Arjen Hiemstra, Plasma 5.24 and Frameworks 5.90)

The “Annotate” button that appears in notifications for annotatable screenshots is now located on the same row as the hamburger menu button rather than above it (Kai Uwe Broulik, Plasma 5.24):

The Battery & Brightness applet has had its user interface for blocking sleep and screen locking improved again for more clarity (me: Nate Graham, Plasma 5.24):

The new Overview effect has had its animation easing curves tweaked to use a curve with a faster start, making the effect seem faster (Vlad Zahorodnii, Plasma 5.24)

Discover no longer shows you a scary “Packages will be removed” warning sheet when the removed packages are are “multiversioned” such that more than one version can be installed at once, and the removed version is simply being replaced with a newer one (Aleix Pol Gonzalez, Plasma 5.24)

When you drag-and-drop applets, they now smoothly animate moving to their final position rather than instantly teleporting there (Jan Blackquill, Plasma 5.24)

The speaker test sheet in System Settings’ Audio page now looks better (Ismael Asensio, Plasma 5.24):

You can now have more than 8 “spare” keyboard layouts (Andrey Butirsky, Plasma 5.24)

Discover now tells you which source each update come from in the expanded details view (Ismael Asensio, Plasma 5.24):

Those of you who like really huge icons can now make your desktop icons twice as large as the previous maximum size (me: Nate Graham, Plasma 5.24):

The Kickoff Application Launcher’s sidebar no longer shows arrows, to be consistent with how sidebars are typically presented elsewhere (Mikel Johnson, Plasma 5.24):

The backgrounds for the Task Manager Tasks’ “active” and “needs attention” states have been made brighter and easier to see (Frédéric Parrenin, Frameworks 5.90):

The generic File Manager and Settings App icons (typically used by Dolphin and System Settings) are now responsive to your accent color (Artem Grinev, Frameworks 5.90):

When Ark creates a big ZIP archive that takes a while to complete, the in-progress archive file now gets the .part filename extension added onto it which makes it display the standard “I’m a temp file” icon (Fushan Wen and Dieter Baron, libzip 1.8.1; though this is not KDE software, the fix was driven by a KDE contributor reporting the issue and submitting a merge request, and the fix makes Ark better!)

…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.

What desktop Linux needs to succeed in the mainstream

You might be aware of the recent Linus Tech Tips videos about switching to Linux, including one with some complaints about KDE software. For those of you who are following along, I want to let you know that we’re working on fixing the issues Linus brought up, and you can track our progress here. Thankfully most of the issues are fairly minor and should be easy to fix.

This blog post is my version of Sway developer Drew DeVault’s post about the videos, regarding the question of what desktop Linux needs to go mainstream. Drew emphasizes accessibility, and I agree, but with a slightly different conclusion:

Desktop Linux needs to be pre-installed on retail hardware to succeed in the mainstream.

That’s it.

Allow me to explain.


People get hung up a lot on features and usability, and these are important. But they’re means to an end and not good enough ends by themselves. Quality means nothing if people can’t get it. And people can’t get it without accessible distribution. High quality Linux distros aren’t enough; they need to be pre-installed on hardware products you can buy in mainstream retail stores! “The mainstream” buys products they can touch and hold; if you can’t find it in a mainstream store, it doesn’t exist.

Think about it: why do normal people use Windows or macOS? Because the physical computer they bought included it. iOS or Android? Because it was shipped by default on their physical smartphone. The notion of replacing a device’s operating system with a new one doesn’t exist to “the mainstream”. Only the “three-dot” users ever do that, and they’re about 5% of the market. If the only way to get your OS is to install it yourself, you have no chance of succeeding in the mainstream.

As for features, people generally use only a very small fraction of what’s available to them. When it comes to usability, most users memorize their software rather than understanding it–and you can memorize anything if you really have to. A better user interface helps, but it isn’t needed for the memorizers and mostly benefits power users (the 30% of the market “two-dot and up” crowd) who recognize patterns and appreciate logic, consistency, and good design. So these are not good enough on their own.

This doesn’t mean we should forget about features and usability! Not at all! But if the goal is to “go mainstream,”we have to understand the true audience: hardware vendors, not end users. The goal is to have a software product appealing enough to get picked up by vendors when they go shopping for one, because that’s mostly how it works. Companies like Apple that do their own custom top-to-bottom hardware and software for big-name products are rare. Most build on top of 3rd-party software that requires the least integration and custom work from their in-house software team. If your software isn’t up to the task, they move onto the next option. So when some hardware vendor has a need, your software better be ready!

And what do hardware vendors need?

  • Flexibility. Your software has to be easily adaptable to whatever kind of device they have without tons of custom engineering they’ll be on the hook for supporting over the product’s lifecycle.
  • Features that make their devices look good. Support for its physical hardware characteristics, good performance, a pleasant-looking user interface… reasons for people to buy it, basically.
  • Stability. Can’t crash and dump users at a command line terminal prompt. Has to actually work. Can’t feel like a hobbyist science fair project.
  • Usability that’s to be good enough to minimize support costs. When something goes wrong, “the mainstream” contacts their hardware vendor. Usability needs to be good enough so that this happens as infrequently as possible.

It doesn’t need to be perfect. It just needs to do that stuff. This is how Windows conquered the PC market in the 90s despite being terrible! And our stuff is much better!


I see evidence that this is already working for KDE. Pine ships Manjaro with Plasma Mobile and Plasma Desktop on the PinePhone and PineBook Pro, respectively. Valve also picked Plasma Desktop for the Steam Deck, replacing GNOME for their new version of SteamOS. I see KDE software as well-positioned here and getting better all the time. So let’s keep doubling down on delivering what hardware vendors need to sell their awesome products.

What a great laptop needs

This post is at least partially aimed at any hardware vendors who may be reading along.

If you’re here for just the KDE-specific stuff, feel free to skip this post.


I’m picky about laptops, since I use one as my sole computer for both work and play. I probably spend at least 10 hours a day on it, so this experience ought to be as pleasant as possible. 🙂

Two characteristics define a laptop:

  1. Portability
  2. The limitations that stem from portability, such as a certain number of components being hard or impossible to replace

Achieving a good product requires a balance here, but ultimately portability is key or else the machine doesn’t get used as a laptop and mostly sits in one place, defeating the point of buying a laptop. To avoid this fate, it needs to be thin and light. Any components that have to be non-upgradable to achieve this must be excellent. Let’s start with the basic input and output devices; they have to be so good that you won’t need to upgrade them:

Highest-quality screen

The screen is your primary window to the computer and generally no part of it is easily replaceable or upgradable. So it needs to be good, with a resolution that allows 200% scale at effectively 120-130-ish DPI (meaning 240-260 physical DPI), accurate color reproduction, and enough brightness to use outdoors–generally 400+ nits. It also needs a decent enough black-to-white refresh rate that you won’t see ghosting. A high-resolution webcam on top with a privacy shutter is also highly desirable.

Most laptops get this completely wrong. In particular, nearly all 13.3″ and 14″ screens have a 1080p resolution which makes everything much too small and requires fractional scaling, or they offer a 4K resolution which has the same problem and additionally consumes far too much power. Many 15″ QHD screens are in the same boat. And a lot of screens are embarrassingly color-inaccurate, dim, or ghosty. It’s 2021; this is just not acceptable anymore. Nobody stuck with a crappy laptop screen is happy with their computer. Get this right!

Highest-quality keyboard

Carting around an external keyboard isn’t practical, so the built-in one needs to be excellent. It must have good tactile feedback and key travel for accurate and comfortable typing, or else you’ll hate it. For professional uses, it also needs dedicated Home/End/PageUp/PageDown keys to enable fast text navigation so you don’t need function key chords to access them. Bonus points for a Super/Meta/Windows key on both sides of the spacebar, a microphone mute key, and media playback keys.

Though the average tactility of PC laptop keyboards has markedly improved in the past decade, there are still few perfect key layouts. HP bizarrely removed the right Ctrl key on their laptop keyboards. Lenovo refuses to add Home/End/PageUp/PageDown keys to the non-numberpad keyboards of anything other than ThinkPads. But ThinkPads put a PrintScreen key between the right Alt and Ctrl keys, so you accidentally open Spectacle 20 times a day. MSI laptops have a weird, nonstandard layout. I could go on.

Highest-quality touchpad

If the touchpad isn’t close to perfect, people will be tempted to carry around a mouse, which takes up space and weight and is uncomfortable to use in many situations (e.g. on an airplane). To avoid this, the touchpad must be fairly large, have a smooth glass surface, and incorporate the highest quality, highest resolution hardware drivers. This should be easy to get right, yet I’d say at least 50% of PC laptops still don’t, and this is true of basically every manufacturer. I don’t get it.

Highest-quality speakers

Like the touchpad, if the speakers aren’t excellent, people will feel the need to use headphones–another thing to carry around. Decent volume and good sound reproduction at both the high and low ends are a must. Front/upward-facing speakers are the minimum acceptable standard here, with quad speakers being preferred, and bonus points for an integrated subwoofer, however small. Some Lenovo consumer laptops have a 5.1 speaker setup in the display hinge which I think is a genius idea, since they’re always pointing right at you! Sound from these laptops is amazing. If you haven’t used one of these, you you might not realize that sound from a laptop can actually be good! Unfortunately this is the exception, because the speakers on most PC laptops are a muffled, disappointing afterthought.


That’s it for the basics. I don’t think anything here should be too controversial, but nearly every PC laptop gets at least one of these things dramatically wrong. I’m not talking about the bargain-bin $400 garbage laptops; you should be able to get all of this in anything you pay $1500 or more on. But there sadly just isn’t a manufacturer that consistently nails the basics with even their high-end machines. And beyond that, you also want to take maximum advantage of the laptop’s portability, which means:

Battery and energy efficiency

The battery should be big enough to last at least 8 hours with light use, ideally more. This generally means a large 55+ watt-hour battery, and larger is better especially for the bigger screen sizes. Also important is good hardware support for power-saving modes and features. A certain amount of this that can be tweaked and improved with software, but the hardware element is fixed. So it needs to be good. A 2-3 watt idle power draw should be the target. At this level, you can actually work untethered without having to sprinkle power cords around the home and office.


After that, we need to make sure it’s useful for serious work:

CPU, GPU, and cooling

The laptop needs a powerful processor so it doesn’t feel slow in 5 years and make you want to replace it, and it needs a cooling system to let the processor reach its potential. Desktop-level performance is not the goal here–we know that’s the compromise with a laptop. But it should still be fast and powerful. Today, that would largely mean a beefy AMD Ryzen CPU, which also helps with energy efficiency. Intel need not apply.

Personally I don’t want or need a dedicated GPU in a laptop for my use cases, but I know many people do. An AMD GPU is strongly preferred here so you don’t have to deal with NVIDIA’s buggy drivers–and this goes for on Windows as well as Linux!

Replaceable hard drive/SSD

This lets you upgrade to a higher capacity disk in the future if needed. I’ve seen people junk perfectly good Apple laptops because they ran out of space and couldn’t upgrade without buying a whole new computer. What a waste! Another less obvious reason is so your data isn’t lost if the laptop loses the ability to boot up or even power on. Being able to remove the storage medium and put it in a different computer or an external dock greatly aids in troubleshooting, data recovery, and migration.


Beyond that, everything else is really just a nice-to-have. Personally I like the 2-in-1 touchscreen form factor, a unibody (not stamped) aluminum or magnesium case, a 16:10 or 3:2 screen aspect ratio, 2 full-sized USB-A ports, a USB-C port on each side that’s capable of charging, and a garaged pen. But I could excuse those as long as the machine got everything else right! Sadly, few do. It’s a real problem. If you are a PC vendor, and you get everything above right, you’ll have a product better than 99% of your competitors!

Postscript: what about the Framework laptop?

I love the Framework laptop. It’s just what the market needs, and I eagerly look forward to buying one some day! If you haven’t heard about it yet, seriously, check it out.

Unfortunately it has a few drawbacks that prevent it from being the ideal laptop: its inappropriate screen DPI, keyboard without dedicated text navigation keys, poor speakers, and hot power-hungry Intel CPU. Since these components are replaceable, it’s possible that in the future better versions will become available. However that hasn’t happened yet, so alas, it is not the holy grail laptop.