Skip to content

Monday, 13 March 2023

Dear digiKam fans and users,

After three months of active maintenance and other bugs triage, the digiKam team is proud to present version 7.10.0 of its open source digital photo manager.

See below the list of most important features coming with this release.

Bundles Internal Component Updates

As with the previous releases, we take care about upgrading the internal components from the Bundles. Microsoft Windows Installer, Apple macOS Package, and Linux AppImage binaries now hosts:

Friday, 10 March 2023

Make sure you commit anything you want to end up in the KDE Gear 23.04 releases to them

We're already past the dependency freeze.

The Feature Freeze and Beta is next week Thursday 16 of March.

More interesting dates  
  March 30: 23.04 RC (23.03.90) Tagging and Release
  April 13: 23.04 Tagging
  April 20: 23.04 Release

https://community.kde.org/Schedules/KDE_Gear_23.04_Schedule

Let’s go for my web review for the week 2023-10.


You Are Not a Parrot And a chatbot is not a human. And a linguist named Emily M. Bender is very worried what will happen when we forget this.

Tags: tech, ai, gpt, machine-learning, cognition, linguistics, politics, ecology, ethics

This is an excellent piece. Very nice portrait of Emily M. Bender a really gifted computational linguist and really bad ass if you ask me. She’s out there asking all the difficult questions about the current moment regarding large language models and so far the answers are (I find) disappointing. We collectively seem to be way too fascinated by the shiny new toy and the business opportunities to pay really attention to the impact on the social fabric of all of this.

https://nymag.com/intelligencer/article/ai-artificial-intelligence-chatbots-emily-m-bender.html


Did You Miss My Comment or What? Understanding Toxicity in Open Source Discussions

Tags: tech, sociology, foss, github

Early days for this type of research so a couple of limitations to keep in mind while reading this paper. Most notably: rather small sample explored (it’s a qualitative study) and tends to conflate GitHub with “the Open Source community”. The later especially matters since the vibe can be very different outside of GitHub. That being said, very interesting findings in there. Some validate my experience with GitHub. It’s clear that compared to other spaces there’s much more entitlement behavior from some people. Interestingly the words seem on average less violent (although it does happen of course) than in other platforms… still this is important to keep in check since it could have implication toward prospective contributors. The last point in their discussion section is promising. Some of the current manual interventions from maintainers seem to have good results (encouraging) and it seems possible to at least semi-automate the handling of toxic comments which could help with maintainers well-being.

https://cmustrudel.github.io/papers/osstoxicity22.pdf


diziet | Never use git submodules

Tags: tech, git, tools

I tend to agree with this quite a lot. Git submodules tend to create lots of strange issues and rather bad developer experience. Even worse it’s not necessarily spotted straight away, you notice the real pains only after having invested in it quite a bit. There are alternatives worth exploring though.

https://diziet.dreamwidth.org/14666.html


Safety and Soundness in Rust

Tags: tech, rust, safety

People tend to be fixated on the “unsafe” keyword and assuming not using it will make their code devoid of memory safety bugs. Well, it’s a bit more subtle than this. It helps you know where such bugs can hide but it can’t completely prevent them all the way down the stack.

https://jacko.io/safety_and_soundness.html


Indices point between elements - Made of Bugs

Tags: tech, programming

Neat way to think about array indices, if it was widespread it would simplify a few things in documentations I think.

https://blog.nelhage.com/2015/08/indices-point-between-elements/


A discussion between Casey Muratori and Robert C. Martin about Clean Code

Tags: tech, architecture, performance, craftsmanship

Very interesting conversation between Uncle Bob and one of the recent critics of his work regarding performance. I like how he admits some faults in the way he presents things and try to improve for later rather than trying to be right. Some people should learn from that. There’s clearly a tension between performance and what is described in Clean Code, it’d be pointless to deny it.

https://github.com/unclebob/cmuratori-discussion/blob/main/cleancodeqa.md


