I use several non-KDE Qt-based applications which I tend to compile
manually from source to use the same non-distro-provided Qt version that
I compile KDE software against.
I’ve noticed that I don’t update them as often as the rest of the
system, so I decided to see if I can add them to
kdesrc-build.
The packages-to-be-built definitions are located in
repo-metadata/module-definictions which already contains a
few 3rd-party libraries that the KDE frameworks and applications
use.
Adding the Strawberry player (fork of Clementine, which was a fork of
Amarok 1.x) to the build, was quite straight-forward. I just needed to
define the repository, cmake options to make it build the
Qt6 version instead of the Qt5 one, and the branch I want to build
from.
module strawberry
repository https://github.com/strawberrymusicplayer/strawberry.git
cmake-options -DBUILD_WITH_QT6=ON
branch master
end module
For applications with normal cmake setup, it is as easy
as that. But there are applications like recoll which don’t
have a CMakeLists.txt file in the top level, and
kdesrc-build doesn’t like that.
To ensure that kdesrc-build finds the real src directory
for cmake, I needed to do something completely hackhish. I
had to pass the path to the source directory, which is otherwise defined
automatically by kdesrc-build for each project it builds,
to cmake-options:
I use Hugo to build my website (which you can explore the source code to
on GitHub.) And because I love using
KDE applications whenever I can, I do all of my editing - from config files, CSS
and Markdown for posts - in Kate.
My song & dance when I want to edit my website is a bit inefficient. I
would use Kate, then manually navigate to my folder. Or I would invoke Kate from
the command-line to do the same. Then I would open a separate Konsole window
(and sometimes the integrated terminal) in order to launch Hugo to build the
site. I would then open up a separate terminal to perform git operations.
So I have created a neat workflow that I think is worth sharing, in case you
didn’t know Kate had these features. This also serves as documentation to myself
whenever I want to re-create it.
Sessions
The first and easiest improvement is to use
sessions. You can manage these under the “Session” menu item at the top of Kate.
Instead of opening a fresh Kate session each time, the folder I was in (which is
always my site’s folder) and the open documents I have are saved automatically.
Note that you probably need the Projects plugin enabled to have access to the
“Projects” tab where it’s state is also saved in the session.
External Tools
The next thing to tackle is making it easier to launch Hugo. We can accomplish
this by using External Tools, which is managed under Settings or under the Tools
menu item. I have two, one for launching Hugo and the other for stopping it.
These external tools are self-explanatory, but I set the working directory to %{Project:Path}
to ensure it’s running at the site root. I also have it set to spit out the Hugo
output into the pane, but it doesn’t actually display until the process quits
which seems like a bug in Kate.
It’s not a huge deal, as the output is displayed when I use the “Stop Hugo” action. I suggest using the “-O” argument of hugo server to automatically open your default web browser when Hugo completes initialization.
Ideas
It would be cool to have a preview pane that automatically finds the Markdown file
you’re editing and navigate to it, which seems possible. Another nicety would be
a native Kate plugin to handle launching/stopping/configuring the Hugo server. But
this workflow is already a big improvement over what I had before.
The Amarok Development Squad is happy to announce the immediate availability of Amarok 3.2 "Punkadiddle"!
2024 was the year that finally introduced a Qt5/KF5 based Amarok 3 release in April, and it was followed by a number of 3.x bugfix and feature releases.
Now, to conclude 2024, it is time for Amarok 3.2.0. The most interesting change is probably the ability to build the same codebase on both Qt5 and Qt6.
Qt5/KF5 is still the recommended, tested configuration, for now. Qt6 version should be usable, but in addition to any unknown issues, there are a number
of known issues documented in README.
Additionally, 3.2.0 includes e.g. collection filtering and Ampache related features and fixes, oldest resolved feature request being from 2013.
Multiple long-standing crash bug reports have been closed lately, and probable fixes for various issues observed in crash report data have been introduced.
Amarok 3.2.0 should thus feature slightly improved stability.
Some 3.2.x bugfix releases are to be expected in 2025, before the focus shifts to preparations for an "Amarok 4".
Changes since 3.1.1
CHANGES:
Building an experimental Qt6/KF6 Amarok version is now possible
Allow filtering collection by lack of tag / empty tag (BR 325317)
CHANGES:
Amarok now depends on KDE Frameworks 5.108
Show current track context applet by default
BUGFIXES:
Probably fix occasional crashes when filtering collection (BR 492406)
Probably fix occasional crashes when clearing CompondProgressBars
Fix context view applets on Qt6/KF6
Fix Ampache login on server version 5.0.0 and later (BR 496581)
Fix crash if Ampache login is redirected (BR 396590)
The git repository statistics between 3.1.0 and 3.2.0 are as follows:
In addition to source code, Amarok is available for installation from many distributions' package
repositories, which are likely to get updated to 3.2.0 soon, as well as
the flatpak available on flathub.
Unfortunately, there won't be any "This Week in KDE Apps" blog post this week as
I (Carl) and others are at the #38C3 (Chaos Communication Congress) in Hamburg.
But if you are also there, don't hesitate to come by and say hi.
One of the much requested feature for Kdenlive was a modern background removal tool.
Among the many features and enhancements that will come in 2025, we are excited to announce a preview version with a background removal tool using object masks. The feature is based on SAM2‘s object segmentation. You can download the Kdenlive test alpha version from the links at the bottom of this page.
Since this is a testing preview version, the binaries are not signed and you might need to manually allow the install on Windows.
Here is a quick demo of how the feature works in screenshots:
Add a clip to your project
Select a zone to apply the background removal
Click on the Mask button
Select Configure to setup the tool (to be done only the first time)
Click on Install in the Object detection setup
Go drink a coffee while the module is being downloaded and installed (between 5 and 15 minutes depending on your internet connection). Currently there is not much feedback from the install, we will improve this so just be patient.
Kdenlive downloads the smallest model by default. Once it shows up, you can close the dialog and start using the feature.
Click on the Create new mask button
Click on the object you want to keep (foreground)
When the white mask appears, click on Generate Mask
The video mask task starts, drink another coffee
When the video mask is created, it will appear in the mask manager dialog (2).
Drag your clip zone from the clip monitor to timeline
Select the newly created mask
Click on Apply Mask
Success, you can now enjoy your video without the background.
Of course, this feature can also be used for other exciting things like applying an effect or a color correction to a specific object only.
Keep in mind that this is an alpha version, we will enhance and polish it for the upcoming 25.04 version. Happy editing!
Screen magnification is an accessibility feature that enlarges the screen to make text, images, and other user interface components easier to see or read. It is not something that requires constant developer attention, however, in Plasma 6.3, the zoom plugin received some improvements that I’d like to go over quickly.
Pixel grid
A script element has been removed to ensure Planet works properly. Please find it in the original post.
Arguably, it will be too hard to read text if the screen is “too” zoomed in. There are several ways how this case can be handled. For example, the magnification factor can be capped (e.g. to x8 or x10), or do nothing and just display blurry upscaled screen contents… or display something else.
With the old behavior, the zoom plugin used not to do anything special when the magnification factor reaches a high value, but with the new behavior, it is going to display the individual pixels on the screen. This can be very useful to developers, designers, etc.
System settings
In addition to the new pixel grid mode, the system settings for the zoom plugin received minor polishing to look more consistent with other config modules.
Future improvements
Keyboard shortcuts are not the only way how the zoom plugin can be triggered. For example, it can be also triggered by pressing Meta and Control keys and scrolling the mouse wheel to zoom. However, it is not exposed anywhere in the user interface and some people may prefer zooming with just the Meta key pressed. In order to address the discoverability issue of the mouse wheel gesture and allow using a different combination of modifier keys, there is already a patch to add the corresponding system setting, but it’s 6.4 material. It would be also nice to move screen magnifier settings from the desktop effects config module to the accessibility config module.
Last but not least, the zoom effect currently uses the bi-linear magnification filter, which produces okay-ish visual results, but it’s worth looking for alternative upscaling algorithms that handle edges better so zoomed in text looks less blurry.
I need your help. I’ve created a first version of Skrooge that can be built on KF6 and Qt6 (Its temporary number version is 2.33.8).
I use it daily for managing my own accounts. However, before releasing an official version, I’d like some of you to test it and provide feedback by reporting any issues you encounter.
I’m counting on you! To get started, check out the download section and the README.md.
After almost a year, I finally found some time to dive back into Krita. I stumbled upon the Memileo Impasto Brushes bundle, which mimics the texture and thickness of real paint—perfect for adding depth and dimension. Inspired to try them out, I created this quick one-hour painting.
Like everyyear I take a couple of days off at the end of the year to wind down and spent time with the family. The year has brought many major changes, both to KDE and to me personally: We did the KDE MegaRelease 6, the next major update to KDE’s software suite. Plasma 6 further made Wayland the default graphical session. I also spent a lot more time in Qt itself, particularly Qt Wayland, rather than KDE code. Anyhow, between family visits and feasts there’s always some time for quality KDE hacking.
That’s right: Monitoring task progress in Konsole while busy doing something else
I’ve always been a huge fan of Windows 7’s task bar with its progress reporting and Jump Lists. Nine years ago (wow, really?!) I added support for the Unity Launcher API to Plasma’s task bar in order to display download and copy progress. The other day I was browsing systemd changelog when I stumbled upon:
The various components that display progress bars […], will now also issue the ANSI sequences for progress reports that Windows Terminal understands. Most Linux terminals currently do not support this sequence (and ignore it), but hopefully this will change one day.
I hope so, too! Guess whose Konsole understands ConEmu-specific OSC (Operating System Command), the stuff systemd uses, for progress reporting now? There’s still a few quirks to be worked out since Konsole allows you to have multiple split views within the same tab. Nevertheless, we’ve got plenty of time until the next KDE Gear release in April 2025 to finalize it. Moreover, I asked kde-builder (KDE’s meta build system and spiritual successor to kdesrc-build) to support it, so you could monitor KDE compile progress at a glance.
I’m a scratch-your-own-itch type of guy. When I finally got fed up with Element (a Matrix chat client) in a browser window eating my CPU, I gave our own NeoChat application a try. The first thing I added was a “Copy Link Address” context menu when hovering a link in addition to fixing the missing “Edit” entry. Next, I had the window title include the chat room name since that’s what I am usually looking for in my task bar. Finally, Kirigami’s Avatar component can now load its image asynchronously which should speed up scrolling through the timeline and lists of rooms and users.
Ink marker colors shown again in redesigned Printer Manager
Speaking of Kirigami, Qt 6.8 added an animateClick function to buttons. It briefly flashes and then triggers it. This is now used throughout Kirigami in keyboard shortcut handling, bringing it in line with the Qt Widget world. Qt 6, too, has a concept of “accent color” for a few releases. Plasma’s accent color system predates it, though, so there’s some friction between the two. While we don’t have a proper Kirigami Theme API for it yet, at least setting the highlight now also sets the accent color. With that, ink cartridge levels have the appropriate marker colors in printer settings again. Speaking of accent color, I just backported some changes we made for Frameworks 6 to Frameworks 5 to ensure that KF5 apps can interpret Breeze Icons from KF6 properly, notably fixing the black folder icons.
I hope you also got the chance to spend some time with your loved ones. If you enjoyed what the KDE Community brought you this year, please consider donating to our Year End Fundraiser or to me personally, so we can continue rocking in 2025!
AudioTube now shows synchronized lyrics provided by LRCLIB. This automatically falls back to normal lyrics if synced lyrics are not available. (Kavinu Nethsara, 25.04.0. Link)
Quickly renaming multiple files by switching between them with the keyboard arrow keys now correctly starts a renaming of the next file even if a sorting change moved it. (Ilia Kats, 25.04.0. Link)
Fixed a couple of regressions in the 24.12.0 release. (Akseli Lahtinen, 24.12.1. Link 1, link 2, link 3)
We improved how we are displaying the signature and certificate details in the mobile version of Okular. (Carl Schwan, 25.04.0. Link)
When selecting a certificate to use when digitally signing a PDF with the GPG backend, the fingerprints are rendered more nicely. (Sune Vuorela, 25.04.0. Link)
It's now possible to choose a custom default zoom level in Okular. (Wladimir Leuschner, 25.04.0. Link)
Merkuro Mail now lets you search across your emails with a full text search. (Carl Schwan, 25.04.0. Link)
Additionally, the Merkuro Mail sidebar will now remember which folders were collapsed or expanded as well as the last selected folder across application restarts. (Carl Schwan, 25.04.0. Link)
This week, Joshua spent some time improving Tokodon for mobile and
in particular for Android. This includes performance optimization, adding
missing icons and some mobile specific user experience improvements. (Joshua Goins, 25.04.0. Link 1, link 2 and link 3). A few more improvements for Android, like proper push notifications via unified push, are in the work.
Joshua also improved the draft and scheduled post features, allowing now to discard scheduled posts and drafts and showing when a draft was created. (Joshua Goins, 25.04.0. Link)
We also added a keyboard shortcut configuration page in Tokodon settings. (Joshua Goins and Carl Schwan, 25.04.0. Link 1 and link 2)
Finally, we created a new server information page with the server rules and made the existing announcements page a subpage of it. Speaking of announcements, we added support for the announcement's emoji reactions. (Joshua Goins, 25.04.0. Link)
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.