Language Selection

English French German Italian Portuguese Spanish

Kde Planet

Syndicate content Planet KDE
Planet KDE | English
Updated: 53 min 22 sec ago

Web Review, Week 2022-48

7 hours 30 min ago

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

osquery | Easily ask questions about your Linux, Windows, and macOS infrastructure

Tags: tech, monitoring

This looks like an interesting OS level monitoring solution.

https://osquery.io/


WebAssembly: Go vs Rust vs AssemblyScript :: Ecostack — a developer blog

Tags: tech, webassembly, performance

Little simple benchmark of WebAssembly performances for the most common languages found there. Careful to the payload size though.

https://ecostack.dev/posts/wasm-tinygo-vs-rust-vs-assemblyscript/


Using Rust at a startup: A cautionary tale | by Matt Welsh | Nov, 2022 | Medium

Tags: tech, programming, rust, architecture

Don’t believe claims about Rust (or any other options in fact) being a language for universal use. It has a few spaces where it shines and others where it’ll be a drag. Picking the right language and stack is a multi-factor decision process where the technical advantages of the language itself say less than half of the story.

https://mdwdotla.medium.com/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454


I am disappointed by dynamic typing • Buttondown

Tags: tech, type-systems, metaprogramming

Interesting take about what could make dynamic typing truly shine if it got all the way to runtime manipulation in a consistent manner. We’re far from it though.

https://buttondown.email/hillelwayne/archive/i-am-disappointed-by-dynamic-typing/


Git Notes: git’s coolest, most unloved­ feature - Tyler Cipriani

Tags: tech, git

Obscure feature definitely but we’re happy it’s there… maybe one day it’ll indeed allow to have much more independence from the code forges.

https://tylercipriani.com/blog/2022/11/19/git-notes-gits-coolest-most-unloved-feature/


I/O is no longer the bottleneck

Tags: tech, performance

Definitely this, we have to stop pointing disk I/O so much for performance issues. This is just not really slow anymore. Obviously network is a different story.

https://benhoyt.com/writings/io-is-no-longer-the-bottleneck/


Falsehoods programmers believe about undefined behavior

Tags: tech, compiler, c, c++, rust

Undefined behavior do exist and well… they’re really undefined, don’t make any assumption about them.

https://predr.ag/blog/falsehoods-programmers-believe-about-undefined-behavior/


Cache invalidation really is one of the hardest problems in computer science – Surfing Complexity

Tags: tech, performance, multithreading

Nice summary on the false sharing problem with caches and how it can impact your performances in multithreaded contexts.

https://surfingcomplexity.blog/2022/11/25/cache-invalidation-really-is-one-of-the-hardest-things-in-computer-science/


Recognizing patterns in memory // TimDbg

Tags: tech, debugging, memory

Interesting set of memory patterns. Didn’t know all of them, some are definitely useful and I already use, I’ll try to look for the others next time I need to.

https://www.timdbg.com/posts/recognizing-patterns/


Massively increase your productivity on personal projects with comprehensive documentation and automated tests

Tags: tech, git, project-management, maintenance

Nice list of things to keep in mind when working on projects, even small personal ones. This greatly improve maintainability in the long run.

https://simonwillison.net/2022/Nov/26/productivity/


Why writing by hand is still the best way to retain information - Stack Overflow Blog

Tags: tech, low-tech, note-taking, book

There’s definitely a tension between something which you can organize and search easily (by typing) and something you can remember better (by hand writing). That’s why I can’t get rid of hand written notes completely, I practice a mix of both depending on the use.

https://stackoverflow.blog/2022/11/23/why-writing-by-hand-is-still-the-best-way-to-retain-information/


Bye for now!

KDE's End of Year Fundraiser is Live

10 hours 23 min ago
You Make KDE Possible

KDE's End of Year Fundraiser is officially live! Your donations will help us reach our goals, support our community, fund our events, and show the world how everybody can benefit from KDE software.

Today we have the ambitious goal of raising 20,000€ for the KDE. Your donation allows KDE to continue developing the spectacular Plasma desktop and all the apps you need for education, productivity, and creative work. Here are some of the things we have managed to do over the last year thanks to the generosity of donors:

Reaching the World

  • We have welcomed 2785+ people worldwide who have contributed code, art, translations and more.
  • We added/maintained support for 40+ languages for apps and frameworks.
  • We organized and attended 18 community events/sprints.

Building the Products

  • We hosted 1000+ projects and repositories.
  • We continued developing 260+ applications and addons.
  • We pushed out 11+ updates for KDE's Plasma desktop and related environments, such as Plasma Mobile and Plasma Big Screen and applications.
  • We supported 12 hardware platforms.
  • We continued to develop 83 frameworks.

The work of KDE is made possible thanks to the contributions from KDE Community members, donors and corporations that support us. Every individual counts, and every commitment, large or small, is a commitment to Free Software. Head to the KDE's End of Year fundraiser page and donate now.

Want to help more? Join KDE and contribute to building the future of KDE.

 

Help KDE hire more people!

Friday 2nd of December 2022 04:34:14 AM

KDE’s 2022 year-end fundraiser is now live! Please go donate if you can.

KDE e.V. board sprint, Berlin

Wednesday 30th of November 2022 11:00:00 PM

In two weeks, the board of KDE e.V. – and take note that photo of me is before 3 years of COVID-hair – will convene in Berlin for one of our board sprints.

The board meets weekly online, using the Big Blue Button infrastructure that KDE has for meetings, online get-togethers, virtual sprints and hybrid conferences. In an hour or two we get through the week’s “needs doing now” and “approve this request from the membership or community” items. But some things are not very well suited for online discussion. Sometimes we need to physically sign papers (Germany, old-fashioned, etc.). And of course, drinking tea together is what really makes a team.