An Alternative to Dependency Injection Frameworks – Software the Hard way

Tags: tech, architecture, complexity, java

Indeed, in some type of projects people tend to turn to Dependency Injection Frameworks a bit blindly (especially true in the Java world). Still there are other patterns which give similar benefits without less headaches. That’s worth investigating if this fits your context before picking up a framework.

https://software.rajivprab.com/2018/11/06/an-alternative-to-dependency-injection-frameworks/


Why You Should Send a Weekly Summary Email | by Jens-Fabian Goetzmann | Feb, 2023 | Medium

Tags: tech, organization, team, note-taking

The advice is sound. Having more written records of such things definitely help teams. It can have a benefit in other forms (notes or todo’s) if you do it just for you.

https://jefago.medium.com/why-you-should-send-a-weekly-summary-email-1c556149ed42


How to hire engineering talent without the BS · Jesal Gadhia

Tags: tech, hr, interviews

Hiring and interview isn’t simple. There are good advises in this piece. In particular I strongly agree with the fact that leet coding is probably not it and that having something guided and scripted it necessary.

https://jes.al/2023/03/how-to-hire-engineering-talent-without-the-bs/


Want an unfair advantage in your tech career? Consume content meant for other roles

Tags: tech, management, empathy, culture, team, learning

This is definitely a worthy advice with lots of interesting side effects. For me the main motive beyond cheer curiosity is developing more empathy towards others with different roles.

https://matthewgrohman.substack.com/p/want-an-unfair-advantage-in-your


The Lost Art of Lacing Cable - The Broadcast Bridge - Connecting IT to Broadcast

Tags: tech, networking, history, culture

Fascinating old school way to manage cables. And indeed the result looks pretty as well.

https://www.thebroadcastbridge.com/content/entry/12400/the-lost-art-of-lacing-cable



Bye for now!

Thursday, 9 March 2023

There has been some recent discussions about how KDE applications (or Qt apps in general) should look and feel like outside of the Plasma desktop, particularly in a GNOME environment.

During this discussion I noticed two major disconnects between the involved parties. One of them is technical in nature, where (understandably) not everyone involved has deep knowledge about how Qt and KDE apps work. The other one is cultural in nature, where there’s opposing views about who gets to decide how an application should look and feel like on a given platform.

I can’t do much about the cultural issue, but I can help the conversation by giving some much needed overview of how any of this works on a technical level. Everyone being on the same page technically could help foster a more productive conversation about this complex topic.

First of all it’s important to note that Qt to its core is an abstraction across various plaforms (most important here are Linux, Windows, and macOS, but also to some degree Android and iOS). Whenever possible Qt tries to use the platform’s native facilities to do anything, whether that’s rendering, file dialogs, widget styles etc. This becomes somewhat messy when you consider that “Linux” isn’t exactly a single, well-defined “platform”. Qt does usually have non-native fallbacks for things like file dialogs and widget styles, but they aren’t necessarily something you want a user to have to see. It’s also important to mention that Qt has two somewhat competing ways of defining UIs, the traditional QtWidgets, and the more recent QtQuick/QML.

There are several somewhat independent pieces involved in how a Qt application looks and feels. Jan Grulich already talked about some of them in the context of GNOME and QGnomePlatform, but there are also things specific to KDE applications that aren’t mentioned.

The first piece is the “Qt Platform Theme (QPT)”. Despite the name it doesn’t have much to do with the visual style. It is responsible for applying settings from the platforms. This for example includes font settings, the double click interval, or whether a file should be openend on single or double click. It also defines how standard dialogs look like, most importantly the file picker dialog, but also dialogs like a color picker. Third, it defines the color palette (QPalette) the application is using. More on that later. Qt itself ships platform themes for non-Linux platforms as well as somewhat generic Linux platform themes for GNOME and Plasma. Notable out-of-tree plugin exist, like plasma-integration which you are using right now if you are on Plasma, the aforementioned QGnomePlatform targeted towards GNOME (and to some degree similar environments), and qt5ct, which isn’t aligned to a specific environment and provides generic control over platformtheme things.

