Skip to content

Welcome to Planet KDE

This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages

Monday, 15 August 2022

Akademy is KDE's yearly community event, this year it happens between October 1st and October 7th in my city comarca [one of the reasons of why it's happening is that our Mr. President tricked me into helping organize it [*]]

 

You don't need to be a "KDE expert" to join, if you're remotely involved or interested in KDE you should really attend if you can (in person if possible, for me online really doesn't work for conferences), and not only the weekend of talks, but the whole week!


I still remember 2007 when our back-then-newbie Mr. President asked me "should I really go to Akademy? All the week? is it really worth it?" and i said "as many days as you can", and I guess we made a good enough impression to convince him to stay around and even want to do all the paper work that involves being in the KDE eV board :D


Anyhow, what i said, come to Akademy 2022! It's free, you'll learn a lot, meet nice people, will be both fun and productive.




And you should too! Register today!

 

 

 

[*] I should really work on my "no" skills, I'm still working on Okular because decades ago i said "how hard can it be" when someone asked to update KPDF to use a newer version of a dependency.

Sunday, 14 August 2022

For whatever reason Steam Deck pretty much has two default browsers: Google Chrome in Game Mode and Firefox in Plasma aka. Desktop Mode. Firefox is absolutely unusable in Game Mode. Chrome (probably most other Chromium variants as well, I’ve only tried a handful) work okay-ish – at least they don’t go ballistic on touch events but they are not a truly nice experience either.

Readers of Planet KDE probably already know that some KDE applications have convergent GUIs thanks to Plasma Mobile, including the Angelfish web browser. It took some fiddling but after a while I managed to get it into a shape that’s very usable in Game Mode. Without any tweaks Angelfish defaults to use its desktop GUI and thereby runs just fine in Plasma Desktop, perhaps docked to a monitor.

First step is to enter Desktop Mode and install Angelfish from Flathub via Discover and then add it to Steam.

Then within Steam under Properties of Angelfish add this in the Target line to the beginning of the command to force mobile user interface, loading icons, and enlarging the interface elements:

env QT_QUICK_CONTROLS_MOBILE=1 QT_QPA_PLATFORMTHEME=KDE QT_SCALE_FACTOR=2

The resulting command line looks something like this

Next step is to enter Game Mode and select the Web Browser controller layout:

Web Browser controller layout

Here’s a few screenshots of Angelfish running:

In all fairness, Angelfish is a bit barebones. The Chromium-derived rendering engine is fine but there is no way to sync bookmarks and passwords with other browsers or at least import them. An ad blocker is built in but there’s also no support for WebExtensions or User Scripts, as far as I can tell. Keyboard does not automatically pop up on text inputs, you’ll need to press X every time. Despite all the downsides, it’s miles ahead of using a desktop-focused browser in Game Mode. You can also just launch Angelfish from Plasma Desktop without the above tweaks and just continue to use the same tabs, sessions, etc.

I can’t speak for the Plasma Mobile team but I hope they’ll embrace platforms like Steam Deck to lure in a few new contributors. Many of the other Plasma Mobile apps look potentially useful on handheld PC platforms as well.

Other Plasma Mobile apps may work using the same method but I’ve not tested any of them, yet.

PS: Angelfish also has a tablet UI that you can enable by replacing QT_QUICK_CONTROLS_MOBILE with KDE_KIRIGAMI_TABLET_MODE but I did not find it particularly working well with Game Mode.

Sunday, 14 August 2022

KDE today announces the release of KDE Frameworks 5.97.0.

KDE Frameworks are 83 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.

This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.

New in this version

Attica

  • Pass the HTTP status code as the MetaData status code
  • Properly detect failed jobs

Breeze Icons

  • Add mimetypes/{16,22,32,64}/application-x-msdownload, which is used for DLLs
  • Remove monochrome versions of help-related app icons (bug 456737)

Extra CMake Modules

  • kde-modules/KDEGitCommitHooks.cmake - handle non-toplevel project

KActivities

  • Utilize std::optional instead of custom impl
  • Remove debug message for Consumer destructor

KArchive

  • k7zip: Merge two functions to the constructor

KCalendarCore

  • Deprecate deletion tracking support in CalFormat::fromString
  • Add plugin loader for KCalendarCore::CalendarPlugin

KCMUtils

  • follow symlinks for search of .desktop files
  • tools/kcmmetadatagenerator: Print out critical warning if file could not be opened
  • Make CMake import target of kcmdesktopfilegenerator relocatable
  • Add utility cmake method to generate KCM metadata desktop files

KCompletion

  • KCompletion: clean-up private class
  • KCompletion*: general clean-up

KConfig

  • Don’t inherit from containers

KConfigWidgets

  • [KCommandBar] Improve position and size
  • follow symlinks during search for help
  • Avoid tracking dangling KConfigDialogManager (bug 456630)

KCoreAddons

  • Deprecate KMessage system
  • KUserGroup: fix data race by porting from getgrgid to getgrgid_r
  • KUserGroup: centralize calls to getgrgid(), at least for constructors
  • KUser: fix data race by porting to getpwuid_r and getpwnam_r
  • KUser: use member initialization, call getpwuid in a single place
  • Add KRuntimePlatform as alternative for KDeclarative::runtimePlatform
  • Bump shared-mime-info to 1.8
  • make kprocess a more proper qprocess
  • new ksandbox function to start processes
  • Adapt libexec paths for KF6

KDeclarative

  • GridDelegate: Improve accessibility for inline buttons

KDELibs 4 Support

  • Remove unused X-KDE-ModuleType
  • Convert file to UTF-8

KDocTools

  • Add Han Young to the contributors list

KFileMetaData

  • Add PNG extractor
  • dump tool: Print extractor name

KGlobalAccel

  • GlobalShortcutsRegistry: don’t use a QHash for a couple of elements

KDE GUI Addons

  • QtWaylandClient is required when building with Wayland support

KHolidays

  • Use non-deprecated API unconditionally everywhere
  • Implement deprecated API by calling the new one
  • Make rawHolidays() with category filter also work with seasonal holidays
  • Actually implement HolidayRegion::rawHolidays()
  • Actually include seasonal holidays in rawHolidaysWithAstroSeasons()
  • Add methods to check for polar days/nights

KIconThemes

  • Do not use QIcon::setThemeName to set system theme

KImageFormats

  • Use right type on enums
  • PSD: Improve alpha detection (bug 182496)
  • PSD: LAB support

KIO

  • ScopedProcessRunner: Set scope name according to X-KDE-AliasFor
  • Template: have KIO worker bundle name match full lingo
  • Use QDateTime::fromSecsSinceEpoch instead of fromMSecsSinceEpoch(1000 *
  • KFileItem: save a useless multiplication
  • KRecentDocument: better prevent duplicate bookmark for same href (bug 456046)
  • KRecentDocument: Improve compat with Gtk File Picker (bug 456046)
  • Port kio_remote to WorkerBase
  • FileUndoManager: use emitRenaming where appropriate
  • FileUndoManager: fix job description when undoing a batch-renaming (bug 437510)
  • fix x-kde-protocol(s) filters for json based kpropertiesdialog plugins
  • Deprecate AskUserActionInterface::Sorry
  • Fix WidgetsAskUserActionHandler::requestUserMessageBox’s “Don’t ask again”
  • [KUrlNavigatorToggleButton] Load accept icon on demand
  • KPropertiesDialog: Handle non-existing file type in default handler label
  • KPropertiesDialog: Update enabled state for default handler label
  • KUrlNavigatorButton: use a struct instead of QPair
  • KFileItemActions: use a struct instead of QPair
  • kio_http: Use a struct instead of QPair
  • HostInfo: Use a struct instead of QPair
  • KFileItemActions: Add icon to “Open With…” action
  • port sandbox detection to ksandbox
  • [kfileitemactions] Pass parentWidget to JobUIDelegate
  • Rename view action and set its icon
  • Fix crash in DropJob (bug 454747)
  • Fix thumbnailer result for parent mime types being overwritten (bug 453480)
  • Port kio_help to WorkerBase
  • [knewfilemenu] Deprecate setViewShowsHiddenFiles
  • KDirOperator: only show preview on mouse hover
  • KImageFilePreview: if no current preview, don’t show last one on resize (bug 434912)
  • KImageFilePreview: only create QTimeLine member if needed
  • [knewfilemenu] Replace setPopupFiles with setWorkingDirectory
  • [KFilePlacesView] Fix condition for pointIsTeardownAction
  • Switch template to KIO worker
  • [BatchRenameJob] Add job description and report periodically
  • Adapt libexec search path to KF6
  • KFileWidget: remove location history dummy-entry related code (bug 452994)
  • Fix logic error in Qt6 offline detection

Kirigami

  • CardsGridView: enable Home/End key navigation
  • CardsListView: enable Home/End key navigation
  • Don’t use an alias and expose directly the children property
  • Rework CardsGridView leftMargin calculation
  • Use custom header for setting window
  • Deprecated view headers
  • Fix floating action button icon alignment when there is no main action
  • OverlaySheet: add workaround for Qt horizontal scrollview bug (bug 457223)
  • Also handle QML url value types in PageRow
  • Try to depend on the newer QQC2 version possible (bug 451240)
  • workaround on items without implicit size
  • libkirigami/units: Fix wrong implementation of property setter and getter of veryShortDuration
  • fix horizontal alignment for titleLayot
  • Improve Kirigami.Chip description and use case
  • PromptDialog: Change its content label to selectable counterpart
  • Add icon to UrlButton menu
  • Improve action name in UrlButton menu
  • SizeGroup: Hide implementations details (static list operations) as private

KJobWidgets

  • ui-server: Fix crash by only re-registering live KJobs (bug 450325)

KJS

  • Convert file to UTF-8

KJSEmbed

  • kjscmd5 is nongui

KNewStuff

  • [kmoretools] Don’t lowercase the desktop entry name (bug 417575)
  • Fixup 6d889ae0: move newlines out of translated string
  • Remove unneeded close button from window footer
  • Add a “try again later” message for transient errors

KNotification

  • Remove notificationplugin service type
  • Drop lib prefix when building for Windows (MinGW)
  • use ksandbox instead of hardcoding sandbox detection

KPackage Framework

  • Fix listing of KPackage structures (bug 456726)
  • README.md add dot at end of sentence

KPeople

  • Don’t install service type definitions

KPty

  • add the ability to disable ctty set up

KQuickCharts

  • Remove arcconfig
  • BarChart: de-duplicate some code
  • Remove an unused method

KRunner

  • Add note about alternative to Plasma::RunnerContext::setSingleRunnerQueryMode
  • templates/runnerpython: Add hint for multiline property
  • Fix Qt6 build

KService

  • Add property def for X-Flatpak key
  • Define HAVE_MMAP to 0 instead of undefining it (bug 456780)
  • KSycocaDict: don’t inherit from containers
  • use ksandbox to determine if we are inside a flatpak

KTextEditor

  • fix crash (bug 457392)
  • Pass parent widget to print preview dialog
  • fix crash in insertText
  • Make views for read-only themes read-only instead of disabling them
  • Cleanup: Remove unused members from KateStyleTreeWidget
  • Cleanup: use switch in defaultStyleName
  • Make defaultStyleCount reusable
  • Silence compiler warning when compiling without KAUTH
  • avoid crash on caret drawing if no view (bug 456508)
  • avoid accessing view pointer during printing (bug 456508)
  • remove unused library

KTextWidgets

  • Fix heading level line break handling with Qt 6.3

KWallet Framework

  • Remove duplicate header between cpp/h
  • Do not try to rename label twice in entryRenamed()
  • Do not create EntryLocation with empty key
  • Introduce Secret Service API

KWayland

  • Unset wl_display global filter upon filtered display destruction

KWidgetsAddons

  • [KMessageDialog] Emit notification sound just like KMessageBox
  • Make OK button configurable in KMessageBox::error/detailedError
  • Deprecate KMessage*::sorry
  • Remove declaration of unimplemented sorryWId(buttonOk) overload
  • Deprecate unsupported & unused KMessageBox::PlainCaption flag
  • Deprecate KMessageBox::about()
  • Add edit-clear-history icon to the Clear List action

KWindowSystem

  • Doc: Update WM spec URL

KXMLGUI

  • [KShortcutsDialog] Make it possible to reload shortcut schemes
  • [KShortcutsDialog] Make it possible to add a custom edit action
  • [KShortcutSchemesEditor] Fix bug introduced by refactoring in commit de0790fe
  • Fix crash of KMix in Legacy Tray
  • [KShortcutsDialog] Add icons for actions
  • KKeySequenceWidget: don’t use a QHash to hold a few elements

Plasma Framework

  • Update blur and other window effects when the dialog changes size (bug 457053)
  • Fix generated import versions for QtQuick Controls with Qt 6
  • ExpandableListItem: read Accessible.description from action
  • ExpandableListItem: give expand button a name and a tooltip
  • ExpandableListItem: add accessible properties
  • PC3/ToolTip: Sync to qq2-desktop-style: Copy delay & timeout implementations
  • PC3/ToolTip: Sync to qq2-desktop-style: Port to QtQuick.Layouts
  • PC3/ToolTip: Sync to qq2-desktop-style: Wrap text on label
  • PlaceholderMessage: use strict Javascript equality
  • Scope DialogShadows lifetime to application (bug 443706)
  • Use non-deprecated URL interceptors access with Qt 6
  • QMenuProxy::transientParent add null checks

Prison

  • Try lower ECC levels if we exceed the maximum QR code content size
  • prison-datamatrix unused local variable
  • Support ZXing 1.4.0

QQC2StyleBridge

  • Install style as a regular QML for Qt6
  • ToolTip: Sync to PC3: Strip out ampersands
  • ProgressBar,Slider: Adapt great precision to the harsh reality (bug 455339)
  • Fix QQC2 MenuBar theme (bug 456729)
  • properly reset the cursorshape (bug 456911)
  • Use QApplication::font with respective widget class
  • Wrap checkbox label
  • ToolTip: wrap text for long tooltips
  • TextArea,TextField: Remove not referenced id from background style item
  • TextField: Disable Undo for password fields, including its context menu
  • Remove dynamic QQC2 version selection
  • Fix: url types (like icon.source) are QVariant without length property
  • Nit: reformat long expressions
  • Menu: Fix wrong pixel metric being requested for verticalPadding
  • ProgressBar: Drop layout direction hack

Solid

  • [UDisksDeviceBackend] Port introspect to QXmlStreamReader
  • [UDisksDeviceBackend] Remove pointless QDBusInterface
  • udev/cpuinfo_arm: add more Apple part IDs
  • udev/cpuinfo_arm: change Apple part formatting
  • Drop lib prefix when building for Windows (MinGW)

Sonnet

  • Port to ECMQmlModule
  • Drop lib prefix when building for Windows (MinGW)
  • fix obsolete string

Syntax Highlighting

  • Jam: add block comments
  • Bash: add globany in Option ; add comment in [[ … ]] and other fixes for [[ … ]]
  • Zsh: add comment in [[ … ]] and other fixes for [[ … ]]
  • add CommonJS module and ECMAScript module extension for JS and TS
  • Add tool for matching lexers
  • Fix code regex and bump files version
  • Another bunch of languages hand mapped between minted and KDE
  • Fix some issues with code colouring when syntax was broken
  • Fix embedded lua code highlighting
  • Fix for lstlisting bug which prevented proper recognition of language
  • Fix regression for lstlisting
  • Add support for multiple minted and lstlistings languages
  • add rockspec file to Lua
  • Markdown: use zsh syntax for zsh code
  • Zsh: fix variable and string in a glob qualifier
  • Scheme: fix combined prefix number
  • add basic support of aspx and ashx (bug 437220)
  • Batch: fix many issues and add tests
  • R: add := operator (bug 450484)
  • Lua: new styles (Special Variable and Self Variable), remove hard color and fix special keywords in BlockComment
  • Disable spellcheck in systemd unit Files for non text Data
  • Disable spellcheck in SGML Files for non text Data
  • Disable spellcheck in Perl Files for non text Data
  • Disable spellcheck in git-rebase-todo Files for Comment Data
  • Disable spellcheck in fstab Files, except Comment Data
  • Disable spellcheck in .desktop Files, except Comment Data
  • Disable spellcheck in XML (Debug) Files, except Comment Data
  • Enable spellcheck for Comment Data in XML Files
  • Disable spellcheck in Bash Files for non text Data
  • Disable spellcheck in INI Files, except Comment Data
  • Simplify code by leveraging QMetaEnum::fromType
  • Use QMetaEnum to find number of available text styles
  • Introduce ThemeData::textStyle to share code
  • cleanup: share code to read Format colors from style or theme
  • Update atom-one-light.theme revision number
  • Fix atom-one-light.theme diff file colors
  • Fix atom-one-dark.theme diff colors

Security information

The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure faure@kde.org Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB

Saturday, 13 August 2022

It’s been three months since my last post about the ongoing transition to KDE Frameworks 6, so another update is long overdue given how much has happened since.

QML Porting

While the main attention had been on porting build system and C++ code so far, meanwhile QML code has also moved into focus. QML code is generally harder to port, due to the lack of compile-time checking and the lack of conditional code based on the Qt version.

Only seeing mistakes at runtime means for every single change we need to ensure to manually exercise the affected code paths. That is much easier to do if everything else is fully working, ie. in the current Qt 5 codebase.

That however is only an option for changes that result in code that works with both Qt 5 and Qt 6. Changes that only work with Qt 6 can’t be done at all yet due to the lack of version-based conditional code (such as the C++ prepocessor gives us).

Qt 5 changes

Fortunately the biggest chunk of required QML changes can be done with Qt 5 as well:

  • Porting away from deprecated modules such as Qt Quick Controls 1 (QQC1) and Plasma Components 2 (PC2). In many cases this can be replaced by usage of Qt Quick Controls 2 (QQC2) and Plasma Components 3 (PC3) in Qt 5 already (there are a few components that only become available with Qt 6 though).
  • Porting away from deprecated QML elements or properties such as RegExpValidator and ApplicationWindow.overlay that have newer replacements in Qt 5 already.

There is a tracker task for the ongoing work on this.

Qt 6 changes

Looking at what remains then, the biggest part of that seems to be a relatively small set of recurring changes, such as:

  • Kirigami’s BasicListItem has now the standard grouped icon property.
  • QtGraphicalEffects has been moved to the Qt 5 compatibility module and thus needs different imports.
  • Several dialog elements need different imports.

To ease the transition eventually and to support testing in the current state, some of those have been implemented as code transformation scripts in kde-dev-script. More things can and should likely be added there as we go.

With those two types of changes applied, the remaining necessary changes are very small, and are mostly limited to lower-level frameworks like Kirigami, chances are that simple applications start out of the box with this already.

Status

The above assessment is not necessarily complete though, that’s just the result from the modules looked at so far. But there has been some nice progress nevertheless, we can meanwhile load our QQC2 style, have most of Kirigami Gallery as well as some simple Kirigami apps function properly, and some first bits of Plasma applets and System Settings come up.

Screenshot of Kirigami Gallery, showing correctly styled selection controls.
Kirigami Gallery, properly styled but still missing some shader effects.

To avoid wrong expectations though, you’ll get little of the above out of the box at this point, this still requires various local modifications to be applied (pending MRs, the above mentioned conversion script, temporary hacks to take out still dysfunctional parts, etc).

KDE Frameworks

There has been a few more noteworthy activities beyond QML regarding KDE Frameworks:

Plasma

39 of the 51 repositories relevant for Plasma 6 have meanwhile Qt 6 CI coverage. Particularly important are the inclusion of libkscreen and kscreenlocker, which are required dependencies for the more central modules like KWin and Plasma Workspace. Plasma Workspace itself builds as well even, but depends on KWin. And that still has a few remaining issues:

  • One remaining use of the notorious QDesktopWidget.
  • Use of QQuickRenderControl in OpenGL code, which clashes with the rendering system abstraction now in place in Qt.
  • Some QEvent-derived classes that need adaption to the changes in Qt’s event classes.
  • Two uses of `moc´-related macros that fail with stricter type requirements in Qt 6.
  • A Wayland protocol code generation change that breaks the build.

Still, combined with the QML work, this allowed to bring up simple Plasma applets in the plasmoidviewer tool.

Screenshot of the Plasma color picker applet running inside the plasmoidviewer tool.
Fully functional Plasma color picker applet shown in plasmoidviewer.

Applications

There has also plenty of movement around our applications, you might have spotted a few success stories and progress reports on Planet KDE, such as:

There’s also Nico’s fancy overview dashboard, iskdeusingqt6.org.

External Qt-based dependencies

Attention has also been put on the other end of the dependency chain, external libraries based on Qt we depend on. Some of those have been adapted to Qt 6 already, in some cases packaging and/or co-installability still needed polish, for others the entire port had yet to be done.

  • libaccounts-qt and signond needed by KAccounts, which in turn is a dependency for things in Purpose, Plasma and PIM.
  • mlt, which Kdenlive is built upon.
  • libqgpgme, which many parts of PIM depend on.

See the corresponding tracker task for an overview of the current status.

Akademy

KDE Akademy 2022 is just a few weeks away, and of course the transition to Qt 6 and KF6 is going to be an important topic there. There’s two related talks in the conference program:

And there will also be a number of related BoFs/meetings of course, to be scheduled closer to the event. This might possibly be our last “pre 6” Akademy, so if you have things you’d like to see happening for KF6, this is your chance to bring it up!

How you can help

Obviously all of the above is the result of a big team effort, and you can be part of that! As noted above, a full Qt 6 based development environment isn’t even needed for that, especially some of the QML porting tasks are actually easier to do in a Qt 5 environment for now.

To participate, here are the most important coordination and communication channels:

Though KDE’s goal-setting process is still ongoing, contributors have started working on Plasma accessibility in a major way! As of Plasma 5.26, all Plasma widgets will be fully compatible and usable with a screen reader, thanks to Fushan Wen with assistance from Harald Sitter! And there’s more to come too, plus lots of other great work:

New Features

It’s now possible to manage Samba shares’ permissions remotely! (Harald Sitter, kdenetwork-filesharing 22.12. Link)

The Plasma Network manager’s OpenConnect VPN plugin now supports the “F5,” “Fortinet,” and “Array” protocols (Enrique Melendez, Plasma 5.26. Link)

Kickoff now has a new non-default “Compact” mode that lets you see more items at the time. When using Touch Mode, compact mode is automatically disabled to ensure that Kickoff remains touch-friendly (me: Nate Graham, Plasma 5.26. Link)

Global Themes can now change the order and arrangements of titlebar buttons and turn on or off the “Borderless Maximized Windows” setting which disables the titlebar for maximized windows. And you can also turn these on or off while applying a theme so configured on System Settings’ Global Themes page (Dominic Hayes, Plasma 5.26. Link)

By default, Picture of the Day wallpaper plugins don’t refresh while the system is using a metered network connection–but this can be turned back on if you want (Fushan Wen, Plasma 5.26. Link):

It’s now possible to clear the Command Bar’s history (Eugene Popov, Frameworks 5.98. Link)

User Interface Improvements

Elisa can now open files from relative paths, not just absolute paths (Bharadwaj Raju, Elisa 22.08.1. Link)

When searching with KRunner, results from the “Software Center” category (which finds non-installed apps) are always lower than results from categories that show already-installed apps and settings pages (Alexander Lohnau, Plasma 5.24.7. Link)

You can now use the Ctrl+S keyboard shortcut in the Clipboard applet’s Edit Mode page to save and return to the main page (Fushan Wen, Plasma 5.24.7. Link)

System Settings’ Night Color page now lets you use a map to choose a manual location, and shows a loading placeholder when using automatic location mode and the geolocation service is still working on geolocating you (Bharadwaj Raju, Plasma 5.26. Link 1 and Link 2):

The opening and closing animations for the Overview, Present Windows, and Desktop Grid effects now last longer and have a nicer easing curve, making them feel much smoother (Blake Sperling, Plasma 5.26. Link)

Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

Switching your Global Theme to one that has its own color scheme now immediately changes the color in all running GTK apps that are being themed with the Breeze GTK theme (David Redondo, Plasma 5.24.7. Link)

Fixed a major regression in multi-monitor support for the Plasma Wayland session that could cause screens to display no output (Xaver Hugl, Plasma 5.25.5. Link)

In the Plasma Wayland session, certain apps like GIMP no longer sometimes fail to appear in the Task Manager while running (Vlad Zahorodnii, Plasma 5.25.5. Link)

Fixed a prominent Task Manager-related crash (Nicolas Fella, Plasma 5.25.5. Link)

Other bug-related information of interest:

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly! Otherwise, 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.

Friday, 12 August 2022

The first point release update to Kubuntu 22.04 LTS (Jammy Jellyfish) is out now. This contains all the bug-fixes added to 22.04 since its first release in April 2022. Users of 22.04 can run the normal update procedure to get these bug-fixes.

The first point release is also significant because it is the default upgrade version for users of Kubuntu 20.04 LTS (Focal Fossa).

See the Ubuntu 22.04.1 LTS Release Announcement, the Ubuntu 22.04.1 Release Notes, and the Kubuntu Release Notes.

Download all available released images.

Let’s go for my web review for the week 2022-32.


reb00ted | Is this the end of social networking?

Tags: tech, social-media, attention-economy

Interesting point of view… indeed, let’s see what rises from the ashes.

https://reb00ted.org/tech/20220727-end-of-social-networking/


Amazon to acquire maker of Roomba vacuums for roughly $1.7 billion

Tags: tech, amazon, robotic, surveillance

With some of the late moves from iRobot to hoard data from their robots as they are mapping homes during their work, this acquisition is a tad worrying.

https://www.cnbc.com/2022/08/05/amazon-to-acquire-maker-of-roomba-vacuum-for-roughly-1point7-billion.html


Gregory Szorc’s Digital Home | Achieving A Completely Open Source Implementation of Apple Code Signing and Notarization

Tags: tech, apple

Good news for anyone who got to target that evil platform… if you have to make a multiplatform application this might ease your pain.

https://gregoryszorc.com/blog/2022/08/08/achieving-a-completely-open-source-implementation-of-apple-code-signing-and-notarization/


‘The best thing we can do today to JavaScript is to retire it,’ says JSON creator Douglas Crockford • DEVCLASS

Tags: tech, javascript, web, browser

Admittedly I share the sentiment… I don’t think there is any viable solution in sight though.

https://devclass.com/2022/08/04/retire_javascript_says-json-creator-douglas-crockford/


Don’t call it a comeback: Why Java is still champ · GitHub

Tags: tech, java, history

Interesting Java history put in perspective. Indeed it’s been stagnant and have been picking up again… reminds me of another famous language.

https://github.com/readme/featured/java-programming-language


Redis Explained

Tags: tech, caching, databases, redis

Nice primer on how Redis works and the type of deployments you can choose from.

https://architecturenotes.co/redis/


pdf-diff: A tool for visualizing differences between two pdf files.

Tags: tech, tools, pdf

That looks like a nifty and convenient tool.

https://github.com/serhack/pdf-diff


Reduce Friction – Ceejbot’s notes

Tags: tech, processes, organization, business, automation, codereview

Lots of good advices about processes and organizations. It’s nicely points out that friction is not necessarily wrong… if you get something out of it. Also neat reminder in there that code review are here to complete work which is already socialized somehow. If you can’t find reviewers it’s a sign of an organizational problem when the work started.

https://blog.ceejbot.com/posts/reduce-friction/


I assure you, medieval people bathed.

Tags: history

Let’s get the record about medieval time straight, shall we? They weren’t as filthy as we like to pretend, far from it.

https://going-medieval.com/2019/08/02/i-assure-you-medieval-people-bathed/


How to get safe drinkable water for 20$ ? - Ceramic water filter - Tutorial - YouTube

Tags: low-tech, water

Seriously this is an awesome and badly needed technology. Let’s hope it spreads.

https://m.youtube.com/watch?v=_NOZ8zREqkE



Bye for now!

Tobias texted that the SpaceHierarchyCache class worked as expected. So I added that to the open merge requst.

I have also been working on the Space home page.

space home

This currently allows the following

  • viewing all rooms in a space
  • joining rooms
  • opening joined rooms
  • leaving space

@miepee took the time to give me many suggestions relating to user experience. I tried to implement most of the suggestions they shared.

Another minor thing I changed is that SpaceHierarchyCache is now a singleton in QML.

Carl helped me with the long standing issue with layout by sending a patch that brought Space icons to middle of the layout. (Thanks!)

Thursday, 11 August 2022

This week I have published several new versions of my music applications:

The first two applications, kmetronome and kmidimon, are now over fifteen years old and are only available for Linux. These two new versions are simply bug fixes, with no new features. But it is interesting to note that in FlatHub they are already based on Qt6 and supporting both Wayland and X11, although the packages in AppImage format still use Qt5. The chances of finding these applications in the official repositories of Linux distributions are slim. In fact, kmidimon was removed from the official Debian repositories with some lame excuse, and it is unlikely to be included again. I can't do anything about it, so please: direct complaints where they belong. Or use the new available distribution formats or the unofficial repositories, like Debian Multimedia, which includes the three mentioned applications and many others.

The other app, dmidiplayer, is much newer and cross-platform. It is the successor to Kmid2, the KDE karaoke application that I rewrote many years ago. In this new version the most remarkable new feature is the persistent configuration of the songs. This is a feature that was already present in the old Kmid2 and that allows you to store the tempo, general volume, pitch transposition, and MIDI channel settings for each song, which will be applied when it is played again in the future. The other novelty is the individual volume adjustment for each MIDI channel, something that was not possible in Kmid2.

After all these years, it is curious that it is still possible to find Kmid2 in one distribution: Fedora, despite being a Qt4/KDE4 application. So a functional comparison of both applications is not only possible, but easy to do. In my opinion, with this version dmidiplayer has reached parity in terms of functionality with Kmid2. On the other hand, the new architecture has allowed the application to be available on other Unixes (such as FreeBSD) in addition to Linux, macOS, and Windows.

I guess the next app to get updates will be VMPK. There is no forecast yet of the changes it will bring, but there is a recurring request that I will not do: MIDI Jack support. This is not to say that it is not possible to use Jack MIDI with VMPK, because in fact there is an utility called 'a2jmidid' that serves as a translation layer between applications using the ALSA Sequencer and Jack MIDI. On the other hand, for VMPK to use new native backends it is only necessary to implement Drumstick::RT plugins. And this can be done by any interested developer, and then independently distribute the out-of-tree plugins. I've opened a discussion on GitHub about this. Anyone interested, please read and ask your questions there.

We are happy to announce the release of Qt Creator 8.0.1!