Planet KDE

Subscribe to Planet KDE feed Planet KDE
Planet KDE | English
Updated: 1 hour 26 min ago

After Akademy 2024

Fri, 2024-09-13 14:02

This year’s Akademy (KDE’s annual conference) in Wurzburg, Germany was a success!

Yours truly had a chance to speak during the Akademy days and present our new design system to the community.

As previously reported in my youtube channel and in my posts, we provided a set of design system foundations to the community for their use in the future. This means, designers and developers will more closely work in the design process.

A few new faces also appeared at the venue. This was amazing! New contributors excited about our technologies is always welcomed.

In addition to the main session, our Visual Design Team put together an additional Birds of a Feather (BoF) session the following day. I have to say that I have never seen this many people interested in our presentation before and I am greatly appreciative of their desire to help.

We split our BoF in 3 sessions. The main session was an exploration of our export plugin for Figma and PenPot (Authored by Manuel de la Fuente), and also a review of the actions the VDG (Visual Design Group) needs to take to publish the work in the design system.

Our second hour was dedicated to reviewing our visual changes acceptance guidelines (led by Nate Graham). This session was intended to speed up the rate of response for visual design changes in Plasma and other areas. This should help us go faster and be more effective in our decision-making process.

The work is tracked here:
https://invent.kde.org/teams/vdg/issues/-/wikis/home

Our third hour was dedicated to Arjen Hiemstra’s new unified theme builder “Union”. Arjen showed us the source code and current capabilities of Union. It’s still early days but the progress is huge. There are a few new features that Arjen wants to add to the engine and we should see more of them in the near future.

Throughout the week, we dedicated time to testing and bettering the icons we produced. Our next objective is to address the latest round of feedback and then begin the process of editing our 16px icons to match our shapes in the 24px collection. Additional to that, we still need to find as many bugs as possible with the new icons.

During one of our sessions we noticed that some icons did not work properly in dark mode. This was a good test to do as some of the shapes didn’t recolor properly. Good thing that we were surrounded by Plasma devs and it was easy to spot the problem! This, however, does not mean the icons are free of issues. They still need a lot of work.

For now, I would like to invite all those who would like to provide feedback and/or test the icons. Please note that this is as alpha as it gets. There is a lot more to be done. Until all icons are finished, you can test the 24px collection.

Plasma Icons 24px collection:

https://drive.google.com/file/d/14oayQeHloyYJwL3WpjgoAQjR-Mnt-H8k/view?usp=drive_link

Figma link for icon feedback:

https://www.figma.com/design/F38rWWFmFRcyolDk07xxKw/Icons?node-id=0-1&node-type=canvas&t=FiBCevySX0c6XmBE-0

Soon enough, I will also edit a few of the images I took from the city and during Akademy. Needless to say, this one was by me!

Aren’t we cool?

See you all soon!

Categories: FLOSS Project Planets

Akademy and Kdenlive Sprint report

Fri, 2024-09-13 13:53

Part of the Kdenlive team attended this year’s Akademy – KDE’s annual conference in Würzburg, Germany. Since we don’t have so many occasions to meet in real life, we also used the event to make a Kdenlive team sprint.

So here is a report of what happened during these busy 4 days !

Documentation

We first discussed how to better integrate our great documentation inside the Kdenlive app. We already have a kind of hidden link in the effect list that redirects the user to the documentation website, but decided to make the feature more visible and you will now (to be released in 24.12.0) find a small info button redirecting to our doc. In the process, we fixed and improved many links so that you now directly access the correct page.

https://kdenlive.org/wp-content/uploads/2024/09/online-documentation.webm

Roadmap

We discussed our roadmap, moved the tasks that were completed in a dedicated column. We also reviewed the remaining tasks and reorganized them to better align with our priorities.

Fundraising

We reviewed the tasks planned in our fundraising, what has been done and what is left, more on this will be announced in an upcoming post soon.

Kdenlive Café

We decided to go for one online user Café every 2 months.This is a great way to stay in touch with the community, and we plan to have themes for these events, for example creating content with Kdenlive, Development news and coding introduction, How to contribute (documentation, testing, etc). Next one will be in November, focused on the next December release. Stay tuned for the date.

Render Test Suite

Last year, we worked on a rendering test suite that is aimed at automating rendering and comparing the result with a reference video file. The goal being to detect and prevent regressions in our pipeline. Unfortunately, since it still requires a local install and manual triggering, we are not really making use of it. During the sprint, we worked on making it run on our current CI infrastructure for full automation. Some good progress was made, there are still a few things to debug.

Website

We discussed possible changes regarding our website, more to be announced later this year.

LV2 Audio Effects

With the recent introduction of an LV2 module in our video backend MLT, we made tests with some LV2 audio effects. Some effects that don’t require a specific UI work but session state (saving and restoring the effect data, for example with the noise repellent plugin) is not yet implemented in the MLT module, so its usability is currently very limited.

AI Effects

We discussed and tested a few models providing AI effects. Some work has to be done to make the way we integrate python scripts more modular, we will soon start working on this.

Bugs

We didn’t have enough time unfortunately to do much work on the bugtracker but still managed to tackle a few issues. Among them, we found the reason for missing notifications on Windows, found 2 regressions in our video backend causing affecting playback smoothness, and various smaller bugs.

Akademy

Between our Sprint sessions, we also attended several of the Akademy talks, and met great people there. Julius made a talk about his work on the CI regarding packaging and notarization. Some of us also attended a translation workshop so that we can better guide interested contributors.

 

Busy week-end, and you will hear again from us soon!

The post Akademy and Kdenlive Sprint report appeared first on Kdenlive.

Categories: FLOSS Project Planets

Akademy 2024 in Würzburg - it was a blast

Fri, 2024-09-13 11:31
Akademy 2024 in Würzburg – it was a blast

My second Akademy and has ended just yesterday. It was an amazing and productive time again! Apart from familiar faces I know from last year's Akademy or the Plasma sprint last year in Augsburg, I met plenty of new faces. Some of which I of course had contact in KDE before, but only in the digital world.

One of the best parts was again the day trip with the KDE Community. While it was a bit rainy, we for sure made the best of it and saw the beautiful city of “Rothenburg ob der Tauber”. The view from the town hall tower was very beautiful:

The talks were also quite interesting and highlighted how many facades the KDE Community has. Apart from the lightning talks being great again, the “QML in Qt6” talk was quite valuable, because I did not manage to follow up closely on the latest improvements.
The talks and BOFs related to the KDE goals were also quite beneficial in getting a good impression in what direction we want to go.

Since we had so many interesting talks, it was not possible to join all of them. What I will follow up on later are the talks “Pythonizing Qt” and “C++, Rust and Qt: Easier than you think”.

Albert Astals Cid and I gave a lightning talk together about JSON linting (my part) and QML linting (his part). We were only able to touch the surface in the given time, but had some productive discussions and follow-up questions afterward. I will create a post about the JSON validation/JSON schema topic in the future, since I am still working on some aspects of this.

It has been great again to also do some hacking together and discuss ideas in-person. I will miss being able to say “Let's discuss this at Akademy?” on merge requests ;).
I did quite a bit of hacking on KRunner, linting/formatting related tooling and also Clazy.
This can also be seen on my GitLab history that has turned a bit more blue and thus active:

What was a great improvement over the last Akademy were the chicken noises to make sure people stay within the time of their talk! To better improve on that, we should maybe get some real chicken next year 🥚🐣🐔. The talks on how to apply for funding in KDE might contain useful info when working towards this ;) PS: My life-long profile picture on GitHub/GitLab is of the super cute chicken I had 🥰.

Categories: FLOSS Project Planets

UbuCon Asia 2024: My first ever conference!

Fri, 2024-09-13 11:00

“Heather, Heather, Heather; what did you do now!” and both me & Fenris started laughing with Till, as we’re discussing about the thunderbird snap during the conference dinner.

