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

Friday, 13 December 2024

Let’s go for my web review for the week 2024-50.


Census III of Free and Open Source Software

Tags: tech, foss, supply-chain

Interesting report, some findings are kind of unexpected. It’s interesting to see how much npm and maven dominate the supply chain. Clearly there’s a need for a global scheme to identify dependencies, hopefully we’ll get there.

https://www.linuxfoundation.org/research/census-iii


Open Source Archetypes: A Framework For Purposeful Open Source

Tags: tech, foss, business, strategy

An important white paper which probably went unnoticed. It gives a nice overview of the strategies one can build around Open Source components.

https://blog.mozilla.org/wp-content/uploads/2018/05/MZOTS_OS_Archetypes_report_ext_scr.pdf


Fool Me Twice We Don’t Get Fooled Again

Tags: tech, social-media, fediverse

Excellent post from Cory Doctorow about why he is only on Mastodon. Not being federated should indeed just be a deal breaker by now. Empty promises should be avoided.

https://pluralistic.net/2023/08/06/fool-me-twice-we-dont-get-fooled-again/


Firefox is the superior browser

Tags: tech, web, browser, firefox

Obviously I agree with this. It’s time people stop jumping on chromium based browsers.

https://asindu.xyz/posts/switching-to-firefox/


TRELLIS: Structured 3D Latents for Scalable and Versatile 3D Generation

Tags: tech, 3d, ai, machine-learning, generator

Looks like a nice model to produce 3D assets. Should speed up a bit the work of artists for producing background elements, I guess there will be manual adjustments needed in the end still.

https://trellis3d.github.io/


Who and What comprise AI Skepticism? - by Benjamin Riley

Tags: tech, ai, machine-learning, gpt, criticism

Excellent post showing all the nuances of AI skepticism. Can you find in which category you are? I definitely match several of them.

https://buildcognitiveresonance.substack.com/p/who-and-what-comprises-ai-skepticism


Reverse engineering of the Pentium FDIV bug

Tags: tech, cpu, hardware

It’s interesting to see such a reverse engineering of this infamous bug straight from the gates layout.

https://oldbytes.space/@kenshirriff/113606898880486330


How to Think About Time

Tags: tech, time

A good summary on the various concepts needed to reason about time.

https://errorprone.info/docs/time


Galloping Search - blag

Tags: tech, algorithm

Nice principle for a search in a sorted list when you don’t know the upper bound.

https://avi.im/blag/2024/galloping-search/


I’m daily driving Jujutsu, and maybe you should too

Tags: tech, version-control, git

Jujutsu is indeed alluring… but its long term support is questionable, that’s what keeps me away from it for now.

https://drewdevault.com/2024/12/10/2024-12-10-Daily-driving-jujutsu.html


mise-en-place

Tags: tech, tools, developer-experience

A single tool to manage your environment and dev tools across projects? Seems a bit young and needs a proper community still. I’m surely tempted to give it a spin though.

https://mise.jdx.dev/


Raw loops vs. STL algorithms

Tags: tech, c++, algorithm

An old one now, but since I keep giving this advice it seems relevant still. If you’re using raw loops at least that no again, there is likely a good alternative in the STL.

https://www.meetingcpp.com/blog/items/raw-loops-vs-stl-algorithms.html


Generic programming to fight the rigidity in the C++ projects

Tags: tech, architecture, type-systems, generics, c++

A good reminder that genericity can help fight against the rigidity one can accumulate using purely object oriented couplings… but it comes at a price in terms of complexity.

https://codergears.com/Blog/?p=945


Nobody Gets Fired for Picking JSON, but Maybe They Should? · mcyoung

Tags: tech, json, safety, type-systems

JSON is full of pitfalls. Here is a good summary. Still it is very widespread.

https://mcyoung.xyz/2024/12/10/json-sucks/


JSON5 – JSON for Humans

Tags: tech, json

Interesting JSON superset which makes it more usable for humans. I wonder if it’ll see more parsers appear.

https://json5.org/


Improving my desktop’s responsiveness with the cgroup V2 ‘cpu.idle’ setting

Tags: tech, systemd, cgroups

Nice little systemd trick, definitely an alias to add to your setup.

https://utcc.utoronto.ca/~cks/space/blog/linux/CgroupV2CpuIdleForResponsiveness


“Rules” that terminal programs follow

Tags: tech, shell, tools, unix

Good list of the undocumented rules terminal programs tend to follow. It’s nice to have this kind of consistency even though a bit by accident.

https://jvns.ca/blog/2024/11/26/terminal-rules/


htmy

Tags: tech, web, backend, frontend, python, htmx

The idea is interesting even though it probably needs to mature. It’s interesting to see this kind of libraries popup though, there’s clearly some kind of “backend - frontend split” fatigue going on.

https://volfpeter.github.io/htmy/


The errors of TeX (1989)

Tags: tech, latex, history, estimates, craftsmanship

A very precious document. Shows great organization in the work of Knuth of course but the self-reflection has profound lessons pertaining to estimates, type of errors we make, etc.

https://yurichev.com/mirrors/knuth1989.pdf


An Undefeated Pull Request Template

Tags: tech, codereview

This is indeed a nice template for submitting changes for review. It’s very thorough and helps reviewers.

https://ashleemboyer.com/blog/pull-request-template/


On the criteria to be used in decomposing systems into modules

Tags: tech, design, architecture, research

We’re still struggling about how to modularize our code. Sometimes we should go back to the basics, this paper by Parnas from 1972 basically gave us the code insights needs to modularize programs properly.

https://dl.acm.org/doi/pdf/10.1145361598.361623


TDD as the crack cocaine of software

Tags: tech, tdd, flow

Indeed, it is often overlooked that TDD can really help finding a state of flow. Unlike other addictive activities presented in this article it requires a non negligible initial effort though, that’s why I wouldn’t describe it as an addiction though.

https://jefclaes.be/2014/12/tdd-as-crack-cocaine-of-software.html


Demo Driven Development

Tags: tech, agile, product-management

A good reminder of what agile is about from the product management perspective. If you can regularly demo your work you ensure a feeling of progress.

https://oanasagile.blogspot.com/2013/12/demo-driven-development.html


The 6 Mistakes You’re Going to Make as a New Manager

Tags: tech, leadership, management

Good points, this is indeed often where we are struggling when we move to a leadership role. This changes the nature of the work at least in part and we need to adjust to it.

https://terriblesoftware.org/2024/12/04/the-6-mistakes-youre-going-to-make-as-a-new-manager/



Bye for now!

Friday, 13 December 2024

KDE today announces the release of KDE Frameworks 6.9.0.

KDE Frameworks are 72 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
  • It compiles fine without deprecated methods. Commit.
Baloo
  • [termgeneratortest] Rework unit test for negative numbers. Commit.
  • Remove unneeded qOverload statements. Commit.
  • Ci: use suse-qt68 image for clang-format. Commit.
  • [balooctl] Refactor the "index" and "clear" code. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Don't include quiet packages in feature_summary. Commit.
