redstrate.com/content/blog/kde-march2023/index.md
2023-06-23 21:46:21 -04:00

117 lines
6.4 KiB
Markdown

---
title: "My work in KDE for March 2023"
date: 2023-03-29
draft: false
tags:
- Linux
- Open Source
- KDE
- Qt
toc: true
series:
- My Work in KDE
---
Another month in the year, another collection of bugfixes and features I contributed to KDE!
# Documentation Improvements
Something I want to improve for KDE Frameworks 6 is the API documentation, it's pretty bad
sometimes:
![How do I even import this component?](29_152318.webp)
For plasma-framework, [we started marking private QML types as internal](https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/722). I'm in the process of manually fixing up the custom QQuickItem types in plasma-framework
too, although I haven't gotten around to opening up a merge request for that.
I opened a doxyqml[^1] [merge request to make it's output more useful](https://invent.kde.org/sdk/doxyqml/-/merge_requests/16), by automatically
adding import statement hints to the page:
![Example of the new doxyqml output](image.webp)
# Plasma 6 Porting
Early this month, I ended up porting most of our applets to Plasma 6! The current
hitlist is:
* [Sticky Notes](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/339)
* [Binary Clock](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/340)
* [Color Picker](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/341)
* [Fuzzy Clock](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/344)
* [Web Browser](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/352)
* [Konsole Profiles](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/347)
* [Media Frame](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/348)
* [Quick Launch](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/349)
* [Quick Share](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/350)
* [Timer](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/351)
* [Input Method](https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1420)
* [Activity Manager](https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1421)
* [Kicker](https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1419)
![Screenshot of the applets running on Plasma 6!](plasma6-applets.webp)
The two I'm still working on and need further testing and reviewing:
* [Comic](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/342)
* [Kate Sessions](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/346)
* [Disk Quota](https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/343) (if you have disk quotas, please help me test this one!)
I also [fixed activity switching](https://invent.kde.org/frameworks/kactivities/-/merge_requests/24), and fixed [KRunner's broken layout](https://invent.kde.org/plasma/milou/-/merge_requests/54).
For those who are building Plasma 6 for the first time, [extragear modules are now built by default](https://invent.kde.org/sdk/kdesrc-build/-/merge_requests/208)!
# PlasmaTube
I started using PlasmaTube which is KDE's Youtube Client, to replace FreeTube. I started by
[cleaning up and overhauling the account management](https://invent.kde.org/multimedia/plasmatube/-/merge_requests/43), so it flows better.
![The new login page](login.webp)
I also made the [info chips non-interactable](https://invent.kde.org/multimedia/plasmatube/-/merge_requests/41), fixed the [spacing on video grid text](https://invent.kde.org/multimedia/plasmatube/-/merge_requests/40), added [more loading placeholders](https://invent.kde.org/multimedia/plasmatube/-/merge_requests/42) and
[stop desktop users from being able to drag the video page](https://invent.kde.org/multimedia/plasmatube/-/merge_requests/38).
# Ruqola
Because of `$work`, I discovered that we have a Rocket.chat client! I miss being able to quickly switch my presence
via the tray icon, so that's the first thing I opened a [merge request](https://invent.kde.org/network/ruqola/-/merge_requests/110) for.
![Screenshot of the presence context menu](indicator.webp)
# Dr. Konqi
Someone pointed out that the margins in the bug reporting wizard was terrible, so I [started a redesign of the whole UI](https://invent.kde.org/plasma/drkonqi/-/merge_requests/96) trying to update it to look similar to our modern applications:
![WIP Bug Context Page](bugcontext.webp)
![WIP Backtrace Page](crash.webp)
# Tokodon
In preparation for the 23.04 gear release, I added a slew of new features and bugfixes!
* The Status Composer is [now automatically focused, and you can press CTRL+Enter
or CTRL+Return to submit](https://invent.kde.org/network/tokodon/-/merge_requests/182).
* You can [now check, allow and deny follow requests](https://invent.kde.org/network/tokodon/-/merge_requests/175).
* When replying to a post, [the post now shows up inline in the composer](https://invent.kde.org/network/tokodon/-/merge_requests/174)!
![Screenshot of the inline reply preview](preview.webp)
* There are now [way more notification filter types, not just "All" and "Mentions"](https://invent.kde.org/network/tokodon/-/merge_requests/184).
![Screenshot of the newly added notification filter types](notifications.webp)
And of course, there are of course many bugfixes:
* Account strings that are just "@" are [now detected and handled properly, so it doesn't get stuck](https://invent.kde.org/network/tokodon/-/merge_requests/194).
* When searching, it's [clearer for slower connections that the list is temporarily empty because it's loading](https://invent.kde.org/network/tokodon/-/commit/8bad39b41083e43a6b63be9f2ab9b7dfd31e3927).
* Don't allow users to [edit the visibility of existing posts, which doesn't work](https://invent.kde.org/network/tokodon/-/merge_requests/162).
As a treat for people who manage popular accounts - like our great KDE and Krita promo teams - I have a [work-in-progress merge request to allow you to group notifications](https://invent.kde.org/network/tokodon/-/merge_requests/181)! I expect to find time next month to finish and polish this feature, but no promises yet.
![Screenshot of the notification grouping (work in progress)](grouping.webp)
# Miscellaneous
* Finished Nate's work on [hiding separators when the kickoff is sorted alphabetically](https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1433), this will land in 5.27!
* Added a [unit test to Kalendar](https://invent.kde.org/pim/kalendar/-/merge_requests/325).
[^1]: Doxygen doesn't support QML natively, so doxyqml is a plugin to help generate doxygen pages for QML types.