Yup, this is from UbuCon Asia, my

  • First conference
  • First flight journey
  • First travel out of my state
  • First solo travel out of my state
  • First solo stay at a hotel

Huhhh, a lot of first timers! I can’t think actually where to start with… I met so many people out there, got so many mentors! Thanks Till , for introducing me with so many mentors! I met Guruprasad sir (the launchpad guru 😄), Kierthana mam and Dimple didi (both are the documentation gurus). A lot of suggestions, tips, guides from them! Thanks a lot 🥹! BTW, How can I forget my OG Bhavani bhaiyaa!

Categories: FLOSS Project Planets

Akademy 2024: broadening, professionalizing, and being awesome

Fri, 2024-09-13 06:28

Akademy 2024 is a wrap, and others have already begun to write about the conference in beautiful Würzburg, Germany, with some posts already visible on https://planet.kde.org. This year’s Akademy was fantastic, probably the best one I’ve ever attended. Other than the A/V situation (which we’ll be addressing next year, pinkie-promise), it was well-organized and smoothly run.

But more substantively, the talks and sessions were incredible, and really wove together a coherent narrative: KDE has mature and effective leaders who are pushing forward strategic projects that combine to become more than the sum of their parts. Among them:

Design

Andy Betts introduced us to the concept of the design system and how he and other VDG designers are building one to help unify layout and style across KDE software. …then Arjen Hiemstra introduced us to Union, a new styling system intended to be a single tool to style everything, and it can be informed by the design system’s semantics as well.

Apps

Nicolas Fella explained how our app development platform is lacking, inhibiting the growth of a more vibrant KDE-centric app ecosystem. This is also the topic of one of KDE’s newest high-level goals (full disclosure: I’m a co-champion of this goal along with Nicolas as primary champion). Carl Schwan laid out his “App Initiative” which is directly related, and David Edmundson talked about how we can improve the ability of our software to work in sandboxed environments.

Distribution

Harald Sitter introduced us to “KDE Linux” (tentative name), a new technologically advanced OS that will offer a radically high level of stability, security, and polish for those wishing to get KDE software directly from the source. David Edmundson’s talk about sandboxing is also heavily related here as well.

Recruitment

But how are we going to do all of this? Paul Brown, Aniqa Khokhar, and Johnny Jazeix introduced us to the “KDE Needs You ” goal, aiming to reach more people to broaden the pool of potential contributors so KDE is sustainable for years to come.

Eco

And finally, some perspective on a different sustainability issue: this was the hottest year on record, breaking records set just a few years prior. Our planet’s capacity to sustain human life in certain regions is starting to be impacted, and we need to consider both how our work exacerbates it, and how we can do our part to help make it better. Accordingly, we heard from Joanna Murzyn, Cornelius Schumacher, and Joseph P. De Veaugh-Geiss about KDE’s efforts to prolong the lifespan of old hardware so it doesn’t become e-waste. And Nicole Teale gave us some concrete hope by informing us about a program to introduce German schoolkids to the idea of upcycling old computers by installing Kubuntu on them, very similar to a similar program here in the USA that I was tangentially involved with!

Hopefully the themes and synergies here are clear. KDE is becoming more professional, more comprehensive in scope, will take more initiative for the distribution of its own software, will evolve that software’s design in a way that’s supported by modern design tools and professional designers, and contributes to solving the world’s biggest problems. I find this to be super exciting, and I hope you do too!

My personal role in Akademy was a bit more behind-the-scenes this year. I did take part in two presentations: the former goal wrap-up and the KDE e.V. Board of Directors report.

In these, I described the successes and challenges of my now-concluded Automation & Systematization goal, and helped to inform the community about KDE e.V.’s activities since last Akademy.

I also participated in Many birds-of-a-feather (BoF) sessions about various topics, including:

  • A tech discussion about KDE Linux — install it today and help make it great!
  • Plasma planning and roadmap — Plasma is in a great state, and we’re going to resume Monday meetings, this time in video form. I’ve got five specific features, UI changes, or bug-fixes I want to add to 6.3, and others have even more ideas.
  • Design team decision-making process — super useful; we came up with one to enable us to make important decisions again.

Beyond the BoFs, I found myself constantly talking to people between sessions, during lunch, and in what seemed like every spare moment! Including:

  • Björn Balazs about his work to create https://privact.org, a foundation building a next-generation method to gather metrics from users with zero risk to their privacy.
  • Jos van den Oever about KDE developers applying for sponsorship from https://nlnet.nl to work on important KDE and KDE-relevent projects. Seriously, go do it!
  • Eike Hein about KDE’s history and the 100% drama-free Trinity Desktop Environment.
  • Neal Gompa about the challenges involved in shipping an immutable-base-system OS outside of single-purpose appliances (i.e. as a desktop OS for regular people, enthusiasts, and developers).
  • Xaver Hugl live-debugged an issue on my laptop that he was able to speedily conclude was a Libinput bug.
  • …and many more I didn’t have the remaining brain capacity to remember!

All of this was completely exhausting, and I had to excuse myself from a few group events and dinners to rest and process the day’s events. But Würzburg being a ridiculously beautiful city certainly helped!

This has been my favorite Akademy so far, and thank you so much to everyone who helped to make it possible — David Redondo, Kieryn Darkwater, Victoria Fierce, Lydia Pintscher, and the rest of the Akademy team! Job’s a good ‘un, and I’ll see you around the internet!

Categories: FLOSS Project Planets

KDE Ships Frameworks 6.6.0

Thu, 2024-09-12 20:00

Friday, 13 September 2024

KDE today announces the release of KDE Frameworks 6.6.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 Baloo
  • Set up crash handling for baloo_file. Commit.
Bluez Qt
  • MediaTransport: Added setVolume. Commit.
  • Ci: add Alpine/musl job. Commit.
Breeze Icons
  • Remove 48px draw-freehand symlink. Commit. Fixes bug #491887
  • Add info(-symbolic) icon symlinks. Commit.
  • Add new 64px dialog icons. Commit.
  • Add icon for Apple Wallet passes bundle. Commit.
  • Add battery icons with power profile emblems. Commit. See bug #483805
  • Add remaining symbolic icons required for Discover. Commit.
  • Update accessibility icons. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Add system-reboot-update and system-shutdown-update icons. Commit.
  • Add a couple of missing monochrome category icons. Commit.
  • Don't generate symlinks for app icons if we not install the icons. Commit.
  • Fix issues with zoom-map icons. Commit.
  • Add Spinbox-specific decrease and increase icons. Commit. See bug #491312
  • Make list-remove look like a red X. Commit.
Extra CMake Modules
  • ECMQueryQt: don't cache QUERY_EXECUTABLE. Commit.
  • Add fallback value for SASL_PATH. Commit.
  • Add SASL_PATH to prefix.sh so that libkdexoauth2.so is found. Commit.
  • Allow qml target to be actually optional. Commit.
  • Fix FindLibExiv2 version detection from header. Commit.
  • Ci: add Alpine/musl job. Commit.
  • ECMEnableSanitizers: fix greedy linker parameter replacment. Commit.
  • Add private code option to ecm_add_qtwayland_(client/server)_protocol. Commit.
  • Add a PRIVATE_CODE option to ecm_add_wayland_server_protocol. Commit.
  • Add [PRIVATE_CODE] also to the second signature of ecm_add_wayland_server_protocol. Commit.
KAPIDox
  • Unify format string usage. Commit.
  • Avoid double assignment. Commit.
  • Remove unnecessary escape. Commit.
  • COLS_IN_ALPHA_INDEX has been deprecated. Commit.
  • Footer.html correct URL for trademark_kde_gear_black_logo.png. Commit.
KArchive KAuth
  • HelperSupport: don't send debug message on application shutting down. Commit.