Bluez Qt
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
Breeze Icons
  • Bring back directory symlinks for breeze-dark. Commit. Fixes bug #482648
  • Add symbolic version of system-software-update for small sizes. Commit. Fixes bug #399139
  • Also link to 22px versions for Duplicate icons. Commit.
  • Add symbolic version of preferences-desktop-keyboard-shortcut. Commit.
  • Add transport-mode-flight icon. Commit.
  • Add symbolic version of preferences-system-users. Commit.
  • Add symbolic version of preferences-desktop-notification-symbolic. Commit.
  • Add symbolic version of preferences-desktop-theme-global. Commit.
  • Generate index.theme unconditionally to fix qrc/rcc. Commit.
  • Make qrc generation fail if no *.theme file was found. Commit.
  • Add missing CSS properties for blur and pixelate icons. Commit. Fixes bug #495755
  • Fix class attribute for places/32/folder-{log,podcast}.svg. Commit.
  • Add boost and boost-boosted icons. Commit.
  • Update WINE app icons to match new symbolic versions. Commit.
  • Add wine-symbolic icon. Commit. Fixes bug #494450
  • Add favorite-favorited, change favorite to non-filled. Commit.
  • Make base donate and help-donate icons be hearts. Commit.
  • Add love. Commit.
  • Improve README with more guidelines and contributing information. Commit.
  • Add icon for keyboard shortcut preferences. Commit. See bug #426753
  • Add dialog-password icon. Commit.
  • Optimize-svg: Clarify that you need to install svgo globally. Commit.
  • Add laser printer icon. Commit.
Extra CMake Modules
  • Align multi-language catalog loading with KI18n. Commit.
  • EGPF: Handle case where INTERFACE_INCLUDE_DIRECTORIES is empty. Commit. Fixes bug #496781
  • KDEClangFormat: Avoid spammy warnings with cmake >= 3.31.0. Commit. Fixes bug #496537
  • Consider all QLocale::uiLanguages for QM catalog loading. Commit.
  • ECMGeneratePythonBindings: Build without system isolation. Commit.
  • ECMGeneratePythonBindings: Remove broken RPATH settings. Commit.
  • Include Qt's translations in what we bundle on Android. Commit.
  • Fix FindLibMount without pkgconfig. Commit.
  • Don't use KDEInstallDirs6 for the new ECMGeneratePkgConfigFile test. Commit.
  • Fix reproducible build issue with ECMGeneratedHeaders. Commit.
Framework Integration
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KArchive
  • Kzip: fix reading of ZIP64 fields on certain architectures. Commit.
  • K7zip: fix/simplify GetUi*() functions. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Handle device open error. Commit.
  • Remove usage of QMutableListIterator. Commit.
KAuth
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KBookmarks
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KCalendarCore
  • Use isEmpty() vs "count() > 0". Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KCMUtils
  • We depend against kf6.8.0. Commit.
  • Split Quick library and QML module into different folders. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KCodecs
  • It compiles fine without deprecated methods. Commit.
KColorScheme
  • Fix isKdePlatformTheme for Flatpaks. Commit. Fixes bug #494734
  • It compiles fine without deprecated methods. Commit.
  • Now we depend against qt6.6. Commit.
  • Ci: add Alpine/musl job. Commit.
KCompletion
  • Remove declaration of KLineEdit::setUrlDropsEnabled. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Add missing find_dependency calls for private dependencies. Commit.
KConfig
  • Add QML_REGISTRATION option to the config macro documentation. Commit.
  • KWindowStateSaver: Increase the rate limit on the slow part of config saving. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Now we depend against qt6.6.0. Commit.
  • Fix restoration of maximization state for QtQuick windows (for real). Commit. Fixes bug #494359
KConfigWidgets
  • Combine doc comments. Commit.
  • KRecentFilesAction: allow to specify mimeType for urls. Commit. See bug #496179
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KContacts
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KCoreAddons
  • Provide more license for KAboutLicense. Commit.
  • Add 7d4a6f31521 to git-blame-ignore-revs. Commit.
  • Add Python bindings. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Kaboutdata: Add overload taking KAboutPerson and KAboutComponent. Commit.
  • Kfileutils: compare to basename in makeSuggestedName. Commit. Fixes bug #493270
  • Apply 1 suggestion(s) to 1 file(s). Commit.
  • Link with libnetwork on Haiku. Commit.
  • Don't put copyright statements if the license is not BSD. Commit.
KCrash
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Add static CI build. Commit.
  • Disable X11 and link with libnetwork on Haiku. Commit.
KDav
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Use const reference for headers. Commit.
  • Compare HTTP headers types case-insensitively. Commit.
KDBusAddons
  • It compiles fine without deprecated methods. Commit.
  • Disable X11 on Haiku also. Commit.
  • Extend timeout for --replace option. Commit.
KDeclarative
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KDE Daemon
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KDE SU
  • Build with POSITION_INDEPENDENT_CODE. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KDNSSD
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
KDocTools
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KFileMetaData
  • Don't include quiet packages in feature_summary. Commit.
KGlobalAccel
  • It compiles fine without deprecated methods. Commit.
KGuiAddons
  • Add Python bindings. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Kmodifierkeyinfo: Update to v5 of the Wayland protocol. Commit. Fixes bug #483657. Fixes bug #488870
  • Don't try to access QDBusMessage if not successful reply. Commit.
KHolidays
  • Update holiday_cn_zh-cn: add newline. Commit.
  • Update holiday_cn_zh-cn for 2025 holidays. Commit.
  • Adds public holiday for Nigeria. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Holiday_bj_fr - update Benin holidays. Commit. Fixes bug #496260
  • Document HolidayRegion::rawHolidaysWithAstroSeasons(). Commit.
KI18n
  • Handle multiple country-specific locales for the same language correctly. Commit.
  • Look up Qt translations catalogs ourselves. Commit.
  • Add auto tests for Qt catalog loading. Commit.
  • Improve fallback handling for Qt translation catalog loading. Commit.
  • Fix license identifier. Commit.
  • Remove obsolete Qt translation catalogs. Commit.
  • Fix loading of Qt's translation catalogs on Android. Commit.
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
KIconThemes
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Now we depend against qt6.6.0. Commit.
KIdletime
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
  • Disable X11 and Wayland on Haiku also. Commit.
KImageformats
  • Jxl: Disable color conversion for animations. Commit.
  • Improve CMYK writing support. Commit.
  • Improved write test. Commit.
  • JXL: load error with some lossless file. Commit. See bug #496350
  • JXR: jxrlib cannot write HDP and WDP formats. Commit.
  • Heif: avoid crash in heif_image_handle_has_alpha_channel. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
  • RGB: avoid to read wrong data. Commit.
  • JXL: Fix OSS Fuzz issue 377971416. Commit.
  • Fix compilation warnings. Commit.
  • JXR: Fix libraries link under FreeBSD. Commit.
  • JXL: fixed bug when saving grayscale images without color profile. Commit.
  • PFM: extended to half float format. Commit.
  • Rename SCT plugin for OSS-FUZZ. Commit.
  • PCX: support for more formats. Commit.
  • SCT: added read only support. Commit.
KIO
  • Adapt test to new error code. Commit.
  • [ftp] Give better error message when creating files is not allowed. Commit.
  • File_unix: check chown return when setting owner. Commit.
  • CommandLauncherJob: fail when launch an non-existing executable. Commit.
  • Don't static cast qobjects. Commit.
  • Kpropertiesdialog: fix user display to actually use the user data. Commit. Fixes bug #496745
  • Add autotest for parsing bug and actually report error status. Commit.
  • Fix out of bounds for KRunMX1::expandEscapedMacro. Commit. Fixes bug #495606
  • Kcoredirlister: Remove iterator assert, use if instead. Commit. Fixes bug #493319
  • Haiku support: Disable SHM, link to libnetwork, further fixes. Commit.
  • It compiles fine without deprecated methods. Commit.
  • KDirOperator: improve handling of forward/back mouse buttons. Commit. See bug #443169
  • KUrlNavigator: Fix Tab order. Commit.
  • Haiku build fixes. Commit.
  • [previewjob] Assert that path is absolute. Commit. See bug #490827
  • Deprecate http_update_cache. Commit.
  • KUrlNavigatorDropDownButton: Add text and tooltip. Commit.