The second, and perhaps most well-known, knob is the widgets style (also called QStyle). It controls the majority of the appearance of a QtWidgets application. Well-known examples include Breeze (the current Plasma default), Oxygen (the KDE4-default), adwaita-qt, as well as built-in styles for Windows/macOS. Qt also comes with a built-in Fusion style. QStyles are implemented using C++ plugins. Whenever the app needs to render some piece of UI, e.g. a button, it defers that to the style plugin. Some style, like e.g. Windows then use platform native APIs to render widgets, others like Breeze draw the widgets from scratch. Application developers can also include custom styles for complete control over the appearance.

The third important concept is QPalette. A QPalette is a set of colors used to draw UI elements. The palette is defined by the platform theme(!). For example Plasma uses this to apply the color scheme set in System Settings. QGnomePlatform uses it to apply Adwaita-like colors. The selected QStyle may (or may not!) use this palette when drawing controls. The application developer can also manually query colors from the palette for drawing custom widgets while still respecting the platform’s wanted colors. A platform theme may only offer a single palette this way, or include light and dark variants, or allow the user to configure arbitrary color sets (like we do on Plasma). It is also possible for application developers to override the system-provided palette, for example to offer an in-app dark mode switch.

For applications using QML there is another relevant component: The Qt Quick Controls 2 Style. For reasons I’m not going to go into QtQuick Controls don’t use QStyle for their styling. Instead they come with their own stying system, which is itself based on QML. In Qt5 QML apps only have a very basic and broken default theme that should never be used. In Qt6 they use Fusion by default.

These are the relevant knobs every Qt app has. Some app developers choose to use them to control the appearance of their apps themselves, but many others leave it to the environment to apply a suitable look and feel. Furthermore, there are some relevant KDE-additions to this that are important to understand.

One such addition is KColorScheme. You can think of KColorScheme as a superset of QPalette, i.e. it provides additonal color roles and thus finer-grained control over colors. When changing the Colors setting in Plasma’s System Settings you are picking a color scheme. This gets applied to QPalette via the plasma-integration QPT, but can also be queried directly by the application developer for custom painting. Contrary to QPalette a KColorScheme is not porgrammatically filled based on plaform values (that happens only on Plasma), but it is a static, textual list of colors. Here we have the first problem for running KDE applications under e.g. GNOME. When running a KDE app on GNOME QGnomePlatform will apply Adwaita colors using QPalette. However, this does not affect colors the application directly pulls from KColorScheme, which unless explicitly configured has a default that resembles Breeze. This means we get mixtures of two different color sets, giving unpleasant results. This is especially noticeable when using a dark system theme combined with the light default colors from KColorScheme.

How do we solve this? Well, I’ve been banging my head against that problem for a while. Short of removing the concept of KColorScheme entirely I see two realistic options, not necessarily mutually exclusive. QGnomePlatform could create a KColorScheme definition with Adwaita-like colors and apply that to the application. If exuted correctly it would likely give very good results, but obviously only on platforms that use QGnomePlatform. The other option would be to programmatically derive a KColorScheme definition from a QPalette, which is likely much harder because KColorScheme is a superset of QPalette, but it would be a generic solution for all platforms.

The second noteworthy thing for KDE applications affects QML apps in particular. I’ve mentioned that QML has a separate theming system compared to QtWidgets. Because maintaining two style definitions for different systems is no joy KDE maintains a “hack” around this. qqc2-desktop-style implements a Qt Quick Controls style that fetches style information from a QStyle, which means all the existing QStyles out there keep working for QML apps. It works amazingly well, until it doesn’t. One of the shortcomings of this approach is that qqc2-desktop-style internally heavily relies on KColorScheme, which makes the aforementioned mismatch between QPalette and KColorScheme much more prominent. Possible solutions are the same as mentioned before.