Hmm, yes, there is “tea” in team. Make mine a Yunnan FOP.

But it’s not just all fun and games. Actually, hardly any: we get to spend 10 hours a day at the office over a weekend doing KDE e.V. board and administrative stuff. In the evening, though, we’ll meet up with some KDE folks in and around Berlin and potentially consume more tea.

(And when in Germany I always stock up on a handful of typically German products, like knödel – a good KDE name, although I can’t imagine an application carrying it)

Qt for MCUs 2.3 released

Wednesday 30th of November 2022 09:19:45 AM

Since the very first release of Qt for MCUs, your feedback and requests have been driving the development of Qt for MCUs. Today, we are happy to announce the release of version 2.3, which includes several of the most requested features and improvements. This new version adds the Loader QML type to Qt Quick Ultralite, support for partial framebuffers to substantially reduce the overall memory requirements of your applications, support for building applications using MinGW on Windows, and much more!

Plasma Mobile Gear ⚙ 22.11 is Out

Wednesday 30th of November 2022 12:00:00 AM
Updates in Plasma Mobile for September to November 2022

The Plasma Mobile team is happy to announce the result of all the project's development work carried out in September and November of 2022.

Plasma Mobile Gear

We have decided to migrate the releases of Plasma Mobile applications to KDE Gear, starting with KDE Gear 23.04. This means that Plasma Mobile Gear will be discontinued in the future, and Plasma Mobile applications will follow the release schedule of most other KDE applications, simplifying packaging. To prepare for this, an ongoing effort was made to ensure all applications have proper Bugzilla categories created.

Akademy

Akademy 2022 was held in Barcelona, and Devin and Bhushan presented some of the work in the project in the following talk:

Several Plasma Mobile BoF (birds-of-feather) meetings were also held. More details about them can be read over at Devin's blog.

Shell

Plasma 5.27 will be released on February 9th, 2023. This will be the last Plasma 5 release, with work after that being focused on Plasma 6!

Action Drawer

Devin added a feature that lets you tap the media player so that the audio source app window opens. He also fixed the quicksettings so that it now always opens the mobile settings application. Several issues with the mobile data quicksetting not accounting for certain scenarios were also fixed; and he also worked on fixing the marquee label in the WiFi quicksetting, stopping them from overflowing when multiple network devices are attached.

Navigation Panel

Devin fixed the close button not being usable while an application is launching.

Halcyon (Homescreen)

Devin fixed some performance issues when scrolling in the grid app list. This should improve performance a lot on slower devices.

Yari fixed support for the Meta key, and it should now properly bring up the homescreen when pressed.

Lockscreen

Devin did some performance refactoring, and also set the clock text to bold to improve contrast.

KScreen

Aleix fixed wakeups while the screen is off and the device is rotated. Rotations are now only tracked when the display is on.

KWin

Xaver added support for device panel orientations. This means that devices like the OnePlus 5 (which has an upside-down mounted display) will now have the orientation correct by default, and not inverted for touch input.

Other

The bug that led to shell configurations sometimes being wiped at start has been fixed in the upcoming Plasma 5.26.4 release.

Seshan worked on an updated design for the power menu, and it now includes a logout button.

Weather

Devin spent time addressing feedback through the KDEReview process, in preparation for moving the application to the KDE Gear release cycle. These changes include:

  • The settings dialog being switched to use a window in desktop mode
  • The scrollbars being added to views
  • Re-implementing the location list reordering to be much nicer to use
  • Many bugfixes
Recorder

Devin also spent time on the Recorder app, addressing feedback through the KDEReview process in preparation for moving the application to the KDE Gear release cycle. These changes include:

  • The Recorder page now uses a fullscreen layout
  • The recording player layout has been reworked to be easier to use
  • The settings dialog is a window in desktop mode
  • Recordings now start immediately when the record button is pressed
  • You can now export recordings to a different location
  • A bug that added suffixes to recorded file names for no reason was corrected
  • Many bugfixes and UX improvements
Clock

Devin fixed an issue where looping timers could have multiple ongoing notifications and the user was not able to dismiss them.

Terminal

Devin did some bug fixing work on the terminal application. He fixed command deletion not saving in certain cases, and also fixed the bug which made the whole window to close when Ctrl-D was pressed.

Dialer

According to the feedback obtained after the previous incoming call screen updates, Alexey introduced support for changing the answer controls. He provided buttons, and a selection of asymmetric and symmetric answer swipes. He also implemented call duration and caller id support for the incoming call screen with updates both for the daemon and GUI logic.

Marco, along with Alexey, fixed an issue when there was no ringtone when the phone was in lock screen mode without an additional notification. Marco also helped Alexey improve KWin's logic when parsing application privileges, like the lock screen overlay.

Volker introduced initial support for the Qt6 CI builds.

Devin ported Dialer settings to the new form components.

Spacebar

Michael added attachment previews to notifications. He also made it so that image attachment previews are shown in the chat's list. Another thing he implemented is support for tapback reactions. There is now a confirmation dialog before deleting a chat conversation to prevent accidental deletion of a conversation. Michael also made it so that MMS messages can be downloaded even when wifi is also connected.

Discover

Aleix worked on a more helpful homepage that better displays featured applications.

Tokodon

Carl ported Tokodon's settings to the new form components. He also updated the timeline by automatically cropping and rounding the images, improving the typography and fixing some sizing issues.

Volker fixed multiple bugs in the timeline and reduced the transfer volume on a "warm" start-up by 80%. For the technical details, you might want to read his blog post: Secure and efficient QNetworkAccessManager use