Kirigami
  • Chip: Add visible hover state. Commit.
  • Fix accessibility of InlineMessage. Commit.
  • ActionMenuItem: make a11y press work. Commit.
  • PrivateActionToolButton: make a11y press work. Commit.
  • SelectableLabel: Allow disabling the built-in context menu. Commit.
  • Always use a ToolBar for pages on the stack. Commit.
  • SelectableLabel: Make selection persistent. Commit. Fixes bug #496214
  • PlaceholderMessage: Let use overwrite icon color. Commit.
  • PlaceholderMessage: Forward icon.width/icon.height to internal Icon. Commit.
  • NavigationTabBar: Fix warning related to assigning a Repeater instead of a AbstractButton. Commit.
  • Use border for keyboard active focus in NavigationTabButton. Commit.
  • SelectableLabel: Remove onLinkActivated. Commit.
  • [SelectableLabel] restore font property. Commit.
  • Add missing REQUIRED for ECM. Commit.
  • Remove Useless empty contentItem. Commit.
  • Fix mobile mode. Commit.
  • Fix doc for PlatformTheme::ColorSet. Commit.
  • ColumnView: Note that FixedColumns is the default value for columnResizeMode. Commit.
  • Add optional Breeze style import also for static builds. Commit.
KItemModels
  • It compiles fine without deprecated methods. Commit.
KItemViews
  • It compiles fine without deprecated methods. Commit.
  • Add Linux static CI build. Commit.
KJobWidgets
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Add a first basic autotest. Commit.
  • JobView: expose elapsedTime. Commit.
  • Disable X11 on Haiku also. Commit.
KNewStuff
  • Transaction: use cache2 not the deprecated legacy cache. Commit.
  • Do not finish the transaction before it actually did anything. Commit. Fixes bug #496551
  • Cache: become a facade for Cache2. Commit.
  • Use isEmpty() vs count() > 0. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Providerbase: split done signal from loaded signal. Commit.
  • Staticxmlprovider: remove unused member. Commit.
  • Ci: add Alpine/musl job. Commit.
  • ResultsStream: Restore the providers upon ::fetchMore. Commit.
  • Fixup! the grand API refactor of 2024. Commit.
  • The grand API refactor of 2024. Commit.
  • Port test away from deprecated API. Commit.
  • Add missing KNEWSTUFFCORE_BUILD_DEPRECATED_SINCE. Commit.
  • Fix random timeouts in attica test. Commit.
  • Transaction: deprecate ambiguous install function. Commit.
KNotifications
  • Add Python bindings. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Disable Canberra check for Haiku also. Commit.
KNotifyConfig
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KPackage
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Fix copyright utils. Commit.
KParts
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KPlotting
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KPTY
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
KQuickCharts
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KRunner
  • Allow to set RunnerManager instance in model from outside. Commit. See bug #483147
  • It compiles fine without deprecated methods. Commit.
KService
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KStatusNotifieritem
  • It compiles fine without deprecated methods. Commit.
  • Ci: add Alpine/musl job. Commit.
KSVG
  • It compiles fine without deprecated methods. Commit.
KTextEditor
  • Sort and remove duplicates in outRanges in Kate::TextBuffer::rangesForLine. Commit.
  • Add test case for line unwrapping crash. Commit.
  • Don't leave non-multiblock Kate::TextRange in m_buffer->m_multilineRanges. Commit.
  • Don't crash on insert at lastLine + 1. Commit. Fixes bug #496612
  • Avoid closeUrl() call. Commit.
  • Clear all references/uses of aboutToDeleteMovingInterfaceContent. Commit.
  • Align completion with the word being completed. Commit. Fixes bug #485885
  • Try to relax unstable test. Commit.
  • Use a QLabel for scrollbar linenumbers tooltip. Commit.
  • Add functions for jumping to next/prev blank line. Commit.
  • Disable ENABLE_KAUTH_DEFAULT on Haiku also. Commit.
  • Remove misleading dead code. Commit.
  • Fix crash if feedback or dyn attr is cleared before deletion. Commit. Fixes bug #495925
  • Fix ranges with dynamic attribute dont notify deletion. Commit.
  • Deprecate aboutToDeleteMovingInterfaceContent. Commit.
  • Remove m_ranges from buffer. Commit.
  • Dont take ownership of the MovingRange/MovingCursor. Commit.
  • Buffer: Remove m_invalidCursors. Commit.
  • Allow shifted numbers for Dvorak and Co. Commit. Fixes bug #388138
  • Keep hinting as set by the user. Commit. Fixes bug #482659
KTextTemplate
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
KTextWidgets
  • It compiles fine without deprecated methods. Commit.
  • Add missing find_dependency calls for private dependencies. Commit.
  • Add linux-qt6-static CI. Commit.
KUnitConversion
  • Add missing since documentation for Xpf currency. Commit.
  • Fix Xpf enum value. Commit.
  • Install python bindings into site-packages dir. Commit.
  • Add CFP franc to currencies list. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Add Python bindings. Commit.
KUserFeedback
  • Don't include quiet packages in feature_summary. Commit.
KWallet
  • It compiles fine without deprecated methods. Commit.
  • Link with libnetwork on Haiku. Commit.
  • Add global option to disable X11. Commit.
KWidgetsAddons
  • Fix since version for KAdjustingScrollArea. Commit.
  • Kmessagebox: Add option to force label to be plain text. Commit.
  • Install python bindings into site-packages dir. Commit.
  • Add python examples. Commit.
  • It compiles fine without deprecated methods. Commit.
  • Add Python bindings. Commit.
  • Ci: add Alpine/musl job. Commit.
  • KPageView: Strip mnemonics before matching search text. Commit.
  • KPasswordDialog: Vertically center prompt. Commit.
  • Introduce KAdjustingScrollArea. Commit.
  • Kratingwidget: Draw icon at native resolution. Commit.
KWindowSystem
  • Xcb: Be more strict about icon sizes. Commit.
  • Add manual test for activating window. Commit.
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
  • Disable Wayland and X11 on Haiku also. Commit.
  • Make use of QWaylandWindow::surfaceRoleCreated for setMainWindow. Commit.
KXMLGUI
  • KXmlGuiWindow: Create KHelpMenu without application data. Commit.
  • KHelpMenu: Use up-to-date application data if not set explicitly. Commit.
  • Add Python bindings. Commit.
  • Kbugreport: Specify what the second version number refers too. Commit.
  • AboutDialog: Add copy button for components info. Commit.
  • It compiles fine without deprecated methods. Commit.
  • About dialog: Put app specific components before generic components. Commit.
  • KHelpMenu: Allow showing and hiding the What's This menu entry. Commit.
  • KHelpMenu: Deprecate second constructor with bool parameter. Commit.
  • KHelpMenu: Deprecate constructor with unused parameter. Commit.
  • KHelpMenu: Remove unnecessary member variables. Commit.
  • KHelpMenu: Remove long dead support for a simple About text. Commit.
  • Ensure action insertion order is preserved. Commit.
  • Skip first column when resizing columns. Commit.
  • Simplify action storage in KActionCollection. Commit.
  • Add Linux static CI build. Commit.
  • Add component description to default components. Commit.
  • Simplify about data dialog. Commit.
  • [kactioncategory] Add new-style connect variants for addAction. Commit.
  • [kactioncategory] Deprecate functions that use KStandardAction. Commit.
  • [kactioncategory] Add overloads for KStandardActions. Commit.