I hope this gives some much needed overview over technology and terminology of involved components and helps with a productive way forward with addressing the problems we have. You are welcome to join this discussion. There’s some other relevant things to talk about, like icon loading, theming, and rendering, but that’s for another day.

Wednesday, 8 March 2023

Call for proposal ends Thursday the 30th of March


There's still a few weeks, but time is really running out.

 

I'm sure there's lots of interesting things you have to talk about Qt, KDE, C++, Community Management or other million things so head over to https://akademy.kde.org/2023/cfp/ or over to https://conf.kde.org/event/5/abstracts/ if you want to skip the nicely worded page that encourages you to submit a talk :)

Screenshot of version 0.5.3 with gradients

We're excited to announce the release of Glaxnimate 0.5.3! This update includes a number of new features, bug fixes, and improvements to the user experience.

Editing

Glaxnimate 0.5.3 introduces several new editing features:

There's a new keyframe preset called "Fast" that basically has the reverse effect of "Ease".

Additionally, this release adds support for conical gradients.

Users can now select the first Bezier node from the node's context menu.

Version 0.5.2 introduced the ability to animate along a path, 0.5.3 makes this easier as now there's a new context menu entry for position properties showing a dialog to select a shape to follow.

User experience

In addition to editing improvements, Glaxnimate 0.5.3 includes several UI enhancements. We've made color values in tree views more visually appealing, and removed extra items from the "Move To" dialog.

Changing fill, stroke, and gradient properties now applies to the whole selection rather than the last selected object.

We've also revamped the context menu for properties, making them consistent between the timeline and the canvas.

Editing tools are more forgiving now when you release modifier keys before finishing the shape.

Users can now choose whether the timeline scrolls vertically or horizontally without modifiers, and we've added new layout presets to better accommodate a variety of screen sizes.

File Formats

This release also includes updates to Glaxnimate's import and export functionality.

The main new feature here is the ability to import and export Android Vector Drawables, the animation format used when making animated icons for Android.

We've also fixed various issues with the SVG parser, improving support for animated paths.

Opening raster images now uses the file basename as layer name, and we've resolved a bug affecting plugin export.

Bug Fixes

Finally, Glaxnimate 0.5.3 includes a number of bug fixes. We've addressed an issue with layers created by drawing tools not having an end frame, and fixed several other small bugs affecting the user experience.

We encourage all users to upgrade to Glaxnimate 0.5.3 to take advantage of these new features and improvements. You can download the latest version of Glaxnimate from the download page.

Tuesday, 7 March 2023

It has been many years that I have provided up-to-date builds of KDE/Plasma for Debian stable, testing, unstable. It is now more than a year that I don’t use Debian anymore. Time to send this off.

As already mentioned in some comments to various blog posts here, I will not invest more work into the current repositories. I invite anyone with interest in continuing the work to contact me. I will also write up a short howto guide on what I generally did and how I worked with this amount of packages.

I feel sad about leaving this behind, but also relieved from the amount of work, not to speak of the insults (“You are a Nazi” etc) I often get from the Debian side. I also feel sorry for all of you who have relied on these packages for long time, have given valuable feedback and helpful comments.

It was a nice and long run.

So long, and thanks for all the fish.

Monday, 6 March 2023

Precisely one month ago I joined KDE e.V., the non-profit organization behind KDE, as Software Platform Engineer. This is part of three positions in KDE’s “Make a living” initiative.

The exact scope of this position is a bit vague. I like to describe it as “Taking care of everything needed so that people can build and enjoy awesome software”. A large part of that is taking care of foundational libraries such as Qt and KDE Frameworks, but it can be really anything that helps people do awesome things. This is pretty much what I’ve been doing as a volunteer for the last couple of years anyway.