NeoChat

Tobias has made a lot of progress on end-to-end encryption. You can read more about it in his blog post: NeoChat, encryption, and thanks for all the olms

But that's not all, aside from the end-to-end encryption implementation, there was also a lot of changes to NeoChat's configuration settings. James and Carl ported many settings to the new form components. James additionally created a new settings component for managing your notifications settings directly from NeoChat. Gary Wang made it possible to configure a proxy for NeoChat. Tobias improved the settings on Android (hiding the irrelevant settings).

Tobias implemented a basic developer tool that allows inspecting raw matrix events.

Carl added a confirmation dialog when signing out and Tobias added another confirmation dialog when enabling end-to-end encryption.

Tobias rewrote the account switcher to make it easier to switch between accounts.

Kasts

Bart added support for streaming to Kasts and episodes can now be listened to without the need to download them first. For people that don't care about downloading episodes, there is a new setting allowing you to select streaming over downloading. If this setting is activated, it will show streaming buttons on the UI instead of download and play buttons.

Settings

Devin did some major fixes to the cellular network settings module, ensuring that the toggle state always matches the one used in the shell. He also improved behavior for when there is no SIM, as well as added more helpful messages if an APN is not configured. Some UI issues on the APN page were also fixed.

Devin also fixed accent colors being set from the wallpaper not working in the colors settings module.

Raven

Devin fixed some issues with the new account setup. At Akademy we discussed sharing code between Kalendar and Raven.

Łukasz fixed the edit button showing on the time page even when no entries are listed.

Audiotube

Jonah implemented a lyrics view in the player, and made it possible to filter recent search queries. He also added real album cover images instead of monochrome icons in all song lists.

Mathis made a few UI improvements, including rounded images and new list headers.

Actions for each song (like add to queue, etc.) are now in a popup menu. This allows you to favorite songs without having to play them.

Contributing

Want to help with the development of Plasma Mobile? Take Plasma Mobile for a spin! Check out the device support for each distribution and find the version which will work on your phone.

Our documentation gives information on how and where to report issues. Also, consider joining our Matrix channel, and let us know what you would like to work on!

KDE Plasma 5.26.4, Bugfix Release for November

Tuesday 29th of November 2022 12:00:00 AM

Tuesday, 29 November 2022. Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.26.4.

Plasma 5.26 was released in October 2022 with many feature refinements and new modules to complete the desktop experience.

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

  • Bluedevil: Install translated documentation from po/ too. Commit.
  • Discover: Prefer openining the installed version of an app. Commit. Fixes bug #461664
  • Discover Packagekit: check free space when update size changes. Commit.
View full changelog

Migrating dinner plans

Monday 28th of November 2022 11:00:00 PM

It’s fall, the leaves are on the ground, there are pumpkins on the table (and my local vegetable farm has blogged that the seasons are so screwed up due to climate change that it is no longer predictable which veggies show up when) and so, stew and hearty soup season is upon us.

“If I was to become a vegetarian, what kind of stew would we eat?” was a question kid[1] (the only one still at home) put to me. Good question. I have vague ideas about lentils and celery root and beans and tahin, but nothing as concrete as my beef stew recipe (1 chunk of cow, 1 bottle of beer, 6 onions, 1 potato and seasoning). It bears investigating.

Since kid[0] left the house – and they were the principled vegetarian here – we’ve relapsed to flexitarian habits, 1 meat, 6 vegetarian dinners a week with an accidentally-vegan thrown in with some regularity.

As an odd coincidence, both SMBC and my (paper!) paper NRC published something about eating invasive species this week. Household consensus is that if the cook cuts themself while making dinner, it’s still vegetarian.

I’ll leave you with a concrete recipe (if you come over this evening, this is what’s for dinner).

  • 1 pumpkin
  • 6 carrots
  • 2 potatoes
  • 2 bouillion cubes
  • 1 tablespoon curry powder, the nasty yellowish stuff from the supermarket
  • 2 tablespoons dried parsley or chives

Put all but the parsley in a big pot. Add water to just about cover the veggies. Boil softly for 20-25 minutes. Staafmix the heck out of it (um .. puree? I have not used this particular kitchen utensil in an English-speaking kitchen, so I wouldn’t know what verb to use for “apply a staafmixer until smooth”). Stir in the parsley.

Serve with fresh-baked bread.

Introducing KIO AFC

Monday 28th of November 2022 12:00:41 PM

A KIO worker for accessing iOS devices through the Apple File Conduit service.

Dolphin browsing the contents of an attached iPhone

While there have been several projects like this for both KDE 4 and Frameworks 5, this one has been written on top of the latest KIO classes and will be officially part of the next KDE Gear release. It is now part of the kio-extras module, which also houses the Android counterpart for transferring files over the MTP protocol.

Thanks to prior work in Solid, KDE’s hardware abstraction Framework, an iPhone plugged in to the computer will be shown in the Disks & Devices applet and Dolphin’s Places sidebar like any other external storage medium. I also submitted a small fix to UPower so that the device’s name rather than vendor and type is shown in the battery applet.

It supports browsing both the general file system as well as documents shared by apps through the House Arrest API. If you’re like me and prefer cable over cloud and wireless, please give it a try and report any bugs you might encounter! You just need to build the solid and kio-extras modules and make sure libimobiledevice-dev (naming will vary depending on your Linux distro) package is installed. You can also grab a build with this feature enabled fresh from the latest KDE neon Unstable edition or SUSE Krypton starting today.

If you don’t have any iOS device, you can still support KDE development by donating! ;)