Modem Manager Qt
  • It compiles fine without deprecated methods. Commit.
Network Manager Qt
  • Stop spamming about Unhandled property "VersionId". Commit.
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
Prison
  • It compiles fine without deprecated methods. Commit.
Purpose
  • [imgur] Improve error reporting. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Clipboard: Also allow to export to the clipboard. Commit. Fixes bug #477553
  • Introduce a clipboard plugin. Commit.
  • AlternativesModel: Don't filter by fields that don't pertain to the current plugintype. Commit.
QQC2 Desktop Style
  • Org.kde.desktop: Add null contentItem checks to check/radio/switch controls. Commit.
  • Use null contentItem instead of empty Item. Commit.
  • Use Qt text rendering when high DPI scaling. Commit. Fixes bug #479891
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Add a SwipeDelegate. Commit.
  • Don't include quiet packages in feature_summary. Commit.
Solid
  • Battery: Add cycleCount. Commit.
  • Bump KF and QT versions in cem_set_disabled_deprecation_versions. Commit.
  • Fstab: Fix memory leak when a network or overlay mount has changed. Commit.
  • Fix build on Haiku. Commit.
  • Consistenly use correct include statements for libmount. Commit.
  • Add support for rclone mounts and fstab entries. Commit.
Sonnet
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
Syndication
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Ci: add Alpine/musl job. Commit.
Syntax Highlighting
  • Update odin highlighting. Commit.
  • The lua indenter was removed long ago in ktexteditor. Commit.
  • Odin: Fix numbers getting highlighted in the middle of words. Commit.
  • Highlight odin 'context' keyword differently. Commit.
  • Improve odin lang highlighting. Commit.
  • Bump KF and QT versions in ecm_set_disabled_deprecation_versions. Commit.
  • Cmake.xml: updates for the recently released CMake 3.31. Commit.
Threadweaver
  • It compiles fine without deprecated methods. Commit.
  • Build fix for Haiku. Commit.

Thursday, 12 December 2024

A script element has been removed to ensure Planet works properly. Please find it in the original post.

Work

Okular

View and annotate documents

Okular is much more than a PDF reader: it can open all sorts of files, sign and verify the signatures of official documents, and annotate and fill in embedded forms.

Speaking of which, we implemented support for more types of items in comboboxes of PDF forms, and improved the speed and correctness of printing.

We also made it easier to digitally sign a document, and no longer hide the signing window prematurely until the signing process is actually finished.

Okular simplifies digital signing.

Kleopatra

Certificate manager and cryptography app

Kleopatra keeps track of your digital signatures, encryption keys, and certificates. It helps you sign, encrypt, and decrypt emails and confidential messages.

We redesigned Kleopatra's notepad and signing encryption dialog, as well as making the resulting messages and errors clearer. In the notepad, the text editor and the recipients view are now also shown side-by-side.

Kleopatra has a new editor for encrypting messages.

Which brings us to…

Merkuro

Manage your tasks, events and contacts with speed and ease

…Where the OpenPGP and S/MIME certificates of a contact are now displayed directly in Merkuro Contact. Clicking on them will open Kleopatra and show additional information.

Merkuro displays your contacts key info.

Create

Kdenlive

Video editor

Kdenlive, KDE's acclaimed video editor, keeps adding features and now lets you resize multiple items on the timeline at the same time.

Kwave

Sound editor

Kwave, KDE's native audio editor, has long been on the development backburner, but is now receiving updates again.

First it was ported to Qt6, which means it will work natively with Plasma 6. After that, the interface received some visual improvements in the way of new and more modern icons and a better visual indication when playback is paused.

Kwave boasts a renewed look.

Manage

Dolphin

Manage your files

The latest changes to KDE's file explorer/manager tend heavily towards accessibility* and usability.

For starters, the main view of Dolphin was completely overhauled to make it work with screen readers, and improved the keyboard navigation: pressing Ctrl+L multiple times will switch back and forth between focusing and selecting the location bar path and focusing the view. Pressing Escape in the location bar will now move the focus to the active view. The keyboard navigation in the toolbar has also been improved, as now the elements are focused in the right order.

Dolphin's sorting of files is more natural and "human" in this version: a file called "a.txt", for example, will appear before "a 2.txt", and you can also sort your videos by duration.

When it comes to your safety and checking your files, Dolphin has overhauled the checksum and permissions tab in the Properties dialog to make it easier for you. You will see this improvement in other KDE applications too.

Dolphin makes checking the integrity of files easier.

Finally… Dolphin goes mobile! Dolphin now includes a mobile-optimized interface for Plasma Mobile. After the addition of a selection mode and improvements to touchscreen-compatibility, Dolphin works surprisingly well on phones! That said, more work is still needed and planned over time to more closely align the user interface with typical expectations for mobile apps.

Dolphin's mobile look.


* Many of the accessibility improvements made to Dolphin 24.12 were possible thanks to funding provided by the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program.

KCron

Task Scheduler

A less well-known utility, but also very useful, is KCron. UNIX old-timers will recognize this as a frontend for the venerable cron command of yore. For the rest of you, it lets you schedule any kind of jobs to run at any time on your machine.

Once installed, you will find it in System Settings under Session > Task Scheduler. In the new version, KCron's configuration page was ported to QML and given a fancy new look.

KCron simplifies programming scheduled tasks.

KDE Connect

Seamless connection of your devices

KDE Connect is our popular app for connecting your desktop with your phone and, indeed, all your other devices. It allows you to share files, clipboards, and resources, as well as providing a remote control for media players, input devices, and presentations.

Great news: Bluetooth support for KDE Connect now works! Plus KDE Connect starts up much faster on macOS, dropping from from 3s to 100ms!

In the looks department, the list of devices you can connect to now shows the connected and remembered devices separately, and the list of plugins can be filtered and comes with icons.

KDE Connect presents devices in a much more orderly fashion now.

KRDC

Connect with RDP or VNC to another computer

If you need to access a remote desktop from your computer, you can start KRDC by opening a .rdp file containing the RDP connection configuration. KRDC now works much better on Wayland too.

Travel

KDE Itinerary

Digital travel assistant

The biggest change to your KDE travel assistant is how it handles concert, train, bus, and flight tickets, as well as hotel reservations. Itinerary now groups entries into individual trips, with each of them having their own timeline.

Itinerary suggests an appropriate existing trip when importing a new ticket, and displays some statistics about your trip, like the CO2 emissions, the distance traveled, and the costs (if available). Whole trips can also be exported directly and displayed on a map.

Itinerary shows you details of your trip.

Itinerary can display your trips on a map.

Itinerary can now handle geo:// URLs by opening the "Plan Trip" page with a pre-selected arrival location. This is supported both on Android and Linux.

Itinerary now supports search for places (e.g. street names) in addition to stops, and can show the date of the connection when searching for a public transport connection.

New services supported by Itinerary include:

  • GoOut tickets (an event platform in Poland, Czechia and Slovakia)
  • The Luma and Dimedis Fairmate event ticket sale systems
  • Colosseum Ticket in Rome
  • Droplabs, a Polish online ticket sale system
  • The Leo Express train booking platform
  • Google Maps links
  • European Sleeper seat reservations in French
  • Thai state railway tickets
  • VietJet Air
  • planway.com
  • Koleo
  • Reisnordland ferries
  • Reservix