So what have I been up to this past month? A lot, but also not a lot that’s worth mentioning individually right now. As you probably know we are heading full steam towards using Qt6 for all our products. This is something that started almost four years ago (and I’ve been involved from the start) and is growing ever more closely to being finished. Last week we switched Plasma master to use Qt6 exclusively, completing an important milestone for the whole transition. This involved a ton of small to medium-sized changes and fixes across the stack.

Instead of listing all the changes I have done as part of that let’s focus on the outcome instead: I’m typing this post running on a full Plasma session running against Qt6. There are still some rough edges, but overall it’s quite usable already. Definitely enough to get involved and hack on it. I’d show you a screenshot, but that would be pretty boring, it looks exactly the same as before!

So what does the future hold? The transition towards Qt6/KF6 is going to stay my focus for a while, but once that settles down I’m going to focus on other areas of our software platform eventually. If you have ideas for what it would make sense for me to focus on please get in touch.

This position is enabled and financed by KDE e.V.. To allow me to keep this position in the long term (and perhaps even hire additional people) please consider donating to KDE e.V.

Friday, 3 March 2023

Let’s go for my web review for the week 2023-09.


Godot 4.0 sets sail: All aboard for new horizons

Tags: tech, 3d, gaming, godot

This is a huge release. Lots of very strong and needed feature to be a competitive engine. Congrats!

https://godotengine.org/article/godot-4-0-sets-sail/


Nokia launches DIY repairable budget Android phone | Nokia | The Guardian

Tags: tech, mobile, nokia, ecology

Coming from Zombie Nokia, still I think we need more options like this. It is the number one solution to reduce ecological footprints of computing.

https://www.theguardian.com/technology/2023/feb/25/nokia-launches-diy-repairable-budget-android-phone


OpenAI Is Now Everything It Promised Not to Be: Corporate, Closed-Source, and For-Profit

Tags: tech, ai, gpt, ethics, business

When they changed their statutes it was the first sign… now it’s clear all ethics went through the window. It’s about fueling the hype to drive money home.

https://www.vice.com/en/article/5d3naz/openai-is-now-everything-it-promised-not-to-be-corporate-closed-source-and-for-profit


Keep your AI claims in check | Federal Trade Commission

Tags: tech, ai, criticism

That’s a good set of questions to ask ourselves when in contact with a product claiming the use of “AI”.

https://www.ftc.gov/business-guidance/blog/2023/02/keep-your-ai-claims-check


New C++23 features I’m excited about - twdev.blog

Tags: tech, c++

This newer standard brings up interesting features again. I’m especially interested in std:expected myself.

https://twdev.blog/2022/10/cpp23/


SymPy makes math fun again

Tags: tech, mathematics, python

This really looks like a nice library for symbolic maths. Keep in mind it’s python based but it goes all the way to generating solutions to the given problem in various languages.

https://wordsandbuttons.online/sympy_makes_math_fun_again.html


Game Asset Storage, Loading, Compression and Caching | PH3 Blog

Tags: tech, gaming, compression, tests

Interesting new compression format around the corner. Might turn out useful in some cases. I could definitely have used it last year for a test harness with very large reference data (so no, not gaming).

https://ph3at.github.io/posts/Asset-Compression/


The Great Gaslighting of the JavaScript Era | The Spicy Web

Tags: tech, web, frontend, react, complexity

A bit of a rant so brace yourselves. Still, it’s very much aligned with the current backslash against “everything must be an SPA” trend and makes very good points on how it happened. This indeed turned into a popularity contest based on false premises. Meanwhile… complexity increased dramatically on the web frontend side and the performances are bad for most users.

https://www.spicyweb.dev/the-great-gaslighting-of-the-js-age/


Visual design rules you can safely follow every time

Tags: tech, gui, design, ux

Very nice set of rules. They are very simple to apply individually. The art is in respecting it all of course.

https://anthonyhobday.com/sideprojects/saferules/


Clever Code Considered Harmful

Tags: tech, complexity, maintenance, craftsmanship