This week in KDE: Humongous UI improvements

Saturday 26th of November 2022 06:04:49 AM

This week we have a lot of large and impactful user interface improvements across multiple apps and Plasma, not to mention progress on the big bugs!

New Features

Dragon Player–KDE’s venerable minimalistic video and audio player–has undergone a major UI overhaul, including adopting KHamburgerMenu and a welcome screen, a streamlined and more intuitive set of default toolbar buttons, and less glitchy behavior when opening videos in the Plasma Wayland session (Harald Sitter, Dragon Player 23.04, Link 1, link 2, link 3, link 4, link 5, and link 6):

There’s still a bit more polishing to do, but now this app is sleek as hell!

Filelight now has a list view on the left side of the window, providing a simple text-based method of viewing size information. This also fixes multiple bugs with the tooltips and eliminates blurriness in the radial graph view! (Harald Sitter, Filelight 23.04. Link):

Ark now supports extracting Stuffit .sit archives (Elvis Angelaccio, Ark 23.04. Link)

There’s now a new “Touchscreen” page in System Settings that lets you disable touchscreens and choose which physical screen their input gets mapped to (Nicolas Fella, sponsored by TU Dresden, Plasma 5.27. Link)

In the Plasma Wayland session, screens now get a default scale factor that more appropriately matches their DPI, based on what kind of device they are (me: Nate Graham, Plasma 5.27. Link)

You can now autostart apps multiple times (e.g. to launch multiple instances of it) and it also shows you the paths where autostarted scripts live (Thenujan Sandramohan, Plasma 5.27. Link)

You can now configure Folder View to show hidden files if you want (Willyanto, Plasma 5.27. Link)

System Settings’ Drawing ‘Tablet’ page now lets you map physical buttons on your drawing tablet’s pen to keyboard shortcuts (Aleix Pol Gonzalez, Plasma 5.27. Link)

User Interface Improvements

When you unlock the screen by providing your fingerprint, you no longer have to redundantly click an “Unlock” button afterwards (Janet Blackquill, Plasma 5.26.4. Link)

The way you choose or change a location in the Weather widget is now simpler and more direct (Ismael Asensio, Plasma 5.27. Link)

When using the Canadian weather provider, the Weather widget’s layout is now much better and clearer, and no longer sometimes gets visually cut off (Ismael Asensio, Plasma 5.27. Link):

On System Settings’ Users page, the way you choose fingers to use for fingerprint authentication is now much more visually intuitive. In addition, you can now un-enroll individual fingers, and when you change your password, you’ll no longer see the “passwords don’t match” message until after you click the “Set Password” button, or a few seconds after you stop typing (Janet Blackquill and Devin Lin, Plasma 5.27. Link 1, link 2, and link 3):

On System Settings’ Display Configuration page, screens are now required to be touching and not partially overlapping, which prevents various weird bugs from being able to happen (David Redondo, Plasma 5.27. Link)

The Audio Volume widget’s tooltip no longer unnecessarily tells you that output is playing on “Speaker” when there’s only one output device, and instead mentions the fact that you can scroll over the icon to change the volume (me: Nate Graham, Plasma 5.27. Link 1 and link 2):

Breeze-themed Plasma popups now have a larger corner radius that matches the corner radius for windows (Niccolò Venerandi, Frameworks 5.101. Link):

The Breeze Icon theme now includes a themed icon for SimpleScreenRecorder (Manuel Jesús de la Fuente, Frameworks 5.101. Link):

Significant Bugfixes

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

In the Plasma Wayland session, tapping a touchscreen after disconnecting an external screen no longer crashes KWin (Xaver Hugl, Plasma 5.26.4. Link)

Plasma notifications no longer have inappropriately sharp top corners (Niccolò Venerandi, Plasma 5.26.4. Link)

In the Plasma X11 session, disabling compositing no longer leaves an empty area around Plasma Panels (Niccolò Venerandi, Plasma 5.26.4. Link)

Searching using the KRunner-powered search in Overview no longer sometimes crashes KWin (Alexander Lohnau, Plasma 5.27. Link)

Landed a better fix for the problem of maximized XWayland apps sometimes having a one-pixel empty border on the right screen edge in the Plasma Wayland session (Aleix Pol Gonzalez, Plasma 5.27. Link)

Other bug-related information of interest:

Automation & Systematization

Added some autotests surrounding Plasma wallpaper loading and assignment (Fushan Wen, Plasma 5.27. Link)

Added some autotests around the KFileFilterCombo UI component (Nicolas Fella, Frameworks 5.101. KFileFilterCombo. Link)

Changes not in KDE that affect KDE