KCalendarCore
  • Export KCalendarCore namespace to QML. Commit.
  • Add read support for xCal events. Commit.
  • Add KF7 TODOs to make ICalFormat::fromString methods static. Commit.
  • Refactor libical <-> KCalendarCore enum conversion. Commit.
  • Avoid computing the next recurrence interval based on an invalid time. Commit.
KCMUtils
  • Set a QQmlEngine property on the QApplication. Commit. Fixes bug #488965
KCodecs
  • Ci: add Alpine/musl job. Commit.
  • Ensure we find test data on Windows. Commit.
KColorScheme
  • Use passkey to avoid issues with private constructor. Commit.
  • Additional public API. Commit.
  • [kcolorschememanager] Fix crash. Commit. Fixes bug #492408
  • Add KColorSchemeManager::instance in favor of public constructor. Commit.
KConfig
  • KStandardAction: Use windowIcon for AboutApp icon again. Commit.
  • Fix macro documentation. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Fix warning from staterc migration when there's no "old" file to migrate. Commit.
  • Update KF6 TODO comments to KF7 given that they weren't addressed in KF6. Commit.
KContacts
  • Make the depedency to QML optional. Commit.
KCoreAddons
  • ExportUrlsToPortal: check for dbus error. Commit.
  • KDirWatch: don't try inotify again if it has already failed. Commit.
  • Relicense some files from lgpl2-only to lgpl2.1-or-later. Commit.
  • Ci: add Alpine/musl job. Commit.
  • KPluginMetaData: Avoid reading metadata from plugin loader twice. Commit.
  • Kcoreaddons_add_plugin: Fix typo in error message. Commit.
  • Fix configuring error when QtQml is not around. Commit.
KCrash
  • Document that KCrash::initialize should be called after KAboutData. Commit.
  • Drop ptrace forwarding code. Commit.
KDBusAddons KDeclarative
  • QPixmapItem: Adjust rendering to dpr positioning. Commit. Fixes bug #481219
KDE Daemon KDNSSD KFileMetaData
  • UserMetadata: fix Win k_setxattr. Commit.
  • [OfficeExtractor] Do not add word/line count if nothing has been extracted. Commit.
  • [OfficeExtractor] Only try to extract content if PlainText is requested. Commit.
  • [OfficeExtractor] Remove duplicate findExecutable calls, fix debug output. Commit.
  • Cmake: Use KDE_INSTALL_FULL_LIBEXECDIR_KF instead of manual path mangling. Commit. Fixes bug #491462
  • Add missing initializer for "Empty" PropertyInfo displayName. Commit.
  • [Taglib] Use non-deprecated constructors for MPEG::File/FLAC::File. Commit.
  • [Taglib] Replace deprecated length() with lengthInSeconds(). Commit.
KGlobalAccel KGuiAddons
  • Port towards QNativeInterface. Commit.
  • Fail at CMake configure time if xcb Qt feature is not enabled. Commit.
  • Waylandclipboard: Dont explicitly clear when transfering sources. Commit.
  • [kjobwidgets] Store window in a QPointer. Commit. See bug #491637. See bug #448532
  • Ci: add Alpine/musl job. Commit.
  • KOverlayIconEngine: Adjust to API change in Qt 6.8 in scaled pixmap hook. Commit.
  • Generate wayland code with PRIVATE_CODE. Commit.
KHolidays KI18n
  • Spinboxdoc. Commit.
  • Formatting. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Fix test to actually use a QDoubleSpinBox as intended here. Commit.
  • Unambiguous documentation of formatString. Commit.
KIconThemes
  • Allow building without breeze-icons. Commit.
  • Extend initTheme to ensure we properly follow the system colors. Commit.
  • Add path for Android to theme locations. Commit.
  • Take logical pixels in KIconEngine::createPixmap. Commit.
  • [kiconengine] Adapt to Qt behavior change in scaledPixmap. Commit. Fixes bug #491677
KIdletime
  • Ci: add Alpine/musl job. Commit.
  • Generate wayland code with PRIVATE_CODE. Commit.
KImageformats KIO
  • Test: skip kfilewidgettest focus test in Wayland. Commit.
  • KFileWidget: Fix selecting directories. Commit.
  • [trash] Fix restoring entries with absolute paths in disk-local trash. Commit. Fixes bug #463751
  • Add missing include. Commit.
  • Also search kservices5 for service menus. Commit.
  • Accept service menus that use ServiceTypes to specify their types. Commit. Fixes bug #478030
  • Ignore application/x-kde-onlyReplaceEmpty in paste dialog. Commit. Fixes bug #492006
  • Apply 1 suggestion(s) to 1 file(s). Commit.
  • PasteDialog: hide application/x-kde-* formats from the combobox. Commit.
  • PreviewJob: remove obsolete support X-KDE-Protocols aware thumbnailer. Commit.
  • Fix documentation for ThumbnailRequest. Commit.
  • Remove dead code for changing job priorities. Commit.
  • Remove unused sslMetaData member. Commit.
  • Remove unneeded friend. Commit.
  • KFileWidget: Enable word wrapping for the message widget. Commit.
  • Add missing include. Commit.
  • Remove unused function. Commit.
  • Consistently use WITH_QTDBUS instead of USE_DBUS. Commit.
  • Previewjob: use contains instead of supportsMimetype. Commit.
  • Document variable purposes and move EntryInfo definition to the start. Commit.
  • KPropertiesDialog: Add "unknown" fallback. Commit.
  • KPropertiesDialog: Use original URL for extra fields. Commit.
  • Remove unneeded QPointer usage. Commit.
  • PreviewJob: some refactoring. Commit.
  • KUrlNavigator: Support modifiers on return similar to web browsers. Commit.
  • PreviewJob: fix warnings and a todo. Commit.
  • KDynamicJobTracker: Use widgets fallback if server says job tracker is required. Commit.
  • Correctly escape unit names. Commit. Fixes bug #488854
  • KRecentDocument: add removeApplication and removeUrl. Commit. See bug #480276
  • Gui/kprocessrunner: normalize working directory. Commit. Fixes bug #490966
  • DropJob: special-case "downloading http URLs" drop with better text. Commit.
  • Don't show "Move" item in drop menu for source files accessed using http. Commit. Fixes bug #389600
  • Set up crash handling for kiod. Commit.
  • Deprecate leftovers from HTTP cache control. Commit.
  • KUrlNavigator: Decode url title fully. Commit.
  • Make sure KCrash works for kioworker. Commit.
  • Previewjob: Use thumbnailer files for any mimetypes we don't have a plugin for. Commit.
Kirigami
  • Disable cachegen. Commit. Fixes bug #488326
  • PlaceholderMessage: Remove the icon opacity if the message is actionable. Commit.
  • ToolBarLayout: Add test for dynamic actions. Commit.
  • Read willShowOnActive value as Variant and convert to Bool. Commit.
  • PrivateActionToolButton: Replace onVisibleChanged with Connections. Commit.
  • Fix registration name for WheelEvent. Commit.
  • [icon] Only reload icon from theme if the theme has that icon. Commit. Fixes bug #491806. Fixes bug #491854. Fixes bug #491848
  • PrivateActionToolButton: Hide menu if button is hidden. Commit. Fixes bug #486107
  • Allow recoloring of Android icon theme. Commit.
  • Ci: add Alpine/musl job. Commit.
  • [icon] Fix icon colors when using Plasma platformtheme and QIcon source. Commit. Fixes bug #491274
  • ShadowedImage: Expose Image.status via a readonly alias. Commit.
  • PromptDialog: fix buttons overflow. Commit.
  • Relicense Chip to LGPL. Commit.
  • Relicense LoadingPlaceholder to LGPL. Commit.
KItemModels
  • Remove unused license text. Commit.
  • Convert license statements to SPDX. Commit.
  • Ci: add Alpine/musl job. Commit.
  • Fix build without Qml. Commit.
  • KColumnHeadersModel: Fix manual test. Commit.
  • KExtraColumnsProxyModel: port to Qt 6.8's QIdentityProxyModel::setHandleSourceLayoutChanges. Commit.