…And more.

Kongress

Conference companion

Kongress is an app which helps you navigate conferences and events.

The newest version will display more information in the event list. This includes whether the event is in your bookmarked events and the locations within the event (e.g. the rooms).

Marble

Virtual Globe

Marble is a virtual globe and world atlas. It has recently been ported to Qt6 and its very old Kirigami looks were largely rewritten and modernized.

Marble Maps
Information about places
Routing in Marble Maps
Routing in Marble Maps

Marble Behaim — a special version of Marble that lets you explore the oldest globe representation of the Earth known to exist — now also works.

Communicate

Tokodon

Browse the Fediverse

Tokodon is your gateway into the Fediverse.

Developers of KDE's desktop and phone app have worked hard to improve your experience when accessing Mastodon for the first time. We have redesigned the welcome page, and, more importantly, Tokodon now fetches a list of public servers to simplify the registration process.

We have also focused on safety, so now you can forcibly remove users from your followers list. A safety page has been added to the Tokodon settings to manage the list of muted and blocked users.

So you can travel further through the Fediverse, Tokodon has improved the support for alternative server implementations, such as GoToSocial, Iceshrimp.NET, and Pixelfed. Tokodon has also added "News" and "Users" tabs to the Explore page.

Tokodon guides you in your exploration of Mastodon.

We also added a new "Following" feed, to quickly page through your follows and their feeds. It's now easier to start private conversations or mention users right from their profile page.

Converse with your followers using private messages.

Tokodon now supports quoting posts, and when you are writing a post, your user info is on display, which is useful if you post from multiple accounts. Right clicking on a link on a post will show a context menu allowing users to copy or share the URL directly.

Finally, a proper grid view for the media tab has been added in the profile page.

Examine the media you posted in a grid.

NeoChat

Chat on Matrix

NeoChat gives you a convenient way to interact with users on the Matrix chat network.

As your trust and safety are important when talking with strangers, you now have the option to block images and videos by default, and we implemented a Matrix Spec that redirects searches for harmful and potentially illegal content to a support message.

Besides that, when replying to users you ignored, your message will not be shown, avoiding accidentally interacting with disagreeable people. We have also improved the Security settings page to be more relevant and useful to normal users.

NeoChat's looks and usability have also improved and include a nicer emoji picker, more room list sorting options, a more complete message context menu, and better-looking polls.

NeoChat's improved emoji selector.

Develop

Kate

Advanced text editor

Instead of big features, devs have concentrated on the small things this time around, aiming to improve the overall experience. For example, Kate now starts up faster and gives visual cues of the Git status ("modified" or "staged") within the Project tree.

The order of the tabs is correctly remembered when restoring a previous session, and the options of the LSP Servers are more easily discoverable as they are no longer only available via a context menu, but also within a menu button at the top.

Kate's inline code formatting tooltips have been improved and can now also be displayed in a special context tool view, plus plugins now work on Windows, and have been expanded to include an out-of-the-box support for Flutter debugging.

The Quick Open tool lets you search and browse the projects open in the current session, and a Reopen latest closed documents option has been added to the tab context menu.

And all this too…

  • Francis, the app that helps you plan your work sessions and avoid fatigue, lets you skip the current phase of work or break time in its new version.
  • Konqueror, our venerable file explorer/web browser, comes with improved auto-filling of login information.
  • The Elisa music player supports loading lyrics from .lrc files sitting alongside the song files.
  • Falkon comes with a context menu for Greasemonkey. Greasemonkey lets you run little scripts that make on-the-fly changes to web page content.
  • The Alligator RSS feed reader offers bookmarks for your favorite posts.
  • Telly Skout, one of the newcomer apps for scheduling your TV viewing, comes with a redesigned display that lists your favorite TV channels and the TV shows that are currently airing.

Telly Skout lets you schedule your TV viewing.

Full changelog here

Where to get KDE Apps

Although we fully support distributions that ship our software, KDE Gear 24.12 apps will also be available on these Linux app stores shortly:

Flathub
Snapcraft

If you'd like to help us get more KDE applications into the app stores, support more app stores and get the apps better integrated into our development process, come say hi in our All About the Apps chat room.

Monday, 9 December 2024

Screenshot of Kaidan in widescreen Screenshot of Kaidan

We finally made it: Kaidan’s next release with so many features that we cannot summarize them in one sentence!

Most of the work has been funded by NLnet via NGI Assure and NGI Zero Entrust with public money provided by the European Commission. If you want Kaidan’s progress to continue and keep more free software projects alive, please share and sign the open letter for further funding!

Now to the bunch of Kaidan’s new and great features:

Group chats with invitations, user listing, participant mentioning and private/public group chat filtering are supported now. In order to use it, you need an XMPP provider that supports MIX-Core, MIX-PAM and MIX-Admin. Unfortunately, there are not many providers supporting it yet since it is a comparatively recent group chat variant.

You do not need to quote messages just to reply to them any longer. The messages are referenced internally without bloating the conversation. After clicking on a referenced message, Kaidan even jumps to it. In addition, Kaidan allows you to remove unwanted messages locally.

We added an overview of all shared media to quickly find the image you received some time ago. You can define when to download media automatically. Furthermore, connecting to the server is now really fast - no need to wait multiple seconds just to see your latest offline messages anymore.

If you enter a chat address (e.g., to add a contact), its server part is now autocompleted if available. We added filter options for contacts and group chats. After adding labels to them, you can even search by those labels. And if you do not want to get any messages from someone, you can block them.

In case you need to move to a new account (e.g., if you are dissatisfied with your current XMPP provider), Kaidan helps you with that. For example, it transfers your contacts and informs them about the move. The redesigned onboarding user interface including many fixes assists with choosing a new provider and creating an account on it.

We updated Kaidan to the API v2 of XMPP Providers to stay up-to-date with the project’s data. If you are an operator of a public XMPP provider and would like Kaidan’s users to easily create accounts on it, simply ask to add it to the provider list.

The complete list of changes can be found in the changelog section. There is also a technical overview of all currently supported features.

Please note that we currently focus on new features instead of supporting more systems. Once Kaidan has a reasonable feature set, we will work on that topic again. Even if Kaidan is making good progress, keep in mind that it is not yet a stable app.

Changelog