In QtQuick-based apps, scrollable views where all content fits horizontally no longer shows a pointless horizontal scrollbar anyway. We had previously worked around this bug in most KDE apps, but now it’s fixed upstream so we don’t have to anymore! (David Redondo, Qt 6.4.2, but backported to the KDE Qt patch collection. 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

If you’re a developer, check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly! Otherwise, have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

Maui 2.2.1 Release

Saturday 26th of November 2022 12:12:23 AM
A new release is now available! – with internationalization – supporting multiple languages, introducing new libraries and apps, a more cohesive look-and-feel, and improvements to the current stack of apps.

Today, we bring you a new special report on the Maui Project’s progress.

Maui 2.2.0 was released about three months ago, and since then, we have added new features, bug fixes, and improvements to the Maui set of apps and frameworks; the Maui Shell components and new apps have been updated and pushed for a new release. The following blog post will cover changes and highlights from the last three months, which pave the road for a Maui Desktop environment for convergence.

Community

To follow the Maui Project’s development or say hi, you can join us on Telegram: https://t.me/mauiproject.

We are present on Twitter and Mastodon:

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

Downloads

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

And if you are feeling a bit curious about the Maui DE, you can download a new Manjaro-based image for **testing** the project’s current state.

https://sourceforge.net/projects/nulogicos/files/latest/download

Note: Please be aware that this is an ISO image from a third-party.

What’s new?

Translations, new apps, more features, bug fixes, and consistency updates, among many other goodies. So let’s start:

There are new additions to the Maui Project, such as MauiKit CalendarMauiKit Documents, and Arca, and new apps getting ready for their first stable releases, such as Fiery browser, Strike IDE, Booth camera app, Agenda calendar, and some others.

These development months have been busy shaping the core stack of apps and libraries for Maui DE, updating all the libraries used by Maui apps; MauiKit Frameworks hits a new stable version, 2.2.1: with translations and more convergent-ready components.

The Maui Apps now look even better, with merged ToolBars into the TabBars, cleaner menus, and translucency effects; you can check out the previous progress report leading to this new release to find out about even more new stuff packed into this new release:

Maui Report 19

The release schedule was updated to better keep in sync with the development workflow of the project. To check the new release plans, you can go to the end of this blog post.

MauiKit Frameworks 2.2 Maui Demo

We rewrote the demo app, and after some initial work, it will list all the available controls in MauiKit Core with short detailed HIG text and code snippets. This app is still a work in progress and will continue to be developed in the upcoming weeks.

Style

The style received paper-cut fixes to more controls to keep the consistency among all the expected states, such as hovered, checked, pressed, etc., for the TextFieldSwitchesSlidersCheckBoxesComboBox, etc.

  • The ToolBar control gained a default row layout for quickly placing items on it.
  • New style for the Tumbler control with mouse-wheel support.
Controls – [2.2.1]
  • We refined the AbouDialog control with a more popping style and more credit information from authors, translators, libraries, links, etc.
  • The ApplicationWindow now has a sane minimum width and height to avoid setting the size to an unusable state.
  • MauiApp now connects to CaskServer to request drop shadows when using CSD under Maui Shell.
  • A cleaner ContextualMenu placement on Mobile mode, and remove hard border lines.
  • The ComboBox has been refactored and now follows the ContextualMenu placement and style.
  • By default, the GridBrowserDelegate is now flat on desktop mode for a cleaner look and feel.
  • The ToolBar and TabBar are slimmer and adjust to the height of their content.
  • The line separators are now more subtle.
  • Apps no longer display window controls in full-screen mode if the user enabled CSD.
  • GalleryRoll and the CollageItem controls now have a consistent font size and style.
  • When building MauiKit, it now generates the .aar package for its Java functionality to integrate into Android.
  • Fixes the KI18n usage for translations.
  • Fix to issue showing duplicated entries on the hidden menu in the SelectionBar control.
  • Support added for images in the QRC for ImageColors.

The renewed About dialog now displays more credits, to translators and libraries. #mauikit pic.twitter.com/N9qrJS2mqJ

— Camilo Higuita (@cmhiguita) November 14, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

FileBrowser, TextEditor, ImageTools, and Accounts – [2.2.1]

The frameworks received the necessary fixes for supporting translations via KI18n and the KDE’s infrastructure.

  • The TextEditor component gained an optional spell checker thanks to KF5 Sonnet.
  • ImageTools gained support for editing, adding, and removing EXIF metadata.
  • FileBrowser now supports .po file type for the text mime-types.
  • The search functionality in the FileBrowser component now shows the progress of file operations.
Documents & Calendar – [1.0.0]

Two new frameworks join the MauiKit group: Documents for viewing PDF, comic books, and EPubs files; and Calendar for calendar support with multiple time and date-related controls.

A new addition to the MauiKit Frameworks is Calendar.
It will provide calendar-releated controls and utilities to be used in Maui apps.#mauikit #maui @Nitrux_NX pic.twitter.com/QMFj5Uf9yR

— Camilo Higuita (@cmhiguita) October 26, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

Maui Apps

During this cycle, we focus on making the current apps more stable by correcting errors from reported bugs, making the current features more accessible, and shaping the apps to match their desktop alternatives. We have updated the files for Appstream to the latest releases.

Index – [2.2.1]

The Index file browser for desktops, tablets, and phones. Using the KIO library supports browsing networks, devices, and disks. A list and grid view are available, with support for making a composite selection of files from the selection bar, an optional embedded terminal, split views, and multiple tabs; Index allows quick previewing of a bunch of file types within the app and much more.

From the last report, these are some of the new updates included:

  • Translations​​​​​​​​​
  • The quick places section in the sidebar is not flat.

VVave – [2.2.1]

The VVave (read as Wave, by the way) is a music player and a music collection manager with different views to browse your collection. With it, you can edit the music metadata, create “playlists” using MauiKit tags and even stream music from your NextCloud server instance. Vvave has a stylish focus mode and takes care of downloading your music artwork.

Some updates include:

  • Fix the main playlist artwork header padding.
  • Translations.
Pix – [2.2.1]

Pix is an image viewer, image editor, and image collection manager. With it, you can make quick edits to your images, like rotating and cropping and modifying the metadata information; create collections to organize your images; and browse them by folders in a stylish fashion.

  • More extensive previews in the folders and tags views.
  • Simplify the viewer’s view.
  • Translations.

Buho – [2.2.1]

Buho is a simple note-taking app with support for syncing with NextCloud server instances.

  • Translations.

Nota – [2.2.1]

Nota is a simple text editor with support for split views, multiple tabs, listing recent files, syntax highlighting support for multiple languages, an optional embedded terminal, and much more.

  • Translations.

Station – [2.2.1]

The Station terminal emulator now supports split views, multiple tabs, touch gestures, and custom command shortcuts.

  • Translucency testing feature.
  • Fix typos.
  • Single instance server – can now be invoked with the initial working directory.
  • Refactored the custom shortcuts command dialog.
  • Cleaner tab bar.
  • Translations.

Communicator – [2.2.1]

Communicator is a contacts manager app.

  • Translations.
Shelf – [2.2.1]

The Shelf document viewer supports PDFs, Comic book archives, and soon EPUB eBooks.

  • Now uses the MauiKit Documents library to display PDF and comic book archives.
  • Comic book archives are now working for the Android version.
  • Translations.

Clip – [2.2.1]

The Clip video player and video collection manager.

  • Translations.
  • Fix the installation command.

Fiery [1.0.1]

Fiery is the web browser.

  • Translations.

Booth – [1.0.1]

Booth is a camera app with support for scanning QR codes and the expected functionality of a camera app with a bunch of settings.

  • Users can toggle off QR scanning.
  • Translations.
Strike – [1.0.1]

The Strike IDE is an upcoming C++ and CMake-based application to build projects.

  • Translations.
  • We’ve fixed the build-bar implementation.

Bonsai – [1.0.1]

Bonsai is a Git version control manager with initial support for browsing your local repositories, and in the works to become much more feature rich.

  • Translations.

Agenda – [0.1.0]

Agenda is a calendar app.

  • Translations.
  • Create events and display them in the views – thanks to Akonadi.
  • Now uses the MauiKit-Calendar library.

 

Agenda app and MauiKit Calendar framework. WIP#mauikit @maui_project pic.twitter.com/Ve7KBYKMde

— Camilo Higuita (@cmhiguita) November 5, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

Arca – [0.1.0]
  • Initial working version with support for opening archives.
  • Preview archive files within the app.
  • Insert new files into the archive.

Arca taking shape:
-Multiple tabs
-Filter, sort, and preview contents
-Preview: fonts, images, videos, audio, PDFs, and text files
-Add new files and directories to the current path#mauikit@maui_project @Nitrux_NX pic.twitter.com/DVec81pU2l

— Camilo Higuita (@cmhiguita) October 11, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

Maui Settings – [1.0.1] & MauiMan – [1.0.1]

The translucency feature is now hooked to the MauiMan property enableEffects and exposed on the Maui Settings app.

translucency effects pic.twitter.com/qadUWidOTE

— Camilo Higuita (@cmhiguita) October 12, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

Maui Shell & Cask Server & Maui Core – [0.5.6]

The CaskServer gained support for handling drop shadow requests per app; the blurred background is also in the works.

Cask is now hooked to CaskServer’s new options for drawing the requested drop shadows.

The Cask calendar card is now using the new MauiKit Calendar lib.

Cask chrome now correctly sets the border radius.

This might look like nothing. What you are seeing is Maui apps with CSD requesting Cask to draw their drop shadows. And eventually, it will support requests for blurred backgrounds, custom title bar colors, etc.#mauikit pic.twitter.com/gX17yplxhv

— Camilo Higuita (@cmhiguita) October 13, 2022A script element has been removed to ensure Planet works properly. Please find it in the original post.

 

Here is a quick reminder of the project’s immediate future goals:

  • Fully utilize CMake. [Done]Developers can build apps and the framework with CMake for all targeted platforms.
  • More feature-rich applications. [In Progress]Pix image editor and GPS location browsing.
  • VVave’s metadata editor and cloud streaming.
  • Index – feature-rich file management.
  • Better integration with Android. Idle states and background playback.
  • Improve data synchronization using NextCloud. [Pending]Only Buho and VVave have initial support.
  • For 2.1, We will add support for Pix as well. [Pending]
  • Improve performance. [In progress]We have split the MauiKit framework into different components.
  • MauiKit::Core controls are faster and more coherent.
  • 5X faster startup times for Maui Apps
  • Improve the UI cohesion on all supported platforms. [In Progress]We continuously improve Maui Style.
  • Move beta apps to stable. [In Progress]Shelf and Clip have been moved to stable, missing Sol (now Fiery), Booth, Strike, and Bonsai.
  • NX SC is available at github.com/nitrux/nx-software-center.
New release schedule

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

Web Review, Week 2022-47

Friday 25th of November 2022 10:01:24 AM

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

Open letter for the right to install any software on any device - FSFE

Tags: tech, vendor-lockin, foss

Definitely something to sign, let’s get back some freedom on the device we got in our pocket.

https://fsfe.org/activities/upcyclingandroid/openletter.html


Digital environmental impact evaluation accross organizations

Tags: tech, ecology

I often find tools regarding environmental impacts on the client side. This group seems to focus more on the server side, definitely something to look into.

https://boavizta.org/en


The Fediverse Could Be Awesome (if we don’t screw it up)

Tags: tech, fediverse, social-media

This sudden rise of the Fediverse is indeed a chance. Let’s hope it’s not wasted. Good list of things to pay attention to in this article.

https://www.eff.org/deeplinks/2022/11/fediverse-could-be-awesome-if-we-dont-screw-it


ooh.directory

Tags: tech, blog, rss

Woa, that’s definitely welcome. A strong list of blogs to use in your feed aggregator. Time to explore.

https://ooh.directory/


Tree views in CSS

Tags: tech, web, frontend, css

Nice CSS trick to make collapsable trees without too much fuss.

https://iamkate.com/code/tree-views/


An Interactive Guide to Flexbox in CSS

Tags: tech, frontend, browser, css

Nice guide, the interactive parts definitely help. Good way to improve CSS use.

https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/


Internals of sets and dicts | Fluent Python, the lizard book

Tags: tech, python, performance, optimization

Interesting deep dive on how sets and dicts are implemented in CPython. There are a couple of interesting tricks in there.

https://www.fluentpython.com/extra/internals-of-sets-and-dicts/#_footnoteref_6


Always use [closed, open) intervals. A programmer’s perspective

Tags: tech,, programming,, mathematics

Good reasons to use [closed, open) intervals. If you didn’t know where it was coming from, here it is.

https://fhur.me/posts/always-use-closed-open-intervals


D2 Tour | D2 Documentation

Tags: tech, diagrams

That looks like a nice declarative language to make diagrams. Missing sequence diagrams but otherwise seems fairly useful and readable.

https://d2lang.com/tour/intro/


Ignore RuboCop changes in Git Blame

Tags: tech, git

Now this is a very interesting trick for git. This way large reformatting commits are less of a concern when exploring commit history.

https://blog.testdouble.com/posts/2022-11-21-rubocop-git-blame/


Inhumanity of Root Cause Analysis – Verica

Tags: tech, complexity, project-management, failure, postmortem

A bit heavy handed in the way it tries to paint Root Cause Analysis as evil. Still it has good points about its shortcomings. In particular I appreciate the emphasis on complexity which indeed points to have contributing factors and unexpected outcomes. Definitely things to keep in mind for any postmortem efforts.

https://www.verica.io/blog/inhumanity-of-root-cause-analysis/


The Ancient Japanese Technique That Produces Lumber Without Cutting Trees

Tags: history, japan, ecology

Very interesting technique. Clearly some more work but prevents deforesting like mad for lumber. It’s amazing to see those… clearly a bit like giant bonsais.

https://dsfantiquejewelry.com/blogs/interesting-facts/the-ancient-japanese-technique-that-produces-lumber-without-cutting-trees


Bye for now!

Today is #BlueFriday!

Friday 25th of November 2022 09:11:53 AM

Be like Konqi and get all KDE's awesome apps, all the versions of Plasma, and fantastic frameworks to build your own software at unbelievable prices!

Blue Friday is here!

Recent AudioTube improvements

Thursday 24th of November 2022 11:48:00 PM

Since the last post about AudioTube, a lot has happened! So in this blog post, you can find a summary of the important changes.

Notable new features Library

AudioTube now has a library, in which you can see your favourite, most often and recently played songs.

Filtering through previous searches

This allows searching through locally known songs and previous search terms, without even sending a request to youtube.

Lyrics

While playing a song, you can now see the lyrics of the song in a separate tab.

User Interface improvements

Finally, AudioTube displays album covers everywhere. Devin Lin has redesigned and improved the actual audio player. Mathis Brüchert has done several design improvements across the board, like rounded album covers, improved spacing.

The support for wider screens has also been improved, and the queue list will now only expand up too 900 virtual pixels.

Fixes

Fetching thumbnails is now much faster, since in most cases the thumbnail ID can be reliably predicted, without querying yt-dlp. In the few remaining cases, querying yt-dlp is still the fallback

Install

If you want to try AudioTube, you can get the latest stable version from flathub. If you want the latest improvements, which are usually already reasonably stable, you can grab a nightly build from the KDE Nightly flatpak repository.

Code improvements

While developing the library feature, a small new library was developed. I called it FutureSQL, after the QFuture type it uses for most parts of its API. FutureSQL provides an asynchronous API for QtSql, by running the database queries on a separate thread. It also provides convinient template functions for passing parameters to SQL queries.

Possibly the most interesting feature is automatically deserialize the resulting data from an SQL query into a struct. This works thanks to C++ templates.

In the simplest cases, nothing but

struct Song { using ColumnTypes = std::tuple<QString, QString, QString, QString>; QString videoId; QString title; QString album; QString artist }

is required.

The library version of this code does not yet have a stable release, however you can already try the API if you build the library from the repository.

New Video! Making Brushes Part 4

Thursday 24th of November 2022 10:34:55 AM

Ramon has just published a new video, digging deeper than ever into brush preset creation in Krita! Enjoy!

 

The post New Video! Making Brushes Part 4 appeared first on Krita.

Qt Creator 9 released

Thursday 24th of November 2022 09:00:09 AM

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

A better fundraising platform

Wednesday 23rd of November 2022 09:38:16 PM

KDE is getting a much more user-friendly fundraising platform, and it’s a big deal!

Currently our small-donor donation page is https://kde.org/community/donations, which lets you make a single one-time donation. To make a recurring donation, you have to visit https://relate.kde.org, which is less user-friendly, and it’s always struck me as odd to have these split up in two locations.

Well, KDE is getting a much better donation system powered by Donorbox, which I hope will turbocharge our fundraising! It’s very user-friendly and allows you to easily make recurring donations, which is important. We already set this up for the Kdenlive fundraiser, and it was a smash hit, raising 100% of the funds in the first month of the 3-month campaign. That fundraiser has since moved into stretch goals!

We’ve now done it again, rolling out a Donorbox-powered donation UI on https://kde.org/bluefriday, our tongue-in-cheek anti-black-friday fundraiser, which will become a general end-of-year campaign. This work was done by members of KDE’s promo team and fundraising working group, principally Lays Rodrigues, Carl Schwan, and Paul Brown. And so far the response has been huge! The fundraiser opened yesterday, and at the time of publication, it’s already collected 530€ from 28 generous donors! And after the new year, the current plan is to continue to use the Donorbox-powered UI for all small donations.

This really goes to show how important user-friendliness is. When you make it easy for people to give you money… they give you more money! Thank you so much, everyone.

Why is all this money stuff so important? Well, it’s how the KDE e.V. pays for hiring (such as for the Platform Software Engineer position I blogged about two days ago), development sprints, conferences, infrastructure, and similar activities that help KDE thrive and grow. If we’re gonna hugely expand technical employment–which is a major goal of mine–then we’re gonna need a lot more recurring donations to do it.

So what are you waiting for? Head over to https://kde.org/bluefriday and make a donation today. If it’s a recurring donation, we’ll love you forever!

Finalizing rpm-ostree support in Discover

Tuesday 22nd of November 2022 07:00:00 PM

Initial support for rpm-ostree was added in Discover as part of a Season of KDE 2021 project that was completed by Mariam Fahmy.

Unfortunately, we hit some hard to diagnose issues related to DBus interactions with rpm-ostree so the work was left in limbo for a while and kept disabled in Fedora Kinoite.

I recently picked it up again and implemented a workaround as I could not figure out the root cause of the original issue.

I am pleased to announce that we now have good support for rpm-ostree in Discover!

CXX-Qt 0.4 Released

Tuesday 22nd of November 2022 10:00:11 AM

We just released CXX-Qt version 0.4!

CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or build Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, QML, and JavaScript.

For 0.4, most of the internals of CXX-Qt have been refactored into stages, which means it is easier to maintain. There are various small changes to the API, such as the capability of using attributes in more places rather than magic struct names. Relocatable Qt types have been marked as trivial to CXX (which means they don’t need to be wrapped in pointers).

Some of the larger developer-facing changes are listed below.

Refactor of API So That CXX-Qt is a Superset of CXX

You can now combine CXX definitions into the CXX-Qt bridge macro.

This allows you to define custom types with CXX extern blocks that can then be used for CXX-Qt purposes, such as properties, invokables, and signals.

For example, in the bridge below, a CXX extern “C++” block is used to define QString as a type. Then, this can be used as a property in the QObject definition.

#[cxx_qt::bridge] mod my_object { unsafe extern "C++" { include!("cxx-qt-lib/qstring.h"); type QString = cxx_qt_lib::QString; } #[cxx_qt::qobject] #[derive(Default)] pub struct MyObject { #[qproperty] number: i32, #[qproperty] string: QString, } } Rewrite of the Build System

Custom CMake files have been removed from the build process; Corrosion is used instead, for CMake builds. This allows for a cleaner build that configures and builds Rust code at the correct times.

There is also support for Cargo-only builds for Rust developers who don’t use CMake.

Simplified Thread Queueing

Rust closures can now be used to queue tasks onto the Qt event loop from a Rust background thread. This allows you to capture items rather than use a channel with function pointers, as we did in the previous release.

Thanks to Yuya Nishihara for this contribution.

// In an invokable request a handle to the qt thread let qt_thread = self.qt_thread(); // Spawn a Rust thread std::thread::spawn(move || { let value = compute_value_on_rust_thread(); // Use a closure to move the value and run the task on the Qt event loop qt_thread .queue(move |mut qobject| { // Happens on the Qt event loop qobject.set_value(value); }) .unwrap(); }); For More Information

Find CXX-Qt on our GitHub page.

We also have a Rust book with a getting started guide.

Discussions and contributions are welcome, as the API continues evolving for 0.5. With 0.5, we hope to improve the ability to implement listmodels from Rust and introduce Qt container types.

 

About KDAB

If you like this article and want to read similar material, consider subscribing via our RSS feed.

Subscribe to KDAB TV for similar informative short video content.

KDAB provides market leading software consulting and development services and training in Qt, C++ and 3D/OpenGL. Contact us.

The post CXX-Qt 0.4 Released appeared first on KDAB.

KDE is hiring a software engineer

Monday 21st of November 2022 11:49:20 PM

Yes that’s right folks, it’s happening!!! KDE is growing up, joining the big leagues, and cooking on all burners!

The KDE e.V. recently dipped its toes into the waters of technical hiring by contracting with longtime KDE contributor Ingo Klöcker to maintain and improve KDE’s packaging infrastructure for non-FOSS platforms. Now we’re at it again with a new open position for a “Software Platform Engineer.”

This is an open-ended development position, with responsibilities for work on KDE frameworks, Plasma, Qt, middleware like Pipewire and Wayland protocols–basically, the same things that a lot of people are already doing. But… on a consistent work-work basis, for money, with your KDE friends as professional colleagues and supervisors!

If this interests you, check out the job ad and apply! We want lots of good candidates so we can feel bad about only hiring one person and then feel even more incentivized to open more positions for them too! And we have other open positions as well! So go apply for a career in KDE today!

Of course sustaining these high-pay technical positions won’t be cheap. The KDE e.V. can just barely afford it now, and needs a larger and growing budget to be able to sustainably keep up the pace of hiring. Please donate today! Every little bit helps. If you can swing it, make it an annual donation!

More in Tux Machines

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.

Red Hat Hires a Blind Software Engineer to Improve Accessibility on Linux Desktop

Accessibility on a Linux desktop is not one of the strongest points to highlight. However, GNOME, one of the best desktop environments, has managed to do better comparatively (I think). In a blog post by Christian Fredrik Schaller (Director for Desktop/Graphics, Red Hat), he mentions that they are making serious efforts to improve accessibility. Starting with Red Hat hiring Lukas Tyrychtr, who is a blind software engineer to lead the effort in improving Red Hat Enterprise Linux, and Fedora Workstation in terms of accessibility. Read more

Today in Techrights

Android Leftovers