Good musing about simple code and complexity. We definitely should avoid unwarranted complexity in our code, or at least try to prevent it’s spreading.

https://www.joshwcomeau.com/career/clever-code-considered-harmful/


Stop saying “technical debt” - Stack Overflow Blog

Tags: tech, technical-debt, maintenance, craftsmanship

Definitely this. I think this could have turned into a good term until it was used for everything under the sun. It’s about maintainability first, not just about what you like or not.

https://stackoverflow.blog/2023/02/27/stop-saying-technical-debt/


The lone developer problem

Tags: tech, programming, craftsmanship, team

Development is and has to be a team sport indeed.

https://evanhahn.com/the-lone-developer-problem/


A thorough team guide to RFCs. A reference guide to implement RFCs as… | by Juan Pablo Buriticá | Feb, 2023 | Juan’s And Zeroes

Tags: tech, decision-making, product-management

They’re definitely a powerful tool. I see them used in a few places but definitely not enough.

https://buriti.ca/a-thorough-team-guide-to-rfcs-8aa14f8e757c


6 qualities that make a great engineer | Inside Intercom

Tags: tech, quality, culture

A bit too much written in superlatives for my taste. Still, this is an interesting set of qualities indeed. Definitely things to aim for.

https://www.intercom.com/blog/traits-of-exceptional-engineers/


The Missing Semester of Your CS Education

Tags: tech, university, craftsmanship, tools

Having taught quite a bit at the university, having interviewed quite a few junior developers… I have to agree what’s proposed here is missing from most curricula. I wish this would be taught more systematically. If not at least students everywhere should know this online course exists.

https://missing.csail.mit.edu/


Improving Students’ Learning With Effective Learning Techniques: Promising Directions From Cognitive and Educational Psychology - John Dunlosky, Katherine A. Rawson, Elizabeth J. Marsh, Mitchell J. Nathan, Daniel T. Willingham, 2013

Tags: teaching, learning

Very interesting but long state of the art and evaluation of learning techniques. This is definitely something students should look at to pick better techniques. The way I design my trainings and coaching session seem to be mostly aligned with the findings, they tend to foster the right learning techniques… Still that’s up to the students to pick up the opportunity instead of repeating usual inefficient patterns.

https://journals.sagepub.com/stoken/rbtfl/Z10jaVH/60XQM/full



Bye for now!

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.1 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?

Updated 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 Terminal, and Era, and new apps getting more features 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.2: with translations and more convergent-ready components.

Overall you will notice an even more cohesive usage of padding, margins, and spacing in elements and content views. More work towards making it perfectly suitable for desktop and mobile use.

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 20

Maui Report 21

 

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

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 Switch and some other controls now follow the preferred border-radius value.
  • Added new properties for h1 and h2 fonts.
  • The Popup style was fixed and is now used by MauiKit controls.

Controls – [2.2.2]

  • An important fix on the Page control: multiple items in the header were misplaced- via the headerColumn property.
  • Initial work done on TabView for lazy loading new tabs.
  • Fix the SelectionBar hidden-items menu entry, that was visible without any contents.

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

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

  • FileBrowser plugin library files are now correctly installing the .so versions.
  • ImageTools gained initial OCR support.
  • The TextEditor gained a new type: ColorSchemeModel
  • The FileBrowser type FileLoader can now load contents from tags.

Documents & Calendar – [1.0.1]

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.

Terminal – [1.0.0]

  • Working interactive scrollbars in desktop mode.
  • Fix issues with the contextual menu showing up twice on pressed.
  • Allow creating custom scheme colors. Use an adaptive color scheme from the current style.
  • Allow translucency and blurred background.
  • New ColorScheme model.
  • Now uses the MauiMan Theme properties for consistency.

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. Also fixes the text capitalization styling in menu items, buttons, and titles.

Some of the new apps are now part of KDE and have been migrated into Invent: Agenda, Arca, Era, Paleta, Brun.

Index – [2.2.2]