Features:

  • Add server address completion (fazevedo)
  • Allow to edit account’s profile (jbb)
  • Store and display delivery states of message reactions (melvo)
  • Send pending message reactions after going online (melvo)
  • Enable user to resend a message reaction if it previously failed (melvo)
  • Open contact addition as page (mobile) or dialog (desktop) (melvo)
  • Add option to open chat if contact exists on adding contact (melvo)
  • Use consistent page with search bar for searching its content (melvo)
  • Add local message removal (taibsu)
  • Allow reacting to own messages (melvo)
  • Add login option to chat (melvo)
  • Display day of the week or “yesterday” for last messages (taibsu, melvo)
  • Add media overview (fazevedo, melvo)
  • Add contact list filtering by account and labels (i.e., roster groups) (incl. addition/removal) (melvo, tech-bash)
  • Add message date sections to chat (melvo)
  • Add support for automatic media downloads (fazevedo)
  • Add filtering contacts by availability (melvo)
  • Add item to contact list on first received direct message (melvo)
  • Add support for blocking chat addresses (lnj)
  • Improve notes chat (chat with oneself) usage (melvo)
  • Place avatar above chat address and name in account/contact details on narrow window (melvo)
  • Reload camera device for QR code scanning as soon as it is plugged in / enabled (melvo)
  • Provide slider for QR code scanning to adjust camera zoom (melvo)
  • Add contact to contact list on receiving presence subscription request (melvo)
  • Add encryption key authentication via entering key IDs (melvo)
  • Improve connecting to server and authentication (XEP-0388: Extensible SASL Profile (SASL 2), XEP-0386: Bind 2, XEP-0484: Fast Authentication Streamlining Tokens, XEP-0368: SRV records for XMPP over TLS) (lnj)
  • Support media sharing with more clients even for sharing multiple files at once (XEP-0447: Stateless file sharing v0.3) (lnj)
  • Display and check media upload size limit (fazevedo)
  • Redesign message input field to use rounded corners and resized/symbolic buttons (melvo)
  • Add support for moving account data to another account, informing contacts and restoring settings for moved contacts (XEP-0283: Moved) (fazevedo)
  • Add group chat support with invitations, user listing, participant mentioning and private/public group chat filtering (XEP-0369: Mediated Information eXchange (MIX), XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements, XEP-0406: Mediated Information eXchange (MIX): MIX Administration, XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities) (melvo)
  • Add button to cancel message correction (melvo)
  • Display marker for new messages (melvo)
  • Add enhanced account-wide and per contact notification settings depending on group chat mentions and presence (melvo)
  • Focus input fields appropriately (melvo)
  • Add support for replying to messages (XEP-0461: Message Replies) (melvo)
  • Indicate that Kaidan is busy during account deletion and group chat actions (melvo)
  • Hide account deletion button if In-Band Registration is not supported (melvo)
  • Embed login area in page for QR code scanning and page for web registration instead of opening start page (melvo)
  • Redesign onboarding user interface including new page for choosing provider to create account on (melvo)
  • Handle various corner cases that can occur during account creation (melvo)
  • Update to XMPP Providers v2 (melvo)
  • Hide voice message button if uploading is not supported (melvo)
  • Replace custom images for message delivery states with regular theme icons (melvo)
  • Free up message content space by hiding unneeded avatars and increasing maximum message bubble width (melvo)
  • Highlight draft message text to easily see what is not sent yet (melvo)
  • Store sent media in suitable directories with appropriate file extensions (melvo)
  • Allow sending media with less steps from recording to sending (melvo)
  • Add media to be sent in scrollable area above message input field (melvo)
  • Display original images (if available) as previews instead of their thumbnails (melvo)
  • Display high resolution thumbnails for locally stored videos as previews instead of their thumbnails (melvo)
  • Send smaller thumbnails (melvo)
  • Show camera status and reload camera once plugged in for taking pictures or recording videos (melvo)
  • Add zoom slider for taking pictures or recording videos (melvo)
  • Show overlay with description when files are dragged to be dropped on chats for being shared (melvo)
  • Show location previews on a map (melvo)
  • Open locations in user-defined way (system default, in-app, web) (melvo)
  • Delete media that is only captured for sending but not sent (melvo)
  • Add voice message recorder to message input field (melvo)
  • Add inline audio player (melvo)
  • Add context menu entry for opening directory of media files (melvo)
  • Show collapsible buttons to send media/locations inside of message input field (melvo)
  • Move button for adding hidden message part to new collapsible button area (melvo)

Bugfixes:

  • Fix index out of range error in message search (taibsu)
  • Fix updating last message information in contact list (melvo)
  • Fix multiple corrections of the same message (melvo, taibsu)
  • Request delivery receipts for pending messages (melvo)
  • Fix sorting roster items (melvo)
  • Fix displaying spoiler messages (melvo)
  • Fix displaying errors and encryption warnings for messages (melvo)
  • Fix fetching messages from server’s archive (melvo)
  • Fix various encryption problems (melvo)
  • Send delivery receipts for catched up messages (melvo)
  • Do not hide last message date if contact name is too long (melvo)
  • Fix displaying emojis (melvo)
  • Fix several OMEMO bugs (melvo)
  • Remove all locally stored data related to removed accounts (melvo)
  • Fix displaying media preview file names/sizes (melvo)
  • Fix disconnecting from server when application window is closed including timeout on connection problems (melvo)
  • Fix media/location sharing (melvo)
  • Fix handling emoji message reactions (melvo)
  • Fix moving pinned chats (fazevedo)
  • Fix drag and drop for files and pasting them (melvo)
  • Fix sending/displaying media in selected order (lnj, melvo)

Notes:

  • Kaidan is REUSE-compliant now
  • Kaidan requires Qt 5.15 and QXmpp 1.9 now

Download

Or install Kaidan for your distribution:

Packaging status

Sunday, 8 December 2024

Hey team!

Back with a series of updates on the Plasma Design System work that we are doing. All videos contain English captions.

Leave your feedback or let us know if you have any questions.

Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.

This week, we are adding the final touches to our applications for the KDE Gear 24.12.0 release coming next Thursday. We are also releasing KPhotoAlbum and KGeoTag, now based on Qt6; improving Itinerary's ticket extractor support coverage in central Europe; and continuing our work on Karp, KDE's new PDF editor.

Meanwhile, as part of the 2024 end-of-year fundraiser, you can "Adopt an App" in a symbolic effort to support your favorite KDE app. This week, we are particularly grateful to Stuart Turton for NeoChat; Lukas, Stuart Turton and J. for Merkuro; Andreas Pietzowski, Dia_FIX and Alex Gurenko for Ark; Stuart Turton and Cameron Bosch for Tokodon; Alex Gurenko and Steven Dunbar for Gwenview; Alex Gurenko, Kasimir den Hertog and Pokipan for KWrite; crysknife, Ian Kidd and Felix Urbasik for KRDC; Ian Nicholson for Alligator; Cameron Radmore for ISO Image Writer; Marcel Janik Kimpel and @siriusfox@social.treehouse.systems for KDE Partition Manager; Marton Daniel for Plasma System Monitor; Alessio Adamo for AudioTube; zukigay for Kasts; Anael for Elisa; Stuart Turton and Clément Aubert for Konqueror; Ulrich Palecek, @ddjivan.bsky.social and Andreas Zautner for Discover; Butters for KolourPaint; KjetilS for krfb; and finally fabacam, Michael Klingberg and Gianmarco Gargiulo for GCompris.

Getting back to all that's new in the KDE App scene, let's dig in!

Akonadi Background service for KDE PIM apps

When updating, adding, or removing a tag/category to a calendar event, the update is immediately visible without having to sync again with a remote server (Daniel Vrátil, 24.12.0 — Link).

Alligator RSS feed reader

The "Refresh" action is now also visible on mobile (Mark Penner, 24.12.0 — Link).

Amarok A powerful music player that lets you rediscover your music

A beta release of the upcoming Amarok 3.2 music player is out for testing — see the announcement email.

Amarok devs fixed Ampache version check. Ampache is self-hostable music streamer service server and the version check was broken since Ampache changed their version format, but it works again now (Ian Abbott, Amarok 3.2.0 — Link).

You can also filter a collection by tracks that have tags missing or when tags are empty (Tuomas Nurmi, Amarok 3.2.0 — Link — an 11 year old feature request!).

Arianna EBook reader

Arianna now uses foliate-js instead of epub.js to render EPUB files. foliate-js provides some advantages like no longer requiring to load the whole book into memory, and comes with a better layout engine (Ajay Chauhan, 25.04.0 — Link).

AudioTube YouTube Music app

AudioTube now displays album information in the maximized player view (Kavinu Nethsara, 25.04.0 — Link).