KItemViews KJobWidgets
  • Only install D-Bus interface files when actually building with D-Bus. Commit.
KNewStuff
  • Add especially crappy magic to deal with transient parents in actions. Commit. Fixes bug #491083
  • Make staticxmlprovider (more) reentrant. Commit.
  • Make AtticaProvider reentrant. Commit.
  • Typos--. Commit.
KNotifications
  • Don't set desktop file name for XDG activation token. Commit.
KPackage
  • Add missing include guard. Commit.
KPlotting KQuickCharts KStatusNotifieritem
  • Fix deprecation versions. Commit.
  • Deprecate action collection access. Commit.
KTextEditor
  • Make tests a bit faster. Commit.
  • Fix clashing and missing keyboard accelerators. Commit.
  • Add help texts for new editing commands. Commit.
  • Move sort implementation to C++. Commit. Fixes bug #478250
  • Move natsort to C++ and implement it using QCollator. Commit.
  • Move the sortuniq, uniq implementation to C++. Commit. Fixes bug #478250
  • Read and write font features to config. Commit.
  • Fix doc.text() when first block is empty. Commit.
  • Fix block splitting. Commit.
  • Try to make test more robust. Commit.
  • Restore previous indentation test mode based on individual files. Commit.
  • Store startlines in the buffer instead of block. Commit.
  • Doc: Fix code example for plugin hosting. Commit.
  • No 10 second timeouts, the CI is not that consistent fast. Commit.
  • Try to make test more stable. Commit.
  • Improve encoding detection. Commit. Fixes bug #487594
  • Fix grouping on config dialog page. Commit. Fixes bug #490617
  • Optimize cursorToOffset. Commit.
  • Dont indent on tab when in block selection mode. Commit. Fixes bug #448695
  • Fix selection printing. Commit. Fixes bug #415570
KTextTemplate KTextWidgets
  • Fix unused-variable warning (with clang) when HAVE_SPEECH isn't set. Commit.
  • Deprecate KPluralHandlingSpinBox. Commit.
KUserFeedback
  • Tests: allow to disable testOpenGLInfoSource using envvar. Commit.
  • Ci: add Alpine/musl job. Commit.
KWallet KWidgetsAddons
  • Hide toolbar when not need (e.g. in tabbed view). Commit.
  • FontChoose: Allow setting font features when selecting font. Commit. Fixes bug #479686
  • Expand tabbar in KPageView. Commit.
  • [kjobwidgets] Store window in a QPointer. Commit. Fixes bug #491637. See bug #448532
  • Support page headers in KPageView. Commit.
KWindowSystem
  • Generate wayland code with PRIVATE_CODE. Commit.
KXMLGUI
  • Port to KStandardActions where possible. Commit.
Modem Manager Qt Network Manager Qt Prison
  • Fix WITH_QUICK=OFF by moving ECMQmlModule behind the conditional. Commit.
  • Ci: add Alpine/musl job. Commit.
Purpose QQC2 Desktop Style
  • Read Smallest font settings from the proper config. Commit. Fixes bug #490890
Solid Sonnet
  • Revert "fail if none of the plugins can be build". Commit.
  • Fail if none of the plugins can be build. Commit.
  • Update file spellcheckhighlighter.cpp. Commit.
  • Quick: Silence valgrind warnings. Commit.
  • Fix uic warning. Commit.
  • Ci: add Alpine/musl job. Commit.