A quick overview of what’s new in Index includes dynamic preferences per directory, the new MauiKit Terminal components with an integrated color scheme and other goodies, a tweaked path bar, an updated settings dialog, and the inclusion of the action bar by default for a much cleaner interface in the menus.

 

VVave – [2.2.2]

The VVave (read as Wave, by the way) gained a new main playlist shuffling system, a new tracks view with smart categories, and more tweaking options accessible from the settings dialog.

Pix – [2.2.2]

Pix is an image viewer, image editor, and image collection manager. This version includes the preview of the OCR features, such as extracting text from images and performing contextual searches in the collection based on the text in the images (still under development). Besides this, this new version includes a new navigation sidebar, to browse the tags and other common places much more quicker.

 

Buho – [2.2.2]

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

 

Nota – [2.2.2]

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. This new release has a better settings dialog section for changing the color scheme, fixes a bug causing to not close correctly the split view, reviewed labels in menu items, and the usage of the new MauiKit Terminal component.

 

Station – [2.2.2]

The Station terminal emulator now supports split views, multiple tabs, touch gestures, and custom command shortcuts. This new version now uses the new MauiKit Terminal, which includes much better support for interactive scrollbars, support for translucency, and much more. The settings dialog now has a nice color scheme section with previews and using an adaptive color scheme based on the app style is now possible.

 

 

Communicator – [2.2.2]

Communicator is a contacts manager app. This version has an updated delegates style for a more cohesive style. Fixes to launching calls and sending SMS messages from the app on Android. An updated Message Composer dialog.

Shelf – [2.2.2]

The Shelf document viewer supports PDFs, Comic book archives, and soon EPUB eBooks. This version comes with a new sidebar in the collection view for better navigation of other common places and tags.

 

Clip – [2.2.2]

The Clip video player and video collection manager.

  • Translations.
  • Fix the installation command.

 

Fiery [1.0.2]

Fiery is the web browser. This version has a lot of contextual actions now working, such as opening links in new tabs, downloading files, and other editing actions, such as copying, cutting, and pasting text. For this version support for split views was added and the settings dialog options are now better organized.

Booth – [1.0.2]

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

Strike – [1.0.2]

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

Bonsai – [1.0.2]

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.

Agenda – [0.1.1]

Agenda is a calendar app.

Arca – [0.1.1]

Acrca comes with initial support for opening archives, previewing archive files within the app, and the ability to insert new files into the archive, as well as extraction.

NX Software Center – [1.0.1]

  • It’s now updated to the latest MauiKit changes
  • It’s now a single-instance application.
  • Now has a server and command line options to invoke specific actions, such as: opening a specific app page, a category, or launching a search.

 

Maui Settings – [1.0.2] & MauiMan – [1.0.2]

In Maui Settings, all the brand new CaksServer and MauiMan options have been exposed and can be easily accessed: Form Factor, Accessibility, Screenshot, and the Theme modules have more options added.

The application now checks and shows warnings about the underlying servers not running – that is crucial: for example for MauiManServer and CaskServer, it also checks if the current session being used is actually a Maui Session.

Now can change the wallpaper source directory and reset it to the default.

 

 

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

  • Cleanup up the sources and removed unneeded files. Split the cask internal implementation controls from the CaskKit plugin with all the template types for common UI elements.
  • Now the screenshots taken from the cars are saved into ~/Pictures/Screenshots/
  • The screenshot card now has a timer available.
  • Thanks to MauiKit work now icons are updated live when the preferred icon theme is changed.
  • Updated to the latest changes in MauiKit, from the removed and renamed components.
  • Cask now uses the new MauiMan Form-factor APIs for changing the workspace mode: phone, tablet, and desktop.
  • Added a toggle item for quickly switching from desktop mode to mobile mode.

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 release cycle was focused on working on Maui Shell parts to bring the vision closer to a first stable release. Many things are missing and a list of those pending things can be found here: [link]

 

 

New release schedule

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