Dolphin Manage your files

Accessibility support in Dolphin was adapted to better work with Orca 47 (Felix Ernst, 25.04.0 — Link), and, continuing with accessibility improvements, after activating a folder in the Dolphin sidebar, the view is now always focused (Felix Ernst, 25.04.0 — Link). Likewise, when clicking on "Open Path" and "Open Path in New Tab" after searching for an item, the view will scroll to the selected item (Akseli Lahtinen, 25.04.0 — Link).

The placeholder message when Samba isn't and can't be installed was improved (Ilya Katsnelson, 25.04.0. and partially backported to 24.12.0 — Link), and the Flatpak version now allows compressing files into an archive (Justin Zobel, 25.04.0 — Link).

Elisa Play local music and listen to online radio

When removing the last track associated with an artist or a music genre, the artist or genre is now removed from the internal database (Jack Hill, 25.04.0 — Link).

Gwenview Image Viewer

We fixed the incorrect numbering in full screen mode for the first image (Pedro Hernandez, 25.04.0 — Link).

KDE Itinerary Digital travel assistant

Volker wrote a recap for the past two months in Itinerary and can read it on his blog. The post includes a report on work unrelated to Itinerary development, but nevertheless important, like the lobbying of DELFI, a cooperation network of all German federal states for public transport.

The "Vehicle Layout" page and the "Journey Details" page were slightly tweaked and use the new unified component to display the name of the train or bus (Carl Schwan, 25.04.0 — Link 1 and link 2).

We also made significant progress on Itinerary's extractors this week, with many new extractors, including:

  • The Colosseum Ticket in Rome (David Pilarcik, Link)
  • The Polish online ticket sale system Droplabs (David Pilarcik, Link)
  • The train booking platform Leo Express (David Pilarcik, Link)
  • The German trade fair, congress, and event ticket sale system, Dimedis Fairmate (Kai Uwe Broulik, Link)
  • Google Maps links (Kai Uwe Broulik, Link)
  • The European Sleeper seat reservations in French (Luca Weiss, Link)

Kaidan Modern chat app for every device

Kaidan will now display a map preview by default when receiving a geo location (Melvin Keskin — Link).

Karp KDE arranger for PDFs

Karp, KDE's new PDF editor, received visual improvements to its main interface (Carl Schwan — Link 1, link 2 and link 3).

And Nicolas setup crash reporting for Karp (Nicolas Fella — Link).

KDE Connect Seamless connection of your devices

We moved the list of devices to the sidebar in an effort to bring the app to parity with the KCM (Darshan Phaldesai, 25.04.0 — Link).

We also added icons to the plugin config list (Leia uwu, 25.04.0 — Link).

For the bluetooth backend, we improved the speed of transferring data between devices (ivan tkachenko, 25.04.0 — Link).

KGeoTag Photo geotagging program

KGeoTag 1.7.0 is out! This release brings Qt6 support to the app. Read the full announcement.

KPhotoAlbum KDE image management software

KPhotoAlbum 6.0.0 is out! This release also brings Qt6 support to the app. Read the full announcement.

Konsole Use the command line interface

It is now possible to resize Konsole's search bar (Eric D'Addario, 25.04.0 — Link), and to search for an open tab by its name (Troy Hoover, 25.04.0 — Link).

Kongress Conference companion

We now display the speaker's name (if available) in the talk info (Volker Krause, 25.04.0 — Link).

Kleopatra Certificate manager and cryptography app

We fixed a crash when the output directory for decrypting doesn't exist (Tobias Fella, 24.12.1 — Link).

KRDC Connect with RDP or VNC to another computer

We fixed the "Grab Keys" feature on Wayland when switching from and to full screen. Additionally the "Grab Keys" feature, now also correctly forwards every shortcut to the remote applications (Fabio Bas, 25.04.0 — Link 1 and link 2).

We also fixed building KRDC on Haiku (Luc Schrijvers, 24.12.1 — Link).

NeoChat Chat on Matrix

You can now sort rooms in the sidebar based on their most recent activity instead of by unread notifications (Soumyadeep Ghosh, 25.04.0 — Link), and added a "Copy Link Address" context menu when clicking on a message (Kai Uwe Broulik, 25.04.0 — Link).

We fixed the capitalization of the account dialog as well as many of NeoChat's settings pages (Joshua Goins, 25.04.0 — Link), and removed device details from the device display name, as this could leak sensitive information (Tobias Fella, 24.12.0 — Link).

Okular View and annotate documents

When creating a new signature, Okular will automatically pick a font size depending on the available size instead of using a hardcoded size. This allows you to make signatures much smaller than before (Nicolas Fella, 25.04.0 — Link). This work was sponsored by the Technische Universität Dresden.

PlasmaTube Watch YouTube videos

We improved the support for Piped, an alternative privacy-friendly YouTube frontend, in PlasmaTube, as we have improved the parsing of its media format information (Alexey Andreyev, 25.04.0 — Link).

Tokodon Browse the Fediverse

The Mastodon client used when posting on Mastodon is now displayed as a Kirigami.Chip element (Joshua Goins, 25.04.0 — Link).

We also fixed the support for GoToSocial (snow flurry, 24.12.0 — Link 1 and link 2), and added prelimary support for Iceshrimp (Joshua Goins, 24.12.0 — Link)).

Spectacle Take screenshots and recordings

Spectacle can now export to an animated WebP or a GIF (Noah Davis, 25.04.0 — Link).

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.

For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.

Get Involved

The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.

You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.

You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world.

To get your application mentioned here, please ping us in invent or in Matrix.

Thanks to Michael Mischurow and Tobias Fella for proofreading this post.

Saturday, 7 December 2024

I promised new features soon, and here they are! There are plenty of positive UI changes too. Hopefully what this week's post lacks in quantity will be made up by depth, because these are some nice changes that have been in development for quite some time. Have a look:

Notable New Features

It's now possible to clone a panel! (Niccolò Venerandi, 6.3.0. Link)

KWin's Custom Tiling system now remembers tile arrangement on a per-virtual-desktop basis. (Marco Martin, 6.3.0. Link)

You can now set keyboard shortcuts to move windows between Custom Tiling (as opposed to Quick Tiling) tile zones based on directionality. No default shortcuts were set up for now because all the obvious Modifier+Arrow combinations were already taken. This is an avenue to ponder further in the future. (Akseli Lahtinen, 6.3.0. Link)

It's now possible to limit the upper and lower ranges for tablet pen pressure, not just the shape of the pressure curve. (Joshua Goins, 6.3.0. Link)

Notable UI Improvements

Categories in Kickoff no longer automatically switch on hover by default; they have to be clicked like all other list items elsewhere. This fixes a host of issues related to unexpected category switching and freezes when moving the pointer rapidly over categories. Those who preferred switch-on-hover can turn it back on if they like. (Noah Davis, 6.3.0. Link)

The way Quick Tiling (i.e. with Meta+Arrow keys) works has been slightly changed; now when trying to tile a window in a direction it can't be tiled in anymore because it has hit a screen edge with nothing beyond it, it will simply sit there, rather than un-tiling and teleporting to a potentially unexpected place. (Vlad Zahorodnii, 6.3.0. Link)

System Settings' Display & Monitor page now shows a slider for normal/SDR brightness for each screen, just in case you expected to find it there rather than in the System Tray's Brightness and Color widget. (Xaver Hugl, 6.3.0. Link)

When you hold down Alt+Tab to open the window switcher and then keep those keys held down, the selection highlight will now go all the way to the end, but will no longer hilariously wrap around infinitely until you release the keys again. (Ismael Asensio, 6.3.0. Link)