Syntax Highlighting
  • Inc version. Commit.
  • Update QFace IDL Definition to support single line comments. Commit.
  • Odin.xml: Multiple fixes to the syntax. Commit.
  • QFace: WordDetect without trailing space. Commit.
  • Bash: add \E, \uHHHH and \UHHHHHHHH String Escape, @k parameter transformation and & in string substitution. Commit.
  • Zsh: add \E, \uHHHH, \UHHHHHHHH and sinle \ as String Escape. Commit.
  • Add definition for the QFace IDL. Commit.
  • Modelines: add missing variables and delete some that don't work. Commit.
  • Add Kate Config syntax (.kateconfig file). Commit.
  • Modelines: fix spaces after remove-trailing-spaces value ; multiple values now stop parsing. Commit.
  • Modelines: fix indent-mode value and remove deprecated variables. Commit.
  • Detect-identical-context.py: add -p to show duplicate content. Commit.
  • XML: add parameter entity declaration symbol (% in ). Commit.
  • Indexer: suggest removing .* and .*$ from RegExpr with lookAhead=1. Commit.
  • PHP: add { in double quote string as a Backslash Code. Commit. Fixes bug #486372
  • Zsh: fix escaped line in brace condition. Commit.
  • Bash: fix escaped line in brace condition. Commit. Fixes bug #487978
  • Nix: fix string in attribute access. Commit. Fixes bug #491436
  • Optimize AbstractHighlighterPrivate::ensureDefinitionLoaded (highlighter_benchmark is 1.1% faster). Commit.
  • Ci: add Alpine/musl job. Commit.
  • Indexer: suggest replacing RegExpr with Int or Float when possible. Commit.
  • Add JSX as an alternative name for JavaScript React (JSX) and TSX for TypeScript React (TSX). Commit.
  • Indexer: check name and alternativeNames conflict ; update alternativeNames for generated files. Commit.
  • Optimize Repository::addCustomSearchPath. Commit.
  • Replace QList contextDatas with std::vector: implicit sharing is not useful. Commit.
  • Prefer range-based loops to loop over iterators. Commit.
  • Optimize Definition::foldingEnabled() by calculating the result during loading. Commit.
  • Replace DefinitionRef type with DefinitionData* in immediateIncludedDefinitions. Commit.
  • Remove code duplication related to context resolution. Commit.
  • Replace std::cout / std::cerr with fprintf. Commit.
  • Use QStringView as key for format. Commit.
  • Replace QStringView::mid,left,right with sliced. Commit.
  • Replace QString::split with QStringTokenizer to avoid unnecessary list construction. Commit.
  • Orgmode: add syntax highlighting to some languages. Commit.
  • Optimize Repository::definition[s]For*(). Commit.
  • Reduce QFileInfo usage. Commit.
  • Theme_contrast_checker.py: add --scores to modify rating values. Commit.
  • Theme_contrast_checker.py: displays the selected color space. Commit.
  • Theme_contrast_checker.py: fix label inversion between bold and normal text. Commit.
  • Ksyntaxhighlighter6: add --background-role parameter to display different possible theme backgrounds. Commit.
  • Ksyntaxhighlighter6: rename ansi256Colors format to ansi256. Commit.
  • Theme_contrast_checker.py: fix help of -M parameter. Commit.
  • Added a link to all available syntaxes and how to test a file in an isolated environment. Commit.
  • Python: raw-string with lowercase r are highlighted as regex. Commit.
  • JSON: fix float that start with 0. Commit.
  • JSON: add jsonlines and asciicast v2 format extensions. Commit.
Threadweaver
Categories: FLOSS Project Planets

git revert name and Akademy

Thu, 2024-09-12 10:33

I reverted my name back to Jonathan Riddell and have now made a new uid for my PGP key, you can get the updated one on keyserver.ubuntu.com or my contact page or my Launchpad page.

Here’s some pics from Akademy

Categories: FLOSS Project Planets

KDE neon Akademy Session

Thu, 2024-09-12 09:24

KDE Akademy is meeting this week in Würzburg.

We just had a BoF session where we discussed..

  • The current progress to rebasing on Ubuntu 24.04
  • The current state of KDE neon Core our amazing forthcoming Snap based distro
  • Fixing up broken and bitrotting infrastructure
  • Moving to KDE invent
  • Issues with Plasma 6 upgrades and looking at integrating more QA tests
  • How the proposed KDE LinuxTM distro fits into the mix
Categories: FLOSS Project Planets

Plasma Wayland Protocols 1.14.0

Wed, 2024-09-11 20:00

Plasma Wayland Protocols 1.14.0 is now available for packaging.

This adds features needed for the Plasma 6.2 beta.

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

Full changelog:

  • add a protocol for externally controlled display brightness
  • output device: add support for brightness in SDR mode
  • plasma-window: add client geometry + bump to v18
  • Add warnings discouraging third party clients using internal desktop environment protocols
Categories: FLOSS Project Planets

Akademy 2024 - The Akademy of Many Changes

Wed, 2024-09-11 20:00
  Akademy 2024 group photo.  

This year's Akademy in Würzburg, Germany was all about resetting priorities, refocusing goals, and combining individual projects into a final result greater than the sum of its parts.

A shift — or more accurately a broadening of interest — in the KDE community has been gradually emerging over the past few years, and reached a new peak at this year's event. The conference largely focused on delivering high quality, cutting-edge Free Software to end users. However the keynote "Only Hackers will Survive" by tech activist and environmentalist Joanna Murzyn, and Joseph De Veaugh-Geiss' "Opt In? Opt Out? Opt Green!" talk took attendees down a left turn by addressing growing concerns about the impact of IT on the environment and discussed how Free Software can help curb CO2 emissions.

  Joanna Murzyn explains the impact irresponsible IT developments have on the environment.  

KDE has always had a social conscience. The community's vision and mission of providing users with the tools to control their digital lives and protect their privacy is now combined with concern for the preservation of the planet we live on.

But KDE can do more than one thing at a time, and our software is also undergoing profound changes under the hood. Joshua Goins, for example, is working on ways to enable framework, plasma and application development in Rust. According to Joshua, Rust has many advantages, such as its memory safety capabilities, while adding a Qt front-end to Rust projects is much easier than many people believe.

This is in line with one of the new goals adopted by the community during this Akademy: Nicolas Fella, Plasma contributor and key developer of KDE's all-important frameworks, will champion "Streamlined Application Development Experience", a goal aimed at making it easier for new developers to access KDE technologies.

And onboarding new developers is what the "KDE Needs You! 🫵" goal is about. While the growing popularity of KDE software is great, growth puts more stress on the teams that create the applications, environments, and underlying engines and frameworks. Add to that the fact that the veteran developers are getting gray around the temples, and you need a constant influx of new contributors to keep the community and its projects running. The "KDE Needs You! 🫵" goal aims to address this challenge and is being spearheaded by members of the Promo and Mentoring teams. The champions aim to formalize and strengthen KDE's processes for recruiting active contributors, and to make recruiting active contributors to projects a priority and an ongoing task for the community.

These two goals aim to benefit the community and projects in general. KDE's third goal, "We care about your input", will build on their work: proposed by Jakob Petsovits and Gernot Schiller, "input" in this case refers to "input from devices". The goal addresses the fact that there are still a lot of languages and hardware that are not optimally supported by Plasma and KDE applications, and with the move to Wayland, some devices have even temporarily lost a measure of support they enjoyed on X11. Jakob, Gernot, and their team of supporters plan to solve this problem methodically, working to make KDE's software work smoothly and effortlessly on drawing tablets, accessibility devices, and game controllers, as well as software virtual keyboards and input methods for users of the Chinese, Japanese, and Korean languages.

One way to achieve the desired level of integration is to control the entire software stack, right down to the operating system. This is also in the works for KDE, as Harald Sitter is working on a new technologically advanced operating system tentatively named "KDE Linux". This operating system aims to break free of the constraints currently limiting KDE's existing Neon OS and offer a superior experience for KDE's developers, enthusiast users, and everyday users.

KDE Linux's base system will be immutable, meaning that nothing will be able to change critical parts of the system, such as the /etc, /usr, and /bin, directories. User applications will be installed via self-contained packages, such as Flatpaks and Snaps. Adventurous users and developers will be able to overlay anything they want on top of the base system in a non-destructive and reversible way, without ever having to touch the core and risk not-easily-fixable breakage.

This will help provide users with a solid, stable, and secure environment, without sacrificing the ability to run the latest and greatest KDE software.

As the proof of the pudding is in the eating, Harald surprised the audience when he revealed towards the end of his talk that his entire presentation had been delivered using KDE Linux!

The user-facing side of KDE is also changing with the work of Arjen Hiemstra and Andy Betts — and the Visual Design Group at large. Arjen is working on Union, a new theming engine that will eventually replace the different ways of styling in KDE. Up until now, developers and designers have had to deal with multiple ways of doing styling, some of which are quite difficult to use. Union, as the name implies, will end the fragmentation and provide something that is both easier for developer to maintain and more flexible for designers to interact with.

And then Andy Betts told us about Plasma Next, while introducing the audience to the concept of Design Systems -- management systems that allow all aspects of large collections of icons, components, and other graphical assets to be controlled. Using design systems, the VDG is developing a new look for Plasma and KDE applications that may very well replace KDE's current Breeze theme — and be consistently applied across all KDE apps and plasma, to boot!

  A first look at Dolphin rocking Plasma Next icons.  

This means that in the not too distant future, KDE users will be able to enjoy a rock-solid and elegant operating system with a brilliant look to match!

In other Akademy news...
  • Kevin Ottens added another KDE success story to the list, telling us how a wine producing company in Australia has been using hundreds of desktops running KDE Plasma for more than 10 years.
  • Natalie Clarius explained how she is working on adapting Plasma to work better on our vendor partners' hardware products.
  • In the "Openwashing" panel moderated by Markus Felner, Cornelius Schumacher of KDE, Holger Dyroff of OwnCloud, Richard Heigl of HalloWelt! and Leonhard Kugler of OpenCode took on companies that call themselves "open source" but are anything but.
  • David Schlanger shared the harsh truth about AI, his wishful positive vision for the technology, and then faced questions and comments from Lydia Pintscher and Eike Hein in the keynote session on day 2.
  • Ben Cooksley, Volker Kraus, Hannah von Reth, and Julius Künzel took a deep dive into the frameworks, services, and utilities that help KDE projects get their products to users quickly and on a wide variety of platforms.
Akademy Awards

The prestigious KDE Awards were given to:

  • Friedrich W.H. Kossebau for his work on the Okteta hex editor.
  • Albert Astals Cid for his work on the Qt patch collection, KDE Gear release maintenance, i18n, and many, many other things.
  • Nicolas Fella received his award for his work on KDE Frameworks and Plasma.
  • As is traditional, the Akademy organizing team was awarded for putting on a fun, interesting and safe event for the entire KDE community.
Your browser does not support the video tag.

If you would like to see the talks as they happened, the unedited videos are currently available on YouTube. Cut and edited versions with slides will be available soon on both YouTube and PeerTube.

Categories: FLOSS Project Planets

KDE Gear 24.08.1

Wed, 2024-09-11 20:00

Over 180 individual programs plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.

Today they all get new bugfix source releases with updated translations, including:

  • filelight: Update the sidebar when deleting something from the context menu (Commit, fixes bug #492155)
  • kclock: Fix timer circle alignment (Commit, fixes bug #481170)
  • kwalletmanager: Start properly when invoked from the menu on wayland (Commit, fixes bug #492138)

Distro and app store packagers should update their application packages.

Categories: FLOSS Project Planets

A Tale of Wine Labels and Open Source Contributions

Wed, 2024-09-11 11:08

At Akademy 2024, during my talk KDE to Make Wines I promised there would be a companion blog post focusing more on the technical details of what we did. This is the article in question.

This is a piece I also wrote for the enioka blog, so there is a French version available.

Where we set the stage

After years of working in the service industry, one thing which doesn’t cease to amaze me is the variety of needs our customers have and how we can still be surprised by them. They sometimes lead us in unexpected directions. This is obviously something I particularly like.

Today I’ll tell you the tale of a nice relationship enioka Haute Couture built with a customer down under.

It all started with a mail on a KDE mailing list a couple of years ago. People were looking for help. It was spotted by my colleague Benjamin Port who reached out. It turned out those people were from De Bortoli Wines an Australian winemaking company. They are known for using Free Software quite a bit and contributing when they can. They even got interviewed on the KDE’s dot ten years ago!

Not much really happened after our first contact but we kept the communication open… Until last year when they reached out to us for some help with Okular, the universal document viewer made by KDE.

They wanted to get rid of Acrobat Reader for Linux in favor of Okular. They had one issue though, the overprint preview support was visibly broken in Okular. This is essential when interacting with a reprographics company which will send back PDFs based on how they layer colors (or overprinting). You need the overprint preview to simulate what the final rendering will be. We were of course motivated to help them get rid of Acrobat Reader for Linux since it is an old and stale piece of proprietary software.

Getting serious about PDF rendering

This looked at first like an easy task. Poppler (used for rendering PDFs) was exposing some API for the overprinting preview but Okular didn’t make use of it. We quickly made a patch to use the overprint preview API.

Alas, doing so uncovered another issue. As soon as we turned on the overprinting preview support the application would crash. We tracked it down one level down. Somehow the crash was hiding in the Poppler-Qt bindings.

After further exploration, it was due to the binding wrongly determining the row size of the raster images to generate. There’s a color space conversion occurring between the initial memory representation and the target raster image. The code was getting this row size before the transform occurred… and then ended up stuffing the wrong amount of data in the target raster. This couldn’t go well. Another patch was thus produced to address this.

The good news is that we managed to fix the issue in less time than the budget the customer allocated to us. So we gave them the choice between stopping here or using the remaining budget to address something else.

We used the Ghent Workgroup PDF Output suite to validate our work beyond the samples provided by our contact. While doing so we noticed Poppler was failing at properly rendering some other cases. So we proposed to investigate those as well.

After spending some time on those… we made tentative fixes but unfortunately they led to some regression. So in agreement with the customer, we wrapped up and created a detailed bug report instead as to not waste their budget. This helped the Poppler community figure out the problem and produce a fix. That’s when we realized we came really close to the right fix at some point. Clearly an expert view on how the various PDF color spaces work was required so it was a good call to create the detailed report.

With still some budget left, our contact proposed us to also bring the overprint preview support to Okular printing. This was initially left out of the scope but necessary when you want to print your preview on a regular laser printer. This required adjusting Okular and adjusting Poppler-Qt once more. It was ultimately done within budget.

CIFS mount woes

Since the customer was satisfied with the work they came back for more. We setup a budget line for them to come up with issues to fix throughout the year.

Around that time, their focus moved more to CIFS mounts which they use extensively for their remote office branches. As active users of that kernel feature, they encounter issues in user facing software that you would otherwise not suspect.

File copy failures

They were affected by a bug preventing Okular to save on CIFS mounts. It is one of those which has been lingering on for a bit more than a year without a solution in sight. Some applications could modify and save a file opened on a CIFS mount but somehow not Okular.

It turned out to be due to some code in KIO itself (the KDE Frameworks API used for network transparent file operations) interacting in an unwanted way with CIFS mounts.

Indeed, the behavior of unlink() (file deletion) on CIFS mounts can be a bit “interesting”. If the file one tries to delete is opened by another process then the operation is claimed to have succeeded but the filename is still visible in the file hierarchy until the last handle is closed. This is unlike the usual UNIX behavior, outside of CIFS mounts the file wouldn’t be visible in the hierarchy anymore. We thus were seeing the issue because Okular does keep a file handle opened on the file.

Now, KIO rightfully attempts to write under a temporary name, delete the original file and rename to the final name during its file copy operation. This would then fail as the unlink() call would succeed, but the rename would unexpectedly fail due to the lingering file in the hierarchy.

So we proposed a patch for KIO which would do a direct copy for files on CIFS mounts. Files being directly overwritten succeed and so the bug experienced with Okular was solved.

Slow directory listing

This wasn’t the end of the issues with CIFS mounts (far from it). They were also experiencing performance problems when listing folders. Interestingly, they would experience it only in the details view of the KDE file dialog.

At its core the issue was due to requesting too much information. When listing a folder known to be remote by KIO (e.g. going through an smb:// URL) the view would limit the amount of information it’d request about the sub-folders. In particular it wouldn’t try to determine the number of files in the sub-folder. This operation is fast nowadays on modern disks, but incurs extra trafic and latency over the network.

This sounded like a simple fix… but in fact it was a bit more work than expected.

Unsurprisingly we quickly found that the code would decide to go for more or less details solely on the URL. Since CIFS mounts get file:/ URLs, they’d end up treated as local files… so we went to querying a bit more agressively. There is an isSlow() method on the items in the detail view tree which we extended to check for CIFS mounts.

This wasn’t enough though, we immediately realized that the new bottleneck was the calls to isSlow() itself. It would lead to several statfs calls which would be expensive as well. The way out was thus to cache the information in the items and for children to query the cache in their parent. Indeed, if the parent is considered slow, we decided to consider the children in the folder as slow as well. This heuristic allowed us to remove all the subsequent isSlow() calls after the one on the mountpoint folder itself.

This was a very old piece of code we touched there, so some time was also used to clean things up a bit, refactor and rename things to align them better with other KIO parts.

LibreOffice backup files during save

They are such active users of CIFS mounts that they found yet another issue! This time with an old version of LibreOffice. In their version it would show up only if the KDE integration was used. I can tell you we were a bit surprised by this. The investigation wasn’t that easy but we managed to track it down.

The issue was showing up after opening a file sitting on a CIFS mount with LibreOffice. If you did a change to the file, then clicked “Save As…” and selected the same file to overwrite, you would get a “Could not create a backup copy” error and the file wouldn’t be saved if the KDE integration was active. All would be fine without this integration though.

What would be different with and without the KDE integration? Well, in one case there is an extra process! When the file dialog opens, if it is the KDE file dialog, the listing is delegated to a KIO Worker. In this particular case this would matter. Indeed, we figured that LibreOffice keeps an open file descriptor on the opened file. Not only this, it also holds a read lock on the file. The KIO Worker is being forked from LibreOffice, so it too has the open file descriptor with a lock.

This made us realize that there was a leak of file descriptor which is in itself not a good thing. So we changed KIO to cleanup open file descriptors when spawning workers, it’s always a good idea to be tidy. Also, as soon as we removed the file descriptor leak the issue was gone. Nice, this was an easy fix.

Just to be thorough, we tried again but this time with the latest LibreOffice. And even with the patched KIO we would get the “Could not create a backup copy” error! This time it would show up also without the KDE integration. And so back to hunting… without getting too much into the internals of LibreOffice, it turned out the more recent version had extra code activated to produce said backup version, and it has two file descriptors open on the same file. So we were back to the problem of two file descriptors and read locks being involved. But this time it was not due to a leak towards another process, and the architecture of LibreOffice didn’t make it easy to reuse the original file descriptor created when opening the file.

The only thing we could do at this point was to simply not lock when the file is on a CIFS mount. It is not a very satisfying solution but it did the job while fitting the allocated time.

Somehow we couldn’t leave things like this though. If you know well the very much criticized POSIX file locks (which have extra challenges over CIFS), something is still not feeling quite right. We got two processes with a file descriptor on the file to save, and yet there is a single process holding a read lock. During the save, when the failure happens, LibreOffice is still making a “backup copy”, it is not writing yet to the file only reading it… for sure this should be allowed!

We thus started to suspect a problem with the kernel itself… and our contact has been willing to explore it further. After investigation, it’s been confirmed to be a kernel bug. For that the customer hooked us up with Andrew Bartlett from Catalyst as they knew he could help us flesh out ideas in this space. This proved valuable indeed. Thanks to tests we wrote previously and conversations with Andrew, we quickly figured that depending on the options you would pass at mount time the CIFS driver would handle the locks properly or not. We’ve discussed with the maintainer of the CIFS driver for a couple of fixes. They have been merged last week (end of August 2024).

A customer who sparks joy

It’s really a joy to have a customer like this. As can be seen from their willingness to dig deeper on what others would consider obscure issues, they demonstrate they are thinking long term. It also means they come with interesting and challenging issue… and they’re appreciative of what we achieved for them!

Indeed we got the pleasure to receive this by email during our conversations:

We very much appreciate the work you’ve done, and difficulty surrounding the challenges you’re working through. Your approach/results are spectacular, and we are very grateful to be able to be a part of it.

Of course, if you have projects involving Free Software communities or issues closer to the system, feel free to reach out, and we’ll see what we could do to help you. Maybe you too can be a forward thinking customer who sparks joy!

Categories: FLOSS Project Planets

Vector Graphics in Qt 6.8

Wed, 2024-09-11 05:41

Two-dimensional vector graphics has been quite prevalent in recent Qt release notes, and it is something we have plans to continue exploring in the releases to come. This blog takes a look at some of the options you have, as a Qt developer.

Categories: FLOSS Project Planets

OpenUK Awards 2024

Tue, 2024-09-10 10:28

https://openuk.uk/openuk-september-2024-newsletter-1/

https://www.linkedin.com/feed/update/urn:li:activity:7238138962253344769/

Our 5th annual Awards are open for nominations and our 2024 judges are waiting for your nominations! Hannah Foxwell, Jonathan Riddell, and Nicole Tandy will be selecting winners for 12 categories. ?

Nominations are now open until midnight UK, 8 September 2024. Our 5th Awards again celebrate the UK’s leadership and global collaboration in open technology!

Nominate now! https://openuk.uk/awards/openuk-awards-2024/

Up to 3 shortlisted nominees will be selected in each category by early October and each nominee will be given one place at the Oscars of Open Source, the black tie Awards Ceremony and Gala Dinner for our 5th Awards held at the House of Lords on 28 November, thanks to the sponsorship of Lord Wei.

Categories: FLOSS Project Planets

KDE Plasma 6.1.5, Bugfix Release for September

Mon, 2024-09-09 20:00

Tuesday, 10 September 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.1.5.

Plasma 6.1 was released in June 2024 with many feature refinements and new modules to complete the desktop experience.

This release adds a month's worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:

  • Screenedge: allow activating clients in drag and drop. Commit. Fixes bug #450579
  • Applets/kickoff: Fix keyboard navigation getting stuck inside gridviews. Commit. Fixes bug #489867
  • Klipper: fix copying cells when images are ignored. Commit. Fixes bug #491488
View full changelog
Categories: FLOSS Project Planets

Maui Release Briefing #6

Mon, 2024-09-09 10:26

Today, we bring you a report on the brand-new release of the Maui Project.

We are excited to announce the latest release of MauiKit version 4.0.0, our comprehensive user interface toolkit specifically designed for convergent interfaces, the complying frameworks, and an in-house developed set of convergent applications.

Built on the solid foundations of Qt Quick Controls, QML, and the power and stability of C++, MauiKit empowers developers to create adaptable and seamless user interfaces across a range of devices, and with this release, we have finally migrated to Qt6 and made available the documentation for the frameworks.

Join us on this journey as we unveil the potential of MauiKit 4 for building convergent interfaces, and finally discover the possibilities offered by the enhanced Maui App stack.

Community

To follow the Maui Project’s development or to just say hi, you can join us on our Telegram group @mauiproject

We are present on X and Mastodon:

Thanks to the KDE contributors who have helped to translate the Maui Apps and Frameworks!

Downloads & Sources

You can get the stable release packages [APKs, AppImage, TARs] directly from the KDE downloads server at https://download.kde.org/stable/maui/

All of the Maui repositories have the newly released branches and tags. You can get the sources right from the Maui group: https://invent.kde.org/maui

Qt6

With this version bump the Maui team has finalized the migration over to Qt6, which implies more stability and better performance coming from Qt upgraded QQC engine; but also means that some features have been removed or did not make the cut and still need more time to be brought back in posterior releases.

MauiKit 4 Frameworks & Apps

Currently, there are over 10 frameworks, with two new ones recently introduced. They all, for the most part, have been fully documented, and although, the KDE doxygen agent has some minor issues when publishing some parts, you can find the documentation online at https://api.kde.org/mauikit/ (and if you find missing parts, confusing bits, or overall sections to improve – you can open a ticket at any of the framework repos and it shall be fixed shortly after)

 

fav filemanager and music player. minimal modern & convergent @maui_project
Maui Apps 4.0 coming out soon. pic.twitter.com/OVLM2HWv6v

— Camilo Higuita (@cmhiguita) May 6, 2024

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

Core & Others

MauiKit Core controls also include the Mauikit Style, which along with the core controls has been revised and improved in the migration. New features have been introduced and some minor changes in the API have been made.

A good way to test the new changes made visually is via the MauiDemo application, when building MauiKit from the source, just add the -DBUILD_DEMO=ON flag and then launch it as MauiDemo4

All of the other frameworks have also been fully ported and reviewed, and some features are absent – for example, for ImageTools the image editor is missing for Android due to KQuickImageEditor problems.

Comic book support is missing in MauiKit-Documents, due to a big pending refactoring.

Finally, TextEditor new backend rendering engine migration is yet to be started.

Most of these pending issues will be tackled in the next releases bit by bit.

More details can be found in the previous blog posts:

Maui Release Briefing # 4

Maui Release Briefing #5

 

Archiver & Git

MauiKit-Archiver is a new framework, and it was created to share components and code between different applications that were duplicating the same code: Index, Arca, and Shelf.

The same goes for MauiKit-Git, which will help unify the code base for implementations made in Index, Bonsai, and Strike, so all of those apps can benefit from a single cohesive and curated code base in the form of a framework.

Archiver is pending to be documented, and Git is pending to be finished for its first stable release.

I have now finished porting all the Maui Apps and MauiKit frameworks to Qt6.

Vvave music player mini mode is back.@maui_project @Nitrux_NX pic.twitter.com/Mal3RU87O2

— Camilo Higuita (@cmhiguita) May 1, 2024

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

Known Issues
  • MauiKit-Documents comic book support is stalled until the next release due to heavy refactoring under Android.
  • MauiKit-ImageTools under Android does not include the image editor, since KQuickImageEditor is not working correctly under Android
  • Clip is not working under Android due to issues with the libavformat not finding openssl.so when packaging the APK, this is still under review
  • MauiKit-Git is still being worked on, and due to this Bonsai is not included on this stable release as it is being ported over to MauiKit-Git

 

@maui_project looking good. after the port to qt6 the next goal is to put out a stable version of Maui Shell with a tight integration to the app ecosystem and the HIG #mauikit pic.twitter.com/BkR9ecTzMT

— Camilo Higuita (@cmhiguita) May 6, 2024

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

Maui Shell

Although Maui Shell has been ported over to Qt6 and is working with the latest MauiKit4, a lot of pending issues are still present and being worked on. The next release will be dedicated fully on Maui Shell and all of its subprojects, such as Maui Settings, Maui Core, CaskServer, etc.

That’s it for now. Until the next blog post, that will be a bit closer to the 4.0.1 stable release.

Release schedule

The post Maui Release Briefing #6 appeared first on MauiKit — #UIFramework.

Categories: FLOSS Project Planets

KPhotoAlbum went to Akademy!

Sun, 2024-09-08 20:00

After years and years of working together on KPhotoAlbum, a considerable part of the devs team (Johannes and me ;-) finally met in person, at Akademy in Würzburg!

It was a very nice and pleasureable meeting, with lots of information around KDE, e.g. community goals, where we stand with Qt 5 and 6 and where we want to go, programming, sustainability and so on. Throughoutly nice and friendly people (esp. the two of us of course ;-), which whom one could have nice and productive conversations. If you can, go to Akademy – it's worth it!

Also, we hopefully again could emphasize – in person – the importance a Qt6/KF6 port of Marble for KPhotoAlbum and also KGeoTag. We now actively work on porting KPA to QT6/KF6, but we need Marble to be able to finally release it. But we're confident everything will work out.

Hopefully, this won't be the last time we meet!

— Tobias

Categories: FLOSS Project Planets

This week in Plasma: Stabilization for 6.2

Sat, 2024-09-07 16:49

This week I and many other major Plasma contributors are are at Akademy, planning the future and having many fruitful in-person discussions! As a result, probably next week’s post will be a bit light. This week though, lots of pre-Akademy changes got merged, most of them bug-fixes and performance improvements scheduled for Plasma 6.2. We want 6.2 to be super duper stable, and are putting in the work to ensure this goal is reached!

In addition, we merged a few final late-breaking features that had been under development for months and were deemed stable enough — likely the last ones before the hard feature freeze in a few days. Check it out!

Late-Breaking New Features

You can now rename audio devices! Additionally, you can now choose the technical data source used to generate default names for audio devices that you don’t choose to manually rename, which helps for hardware like mixer tables which show up as like 50 devices such that renaming each one individually would be a big pain in the butt (Harald Sitter, Plasma 6.2.0. Link)

You can now click/double-click on .ovpn VPN profile files to configure a new VPN (Nicolas Fella, Plasma 6.2.0. Link)

You can now place files in ~/Templates and they will appear as templates in the “Create New…” menu that appears in various places, including Plasma’s Desktop and Dolphin (Antti Savolainen, Frameworks 6.7. Link)

Notable UI Improvements

When copying image data to the clipboard, the Clipboard widget now always shows a preview of the image, instead of sometimes, in a random-seeming manner, showing a symbolic icon instead (Noah Davis, Plasma 6.2.0. Link)

In Discover’s rating preview carousel thingy that provides an overview of an app’s rating including top reviews, it will no longer show reviews that have been voted down more than up (Aleix Pol Gonzales, Plasma 6.2.0. Link)

In Plasma’s Networks widget, the button to create a Wi-Fi hotspot now uses the correct icon (Darshan Phaldesai, Plasma 6.2.0. Link)

Notable Bug Fixes

Fixed an issue that could cause pop-ups for widgets on a Plasma panel to be resized to either their original size or else a much smaller size after the screen configuration changed (Xaver Hugl, Plasma 6.1.5. Link)

Searching for locations with umlauts in their names now works as expected in Plasma’s Weather Report widget (Ismael Asensio, Plasma 6.1.5. Link)

When using the “Toggle Touchpad” global shortcut to turn your touchpad on or off, if you restart the machine with the touchpad disabled, then the next time you start it up again, the state will be correctly reported such that you can press the shortcut only once to turn the touchpad on again (Akseli Lahtinen, Plasma 6.1.5. Link)

System Settings no longer crashes every time you close the “Login Screen (SDDM)” page while on its Behavior sub-page (Nicolas Fella, Plasma 6.1.5. Link)

Fixed two somewhat common ways that Plasma could crash with certain multi-screen setups on X11 (Méven Car, Plasma 6.2.0. Link 1 and link 2)

Fixed a case where Plasma could crash when you drag a widget from the Widget Explorer over an Activity Manager widget (David Redondo, Plasma 6.2.0. Link)

Moving the pointer over tasks in Plasma’s Task Manager widget no longer causes their thumbnail previews to immediately disappear some of the time, depending on which direction you moved it in and your panel’s position on the screen (David Redondo, Plasma 6.2.0. Link)

Clearing the search field in Plasma’s Kickoff Application Launcher widget no longer unexpectedly launches the top item shown in the last search (David Edmundson, Plasma 6.2.0. Link)

The “Charging Rate” sensor in the System Monitor app and its widgets of no longer shows a negative number while the battery is in fact charging — only while it’s discharging (Arjen Hiemstra, Plasma 6.2.0. Link)

Fixed a visual glitch in System Settings’ Region and Language page that caused the selected item on the Binary Dialect sub-page to have unreadable text when not using a custom accent color (Méven Car, Plasma 6.2.0. Link)

Fixed a bug that caused animated cursors to only play their animation while the cursor was being moved when the system was falling back to or forced into using software cursors (Vlad Zahorodnii, Plasma 6.2.0. Link)

Implemented a workaround for the issue that causes the Touchpad and other pages in System Settings to sometimes break when being navigated to after first accessing another page. The root cause is still under investigation, since it seems to be very tricky and complicated (Albert Astals Cid, Frameworks 6.6. Link)

Sharing a file to your device via KDE Connect no longer breaks after the first time you do it until the app you shared the file from is restarted (Nicolas Fella, Frameworks 6.6. Link)

Fixed an issue that would make impossible to use the “Restore” functionality for trashed files or folders moved by an app to the trash using absolute file paths (Nicolas Fella, Frameworks 6.6. Link)

When Discover is maximized, it now remembers the window size it was displayed at before, so when you un-maximize it, it returns to that size (Eamonn Rea and Joshua Goins, Plasma 6.2.0 with Frameworks 6.7. Link 1 and link 2)

Other bug information of note:

Notable in Performance & Technical

Fixed an issue in Discover that could, under certain circumstances, cause the app to freeze right after being launched (Harald Sitter, Plasma 6.2.0. Link)

Optimized search performance in Discover so that it does less unnecessary work (Aleix Pol Gonzalez, Plasma 6.2.0. Link)

Did some performance optimization for KFilePlacesItem which should improve startup speed for anything using the Places panel (Kai Uwe Broulik, Frameworks 6.7. Link)

…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

So yeah, like I said, please test Plasma from current git master and open bug reports about issues you find. Another path is to help triage bug reports that the first crowd will be opening. Ask for more information, make them actionable, move them where needed! And of course, help fix triaged and confirmed bug reports.

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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! Or consider donating instead! That helps too.

Categories: FLOSS Project Planets

KDE Goals - A New Cycle Begins

Fri, 2024-09-06 20:00

The KDE community has charted its course for the coming years, focusing on three interconnected paths that converge on a single point: community. These paths aim to improve user experience, support developers, and foster community growth.

Streamlined Application Development Experience

This goal focuses on improving the application development process. By making it easier for developers to create applications, KDE hopes to attract more contributors and deliver better software for both first-party and third-party applications. A notable task within this goal is enhancing the experience of building KDE apps with languages beyond C++, such as Rust or Python.

Champions: Nicolas Fella and Nate Graham

We care about your Input

KDE has a diverse users base with unique input needs: artists using complex monitor and drawing tablet setups; gamers with controllers, fancy mice, and handhelds; users requiring accessibility features or using a language optimally types with complex input methods; students with laptops, 2-in-1s, and tablets — and more! While KDE has made significant progress in supporting these diverse sources of input over the years, there are still gaps to be addressed. This goal aims to close those gaps and deliver a truly seamless input experience for everyone.

Champions: Gernot Schiller, Jakob Petsovits and Joshua Goins

KDE Needs You! 🫵

KDE’s growth depends on new contributors, but a lack of fresh involvement in key projects like Plasma, Kdenlive, Krita, GCompris, and others is a concern. This goal focuses on formalizing and enhancing recruitment processes, not just for individuals but also for institutions. Ensuring that bringing in new talent becomes a continuous and community-wide priority, vital for KDE's long-term sustainability.

Champions: Aniqa Khokhar, Johnny Jazeix and Paul Brown

Join us!

Your voice, your code, and your ideas are what will shape the KDE of tomorrow — whether you're a user, developer, or contributor. Let’s go on this journey together and make these goals a reality!

Join the Matrix room and keep an eye on the website for the latest KDE Goals updates.

Categories: FLOSS Project Planets

Pages