The active virtual desktop is now remembered per activity. (Xaver Hugl, 6.3.0. Link)

Notable Bug Fixes

Fixed a bug that could cause placeholder and typed text to overlap in KRunner's search field under certain circumstances. (Jack Xu, 6.2.5. Link)

Metadata displayed for Bing picture of the day wallpapers is now displayed correctly. (George Travelbacon, 6.2.5. Link)

When you copy images from Plasma notifications, they can now be pasted into sandboxed apps. (Alessandro Astone, 6.2.5. Link)

After using an application that goes through the input capture portal (e.g. Input Leap) and it quits unexpectedly, you now regain full control of your pointer and keyboard immediately. (David Redondo, 6.2.5 Link)

Keyboard navigation between a filtered subset of windows in the Overview effect now works as you expect it to. (Niccolò Venerandi, 6.3.0. Link)

When you delete a panel but haven't yet dismissed the option to unto this, the deleted panel no longer inappropriately and surprisingly responds to any keyboard shortcuts that toggle any of their widgets. (Niccolò Venerandi, 6.3.0. Link)

Other bug information of note:

Notable in Performance & Technical

Slightly increased the performance of every app and window that uses KWindowStateSaver. (David Edmundson, Frameworks 6.9, Link)

How You Can Help

KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.

Thankfully, thousands of you have stepped up in the past week to do just that financially, donating a record-breaking amount of money to KDE e.V., which is just incredible, awe-inspiring even.

So that's a great way to help out. But if you've got more time than money or want to make a difference more directly, then you can help KDE by becoming an active community member and getting involved somehow. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine!

You don’t have to be a programmer, either. Many other opportunities exist:

To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.

This time, it’s a short one: We ported KPhotoAlbum to Qt6/KF6. That’s it ;-)

The port itself has been done by Johannes and me, additional commits have been contributed by Randall Rude and Fabian Würfl. Thanks for working on KPA with us!

One thing that’s worth mentioning is: For the map/geodata functionality, we need Marble. The Qt5/KF5 version of Marble can’t be co-installed with the Qt6/KF6 version, and this one is not released yet. But Marble 24.12.0 (which will be the first official Qt6/KF6 release) will be released in a few days. So just wait until it's out before upgrading to KPA 6, to not lose the map parts.

Maybe, the Qt6/KF6 version contains some regressions. The codebase is quite well advanced in years in some parts, and we had to mess with quite some legacy issues to make the whole thing fit for Qt6/KF6. So if you notice anything, please file a respective bug report and/or contact us via our mailing list or Matrix channel (cf. User support → Communication). Thanks for your participation (hopefully, it won’t be necessary too much).

Have a lot of fun with KPhotoAlbum 6 :-)

— Tobias

Plasma Wayland Protocols 1.15.0 is now available for packaging. It is needed for the forthcoming KDE Frameworks.

URL: https://download.kde.org/stable/plasma-wayland-protocols/
SHA256: e5aedfe7c0b2443aa67882b4792d08814570e00dd82f719a35c922a0993f621e Signed by: E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Riddell jr@jriddell.org

Full changelog:

  • Add a request to create a virtual output stream with description
  • Add alpine CI
  • Add modifier information to keystate
  • gitignore: use same as KWin
  • Add a destructor to appmenu manager
  • Add protocol tests
  • Add CI for static builds on Linux

Friday, 6 December 2024

Let’s go for my web review for the week 2024-49.


Pourquoi les médias devraient créer des serveurs Mastodon maintenant

Tags: tech, social-media, fediverse, bluesky, politics, business

Article in French

Very good piece explaining why the Ferdiverse is currently our only option for a decentralized social media platform. Maybe Bluesky will become another option… maybe… but so far it’s only empty promises with a real risk of capture.

https://blogs.mediapart.fr/gaetan-le-feuvre/blog/291124/pourquoi-les-medias-devraient-creer-des-serveurs-mastodon-maintenant


Tags: tech, ai, machine-learning, gpt, copyright, law

Another lawsuit making progress against OpenAI and their shady practice.

https://www.niemanlab.org/2024/11/copyright-claim-moves-ahead-in-the-intercepts-lawsuit-against-openai/


New era of slop security reports for open source

Tags: tech, security, ai, machine-learning, gpt

Let’s hope security teams don’t get saturated with low quality security reports like this…

https://sethmlarson.dev/slop-security-reports


SmolVLM - small yet mighty Vision Language Model

Tags: tech, ai, machine-learning, vision

Nice vision model. Looks like it strikes and interesting balance between performance and memory consumption. Looks doable to run cheaply and on premise.

https://huggingface.co/blog/smolvlm


First Router Designed Specifically For OpenWrt Released - Software Freedom Conservancy

Tags: tech, foss, hardware, networking

This is an excellent milestone reached for the OpenWrt project. Easily available hardware is a must. It’s rather cheap too.

https://sfconservancy.org/news/2024/nov/29/openwrt-one-wireless-router-now-ships-black-friday/


Why pipes sometimes get “stuck”: buffering

Tags: tech, unix, system

Good post about the very much overlooked fact that lots of command buffer internally when their output is not a TTY.

https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/


Compilation on the GPU?

Tags: tech, compiler, gpu, research

Interesting research about feasibility of making compilers parallelized on the GPU. I wonder how far this will go.

https://dl.acm.org/doi/abs/10.11453528416.3530249


Legacy Safety: The Wrocław C++ Meeting

Tags: tech, c++, safety

Interesting piece, it highlights well the struggle for the C++ community to come up with a cohesive approach to improve safety. It doesn’t look like the solution is going to come from the standardization committee (unfortunately).

https://cor3ntin.github.io/posts/profiles/


Structured Binding Upgrades in C++26

Tags: tech, c++

Very nice improvements finally coming to structured bindings indeed. Should make them even more useful.

https://biowpn.github.io/bioweapon/2024/12/03/structured-bindings-cpp26.html


Why I Hate Language Benchmarks - gingerBill

Tags: tech, language, benchmarking

Comparing languages based on some benchmark is probably a fool’s errand indeed. To many factors can change between language and benchmark implementations.

https://www.gingerbill.org/article/2024/01/22/comparing-language-benchmarks/


If Not React, Then What?

Tags: tech, web, frontend, react, criticism, product-management, performance

Excellent piece which shows why React (or Angular) is almost always a bad choice and that you’d be better off banking on the underlying web platform. It leads to better user experience full stop. The article also goes in great length debunking the claims which keep React dominant.

https://infrequently.org/2024/11/if-not-react-then-what/


Building A Strong Ownership Culture in A Team

Tags: tech, engineering, management

Nice example of organization to foster more autonomy and ownership in engineering teams. Clearly needs to be adapted to the project context but gives quite a few ideas. It strikes a nice balance at keeping both an individual and a team view of the responsibilities.

https://candost.blog/strong-ownership-culture-in-a-team/


An introduction to thinking about risk - Jacob Kaplan-Moss

Tags: tech, project-management, risk

Excellent article introducing how to analyse risks.

https://jacobian.org/2024/dec/4/risk-introduction/


Tying Engineering Metrics to Business Metrics

Tags: tech, engineering, business, metrics

Good mulling for thought. It’s always a bit challenging to nicely explain the tie between engineering metrics and how they impact the business. This is a nice starting point.

https://icchasethi.medium.com/tying-engineering-metrics-to-business-metrics-f4df7651e026



Bye for now!