meven's blog - kdeZola2024-03-16T10:30:00+00:00https://meven.github.io/tags/kde/atom.xmlDolphin 24.022024-03-16T10:30:00+00:002024-03-16T10:30:00+00:00
Unknown
https://meven.github.io/dolphin-24-02/<p>Since last <a href="https://apps.kde.org/dolphin/">Dolphin</a> version 23.08, I spent a lot of my time making sure the transition to KF6/Qt6 went smoothly for dolphin and its dependencies and plugins and thanks to many others contributions, in particular <a href="https://write.as/alexander-lohnau/">Alexander</a> and <a href="https://nicolasfella.de/">Nicolas</a>, this went well.
The objective being no-one would notice despite much code has changed and this mostly worked out.</p>
<h1 id="changes">Changes</h1>
<p>A few behaviors and default have changed.</p>
<p>Files and folders are now selected with a single-click and opened with a double-click.
This will mainly affect Neon Users, since most distros already had this behavior default.
You can select the single-click-open mode on the first page of systemsettings, as it concerns also Plasma, file/open dialog and other applications.</p>
<p>The extract here option in the menu now has the behavior of the old "extract here and detect subfolders".
This makes the menu less heavy on text while making the action more accessible.</p>
<p>Service menus will need some adaptation unfortunately, you will need to Moving them to a new location.
Usually <code>mv ~/.local/share/kservices5/ServiceMenus/* ~/.local/share/kio/servicemenus</code>. (Ensure to have destination directory created: <code>mkdir -p ~/.local/share/kio/servicemenus</code>)
You can read the <a href="https://develop.kde.org/docs/apps/dolphin/service-menus/">updated documentation</a>.</p>
<p>The <code>F10</code> shortcut now opens the menu, instead of creating a directory. That's an important change to improve accessibility by providing standard shortcuts. You can change it back if you want, and you can also use the the standard shortcut for this action <code>Ctrl+Shift+N</code>.</p>
<h1 id="new-features">New features</h1>
<p>The settings have been reorganized making it easier to find what you are looking for.
The Interface section regroups setitings regarding the UI elements of dolphin, and the view those that influences how the main view will display your files and folders.</p>
<p><a href="/captures/dolphin-24.02-settings.png" title=""><img src="/captures/dolphin-24.02-settings.png" with="100%"/></a></p>
<p>Shoutout to Dimosthenis Krallis for pulling it off, this wasn't an easy task especially for a not yet regular contributor.</p>
<p>Thanks to <a href="https://blogs.kde.org/authors/carlschwan/">Carl</a>, we got a very nice visual improvement to KDE application with breeze. I really enjoy the change to Dolphin.
Looking back at dolphin in plasma5 makes it glaring.</p>
<p>A small new feature, I added, is you can now middle click on a file to open it in the second application associated with its type.
Let's say you have an html file you normally open with your browser, but sometimes you want to edit it. Now instead of going to the open-with menu you can middle-click it. This works for scripts as well, opening them in your default editor instead of the second application assoctiated with their type.</p>
<p><a href="/captures/dolphin-24.02-quick-edit.png" title=""><img src="/captures/dolphin-24.02-quick-edit.png" width="100%"/></a></p>
<p>This was inspired by the fact that folders benefit from middle-click activations to open new tabs.
Making this behavior configurable might make sense, suggestions welcome, but this seems like a sensible default at least.</p>
<p><a href="https://wordsmith.social/felix-ernst/">Felix</a>, my fellow dolphin co-maintainer, did a bunch of ui-refinement, like the free space label in the status bar and some very nice <a href="https://wordsmith.social/felix-ernst/f10-for-accessibility-in-kf6">accessibility improvements</a>, including the <code>F10</code> shorcut change that now triggers the app menu by default.</p>
<p>You can open now open containing folders for <a href="https://invent.kde.org/system/dolphin/-/merge_requests/616">files in the Recent Files</a>.</p>
<h1 id="bug-fixed">Bug fixed</h1>
<p>Akseli Lahtinen made sure to <a href="https://invent.kde.org/system/dolphin/-/merge_requests/675">Resort directory size count after refreshing</a>.</p>
<p>And in total 32 were fixed between Dolphin 23.08.05 and Dolphin 24.02.0.
<a href="https://bugs.kde.org/show_bug.cgi?id=480098">480098</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=441070">441070</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=477897">477897</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=479596">479596</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=478724">478724</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=476670">476670</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=473999">473999</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=478117">478117</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=477607">477607</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=477288">477288</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=476742">476742</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=172967">172967</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=452587">452587</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=475547">475547</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=422998">422998</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=423884">423884</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=440366">440366</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=474951">474951</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=474999">474999</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=393152">393152</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=473775">473775</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=473377">473377</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=473513">473513</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=420870">420870</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=472912">472912</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=468445">468445</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=469354">469354</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=462778">462778</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=417930">417930</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=464594">464594</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=471999">471999</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=47197">47197</a></p>
<h1 id="new-code-new-bugs">New code, new bugs</h1>
<p>Unfortunately whenever you ship new code, you risk introducing new bugs, and even months of testing didn't iron them all.</p>
<p>One I think you could have spotted earlier, was that on X11, <a href="https://bugs.kde.org/show_bug.cgi?id=481952">panels are hidden after minimizing Dolphin window</a>.
Thanks to Nicolas fella, this was swiftly fixed and will reach users in next Dolphin release.
In the meantime, this is a good time to learn about the shortcuts for panels:</p>
<ul>
<li><code>F9</code>: toggle places panel</li>
<li><code>F11</code>: toggle information panel</li>
</ul>
<p>We now have a need process to build packages for Windows and Mac OS, Dolphin has not made the transition though.
I am working on it to bring latest dolphin to its Window and MacOS users.</p>
Dolphin at Akademy 20232023-07-22T00:00:00+00:002023-07-22T00:00:00+00:00
Unknown
https://meven.github.io/dolphin-at-akademy-2023/<p>I am returning from akademy and I had a great time, meeting new people or people I had already worked with online.</p>
<p>In particular I was very happy to meet Felix, my fellow dolphin co-maintainer.
We get along very well together, this will only make our dolphin work more pleasant and efficient.</p>
<h1 id="dolphin">Dolphin</h1>
<p>We had a <a href="https://en.wikipedia.org/wiki/Internet_Engineering_Task_Force#Organization">Bof</a> about dolphin on Tuesday.</p>
<p>You can have a look at the <a href="https://invent.kde.org/system/dolphin/-/issues/45#note_720629">notes</a> taken by Felix.
Unfortunately we didn't manage to have sufficient audio quality so that people online could properly participate.</p>
<p>Still with the amazing people present, we made some plans to improve dolphin search feature, the possibility of publishing dolphin on Windows Store and more.</p>
<p>I shared my interest in fixing <a href="https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Cdupecount%2Cvotes%2Ckeywords&list_id=2409564&product=dolphin&query_format=advanced&resolution=---&resolution=FIXED&resolution=LATER&resolution=REMIND&resolution=DUPLICATE&resolution=WAITINGFORINFO&resolution=BACKTRACE&resolution=UNMAINTAINED">the most popular bugs, by votes or duplicate count</a>.
Those are usually hard but very rewarding to fix.</p>
<p>A perfect area for interested people willing to contribute to dolphin, would be to help on our <a href="https://invent.kde.org/system/dolphin/-/issues/36">setting redesign plans</a>.
If you are interested, you can pick some part of the changes and try to implement them as I did in <a href="https://invent.kde.org/system/dolphin/-/merge_requests/553">this MR</a> and join the <a href="https://go.kde.org/matrix/#/#kde-fm:matrix.org">KDE file management channel</a> to get some help and advice.</p>
<p>With the current KDE goals being Accessibility, Sustainability and Automation, it has made apparent that the <a href="https://invent.kde.org/sdk/selenium-webdriver-at-spi/">selenium-appium-at-spy</a> testing tool can greatly help dolphin in those three regards.
It allows to automate UI tests, by using the accessibility API present in applications (in Qt for instance). So for it to work we need dolphin to have good accessibility support. In turn this allows to automate test scenarios to measure energy consumption and ensure dolphin of its energy-efficiency.
The good news is that it is already in the pipe thanks to the work of <a href="https://notmart.org/blog/">Marco</a>.</p>
<p>Finally, Dolphin 23.08 is close to release, it will feature some bug fix and some small features:</p>
<ul>
<li>when hiding hidden files dolphin will also hide files files whose name ends with "~", ".bak" or "%". Technically files having the "application/x-trash" mimetype. This is configurable by editing mime type either in file association kcm or using the utility command <code>keditfiletype application/x-trash</code>.</li>
<li>Double clicking on a tab will dupicate the tab.</li>
</ul>
<h1 id="akademy">Akademy</h1>
<p>This my fourth akademy, and my second in-person, it has been great.</p>
<p>Conferences were very nice, I learned many new things. The goals are making nice progress and getting traction.</p>
<p>I attended the qml-c++-integration training by Kevin Krammer of <a href="http://kdab.com/">KDAB</a>.
It was an occasion to complete my Qml+C++ knowlegde, now I have a better understanding of <a href="https://doc.qt.io/qt-6/qtqml-syntax-objectattributes.html#attached-properties-and-attached-signal-handlers">attached properties</a>. Kevin told us about use cases for qml without QtQuick, as a scripting language or a to build QWidget interfaces using <a href="https://www.kdab.com/declarative-widgets/">Declarative Widgets</a> for instance.
I was reminded about KDAB's <a href="https://github.com/KDAB/KDToolBox/">KDToolbox</a> a very nice collection of C++ utilities and learned about the nifty NotifyGuard that can help reduce boiler code for instance in KCM when writing c++ objects having many properties. Since it is MIT licensed, it is very easy to reuse.</p>
<p>Now it is time to finish my own planned work for Plasma 6 because it is coming !</p>
<p>Many thanks to every one who made the event possible, the local team, the akademy team, the sponsors and the donators to KDE e.v .</p>
Plasma 6 Sprint 20232023-05-12T00:00:00+00:002023-05-12T00:00:00+00:00
Unknown
https://meven.github.io/plasma6-sprint-2023/<h1 id="plasma-6-sprint">Plasma 6 Sprint</h1>
<p>I was at the Plasma 6 sprint. It took place in Augsburg at <a href="https://www.tuxedocomputers.com/">Tuxedo</a> office, a well-known german company selling computers that offers preinstalled with Gnu/Linux and KDE Plasma. They also are a KDE e.v (i.e foundation) sponsor. I will certainly consider their offers when buying hardware.
Their office were great and very nice people welcomed us.</p>
<p>It was great to get to work in person again with KDE community members, since I wasn't in person at last Akademy in Barcelona.</p>
<p>I am very happy to have met the new contributors that I hadn't met before.</p>
<p>Meetings and discussions were incredibly valuable and galvanizing.</p>
<h2 id="plasma-6">Plasma 6</h2>
<p>After some detour building plasma 6, I am now using Plasma 6 Wayland.
It turns out only Qt 6.5.1 and 6.5.0 are compatible with Plasma 6, not even dev branch (6.6) are compatible with current plasma dev.</p>
<p>The stability is decent but it made a few issues glaring that we can take care of head-on, both visualy and with our development environment.
Qt6 is now 5 years and we never really used it, so a few paper cuts were to-be expected.</p>
<p>Still all in all, everything runs well enough.
Don't do that at home ;)</p>
<p>This relative stability won't last very long as important refactoring is taking place and has not yet reached our main branches.</p>
<p>It seems Qt dev branch currently (to be 6.6) should be preferable to use, because it is expected to be the version Plasma 6.0 will use and it can be contributed to contrary to Qt 6.5 that is in maintenance mode.
An important area for this is Wayland support.</p>
<p>Plasma 6 uses now <a href="https://en.cppreference.com/w/cpp/20">C++20</a> which solves a few shortcomings.
I am especially happy about <a href="https://en.cppreference.com/w/cpp/header/ranges">ranges</a> that is going to make let boiler-plate-y to loop over collections, and c++ modules.</p>
<h2 id="dolphin-kf6">dolphin + kf6</h2>
<p>As dolphin co-maintainer and a KIO framework contributor, I felt the need to have a Dolphin kf6 version to be able to test our work, this is now done.
I made a <a href="https://invent.kde.org/system/dolphin/-/tree/kf6">kf6 branch</a> and it can be installed using <a href="https://nicolasfella.de/posts/building-plasma-against-qt6/">kdesrc-build6</a> dolphin.
I took care first of <a href="https://invent.kde.org/libraries/baloo-widgets/-/merge_requests/52">baloo-widgets</a> and then of <a href="https://invent.kde.org/sdk/dolphin-plugins/-/merge_requests/39">dolphin-plugins</a> along the way.</p>
<p><a href="https://invent.kde.org/network/kio-extras/">kio-extras</a>, the library that provides <code>recentlyused:/</code> protocol and thumbnail generators should soon have a kf6 branck too.</p>
<p>This work took me longer that I would have expected, having to learn the many ways CI tools and cmake can trick you.
Fortunately I had great people around to help me getting through it and iterate faster.
Thank you Nicolas and even more Alexander.</p>
<h2 id="plasma-contributions">Plasma contributions</h2>
<p>Apart from that, I did some work improving plasma dependency declaration so that developers wouldn't miss important runtime dependencies and some warning fix.</p>
<p>I started my self-assigned task for Plasma 6, <a href="https://phabricator.kde.org/T12622">the wallpaper Kcm in systemsettings</a>.
Discussing with <a href="https://notmart.org/blog/author/mart/">Marco</a> gave me the direction to follow it through.</p>
<p>I finished the work initiated by Jonathan Haney to fix <a href="https://bugs.kde.org/show_bug.cgi?id=348529">bug 348529</a>, that was his first contribution !</p>
<p>In plasma 6 when your screen is locked by default it will turn off the screen after 60 seconds by default.</p>
<p>A question I am asking myself is do we want backport to plasma 5.27 ?</p>
<p>Knowing that if we did, we wouldn't have the UI to change the 60 seconds threshold or turn off the feature, we'd have to edit by hand a tricky config file.
It is a high priority feature request that can be considered a bug as without this you might waste energy consumption.
And with Plasma 6 very far off this seems to me reasonable. </p>
<p>Do you think that would be acceptable ?</p>
<p>I should be at <a href="https://akademy.kde.org/2023/">Akademy 2023</a>.</p>
Wayland Goal Virtual Sprint 20212021-01-10T00:00:00+00:002021-01-10T00:00:00+00:00
Unknown
https://meven.github.io/wayland-goal-virtual-sprint-2021/<p>Happy new year everyone !</p>
<p>We will be having a Virtual Sprint for the <a href="https://community.kde.org/Goals/Wayland">Wayland Goal</a> between Saturday 23rd and Sunday 24th January 2021.</p>
<p>This is open to contributors, you can have a look at the current program and more details at <a href="https://community.kde.org/Sprints/Wayland/2020Virtual">Wayland Virtual Sprint</a>.</p>
Wayland Status for Plasma 5.202020-11-15T00:00:00+00:002020-11-15T00:00:00+00:00
Unknown
https://meven.github.io/wayland-status-plasma-5-20/<p>The KDE community has made some great progress on Plasma Wayland support during this release cycle.
Some people on the Internet have qualified Plasma Wayland session as stable, but I wouldn't go that far yet.
I would qualify Plasma sessions as beta preview, we still have a long way to go.
In some configurations and workflow It might suit you but certainly not all users for now.</p>
<p>I am going to highlight a bit this progress below but first I'd like to explain the technical challenges the KDE Wayland community Goal faces.</p>
<h1 id="why-wayland-migration-takes-time">Why Wayland migration takes time</h1>
<p>Wayland related issues have different origins.
Here are the main ones :</p>
<ul>
<li>
<p>Missing wayland protocol or missing protocol implementation.<br />
Wayland defines a way to exchange data between an application and the compositor (in Plasma that's KWin). Those exchanges are formalized with protocols. Wayland provides quite a few <a href="https://github.com/wayland-project/wayland-protocols">standard ones</a>. For instance we have a protocol for when a GUI Application starts, it will ask the compositor some memory to draw its GUI in, and another for when the compositor gives the application the keyboard focus.
And for each particular window interaction between applications and the compositor we need such a protocol.<br />
Standard protocols are not enough to build a Plasma session upon, it is generic and is meant to be usable by desktop and embed all the same.
So KWin and Plasma have <a href="https://invent.kde.org/libraries/plasma-wayland-protocols">some specific protocols</a>. Those, for instance, allow Plasma taskbar to manage other windows.<br />
Despite Wayland is not anymore a new technology, its protocols mature slowly. Their definition takes time, they are validated through a review process, and are updated as needed. After that step, developers must implement their support in compositors, and sometimes also in applications or frameworks.<br />
If you are interested on this subject, I can recommend again Drew DeVault's <a href="https://wayland-book.com/">the wayland book</a>.<br />
Those are often the cause of missing features whether we a protocol does not exist yet or we lack an implementation. The task manager window thumbnails is in this category.</p>
</li>
<li>
<p>Fill the blank issues: the X.Org Display Server encompasses a lot of things, from keyboard input to screensavers, to screen management. And those features need to be reimplemented somehow whether it is through Wayland protocols or new completely new solutions. We have made good progress on this but a few missing cases remain.</p>
</li>
<li>
<p>Immaturity issues: Wayland implementations and related APIs are relatively young especially when you compare to X.Org Server. And on the desktop those implementation have not been used much, preventing issues to be discovered and fixed. Furthermore clients and compositors especially have a lot more responsibility compared to what they had with X, meaning a lot of new code is written, and new code means less stability.
With <a href="https://www.phoronix.com/scan.php?page=news_item&px=Ajax-On-The-X-Server">X.org display server now abandonware</a>, this should help motivate more users and developers to test and stabilise things.
Those cause crashes, misbehaviour or feature missing.</p>
</li>
<li>
<p>Compatibility issues: Wayland is very different to what we had in X. And we need to adapt to this new paradigm in a lot of places. For instance in plasma, with Xorg the taskbar could simply access Xorg API and manage windows directly. Now it must ask the Compositor to use its Window management API and this is a different API and KWin is the one defining and implementing it. One way to mitigate those issues, is to have a proxy. we try to maintain compatibility with X applications through XWayland notably.</p>
</li>
</ul>
<p>And some issues can be caused by several of those subjective origins.</p>
<h1 id="major-plasma-5-20-wayland-improvements">Major Plasma 5.20 Wayland improvements</h1>
<ul>
<li>
<p>The Task Manager has now window thumbnails Wayland. (Aleix Pol Gonzalez) <a href="https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/36/">merge request</a></p>
</li>
<li>
<p>Screen recording and screencasting now works on Wayland for compatible applications (e.g. OBS Studio and more to come) (Aleix Pol Gonzalez)
<a href="https://invent.kde.org/libraries/plasma-wayland-protocols/-/merge_requests/1">merge request</a>
<br /> That's a fill the blank issue and missing protocol issue : Xorg allows any program to record the screen with its own API. We needed a new protocol to expose a screencasting feature.</p>
</li>
<li>
<p>Klipper now uses the Wayland clipboard and works as you would expect in a Wayland session (David Edmundson)
<a href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1">merge request</a></p>
</li>
<li>
<p>Implemented the Wayland input-method-unstable-v1 protocol, which opens the door for proper virtual keyboard support on Plasma Mobile, among other benefits! (Aleix Pol Gonzalez)
<a href="https://invent.kde.org/plasma/kwin/-/merge_requests/106">merge request</a></p>
</li>
</ul>
<h1 id="bug-fixes">Bug fixes</h1>
<h2 id="stability-improvement">Stability improvement</h2>
<ul>
<li>
<p>In a Plasma Wayland session, XWayland no longer brings down the whole session when it crashes; it just restarts normally (Vlad Zahorodniy, Plasma 5.20) <a href="https://invent.kde.org/plasma/kwin/-/merge_requests/125">merge request</a></p>
</li>
<li>
<p>Clearing the clipboard history on Wayland no longer crashes Plasma (David Edmundson, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=396308">bug</a></p>
</li>
<li>
<p>On Wayland, clicking on a Task Manager entry while that entry’s tooltip is visible no longer crashes Plasma (Vlad Zahorodnii, Plasma 5.20)
<a href="hhttps://bugs.kde.org/show_bug.cgi?id=425869">bug</a></p>
</li>
<li>
<p>KWin no longer sometimes crashes when exiting or re-launching (Vlad Zahorodnii, Plasma 5.20) <a href="https://invent.kde.org/plasma/kwin/-/merge_requests/328">merge request</a></p>
</li>
</ul>
<h2 id="feature-parity">Feature Parity</h2>
<ul>
<li>
<p>On Wayland, context menus on the desktop and throughout Plasma now close when they’re supposed to (Vlad Zahorodnii, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=379635">bug</a></p>
</li>
<li>
<p>On Wayland, Task Manager tooltip window thumbnails are no longer overlapped by the app’s icon (Nate Graham, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=427076">bug</a></p>
</li>
<li>
<p>On Wayland, pressing Ctrl+Alt+Esc twice no longer results in the “Click a window to kill it” message being re-positioned into the top-left corner of the screen (Vlad Zahorodnii, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=400675">bug</a></p>
</li>
<li>
<p>KRunner is now more responsive to typed text on Wayland (Alexander Lohnau, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=426746">bug</a></p>
</li>
<li>
<p>Fixed the initialization of dmabuf textures in KWin on Wayland, which in practical terms should ensure that videos played Firefox no longer sometimes display garbage instead of the video (Vlad Zahorodnii, Plasma 5.20)
<a href="https://invent.kde.org/plasma/kwin/-/merge_requests/323">merge request</a></p>
</li>
<li>
<p>Clicking on a Task Manager thumbnail now activates that window, as you would expect (Marco Martin, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=426925">bug</a></p>
</li>
<li>
<p>the window stacking order is now always correct (Vlad Zahorodnii, Plasma 5.20)
<a href="https://invent.kde.org/plasma/kwin/-/merge_requests/288">merge request</a></p>
</li>
<li>
<p>context menus now always have shadows, as expected (Vlad Zahorodnii, Plasma 5.20)
<a href="https://invent.kde.org/plasma/kwayland-integration/-/merge_requests/3">merge request</a></p>
</li>
<li>
<p>Improved the graphics performance on Wayland (Gang Wu, Plasma 5.20) by allowing KWin not to draw windows placed behind opaque others.
<a href="https://invent.kde.org/plasma/kwin/-/merge_requests/228">merge request</a></p>
</li>
<li>
<p>It’s now possible to drag windows on Wayland from their empty areas, just like on X11 (Vlad Zahorodnii, Plasma 5.20)
<a href="https://invent.kde.org/plasma/breeze/-/merge_requests/8">merge request</a></p>
</li>
<li>
<p>Plasma no longer sometimes crashes when you hover the cursor over an auto-hide Panel (Andreas Haratzis, Plasma 5.20)
<a href="https://invent.kde.org/plasma/kwin/-/merge_requests/83">merge request</a></p>
</li>
<li>
<p>Fixed a case where KWin could crash when logging out of a Wayland session (Andrey Butirsky, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=420077">bug</a></p>
</li>
<li>
<p>Edge swipe gestures and showing a hidden panel by tapping the screen edge now work on Wayland (Xaver Hugl, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=421212">bug</a>
<a href="https://bugs.kde.org/show_bug.cgi?id=423842">bug</a></p>
</li>
<li>
<p>The System Settings Accessibility page is now available (Michael Weghorn, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=414546">bug</a></p>
</li>
<li>
<p>Fixed the “Windows can cover” panel setting on Wayland (Xaver Hugl, Plasma 5.20)
<a href="https://invent.kde.org/plasma/kwayland-server/-/merge_requests/60">merge request</a></p>
</li>
<li>
<p>The last-used keyboard layout is now remembered on Wayland (Andrey Butirsky, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=412101">bug</a></p>
</li>
<li>
<p>Fixed a crash on Wayland when waking up the computer while multiple screens are attached (Andreas Haratzis, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=422460">bug</a></p>
</li>
<li>
<p>you can now enter full screen mode in MPV by double-clicking on the video (Benjamin Port, Plasma 5.20.0)
<a href="https://bugs.kde.org/show_bug.cgi?id=421232">bug</a></p>
</li>
<li>
<p>Previews for cursor themes now correctly display real-time previews as you hover your cursor over them on Wayland (David Redondo, Plasma 5.20)
<a href="https://bugs.kde.org/show_bug.cgi?id=424048">bug</a></p>
</li>
<li>
<p>Spectacle now lets you take a screenshot on Wayland without needing to click first to confirm it (Méven Car, Spectacle 20.12)
<a href="https://invent.kde.org/graphics/spectacle/-/merge_requests/13">merge request</a></p>
</li>
</ul>
<p>Special shoutout to our newest ambitious and prolific KWin contributor Xaver Hugl.</p>
<p>Thanks to <a href="https://pointieststick.com/">Nate blog</a> that makes putting this together so much easier.</p>
<p>We are on <a href="https://t.me/waylandkdegoal">telegram</a> and IRC <em>#kde-wayland-goal</em> on freenode.
More on the community wiki <a href="https://community.kde.org/Goals/Wayland">Wayland Goal</a>.</p>
Wayland Status update for Plasma 5.192020-06-02T00:00:00+00:002020-06-02T00:00:00+00:00
Unknown
https://meven.github.io/wayland-status-update-plasma-5-19/<p>We have been busy recently on the Wayland Goal.</p>
<p>A few of those points were already highlight on <a href="https://pointieststick.com/">Nate's excellent blog</a>.
But some were missing, and I wanted to highlight those dedicated to Wayland with more context.</p>
<p>The changes I mention here will be present in Plasma 5.19, but they are not exhaustive.</p>
<h4 id="kwin-and-architecture-changes">KWin and architecture changes</h4>
<p>Thanks to Aleix Pol, KWin Wayland in Plasma 5.19 now has <a href="https://github.com/wayland-project/wayland-protocols/blob/master/unstable/tablet/tablet-unstable-v2.xml">Wayland tablet protocol</a> support meaning we have tablet touch and pen pressure. <a href="https://phabricator.kde.org/D26859">Kwin patch</a> and <a href="https://phabricator.kde.org/D26858">KWayland patch</a></p>
<p>Vlad improved <a href="https://bugs.kde.org/show_bug.cgi?id=387313">subsurface clipping</a>, it means the compositor can do less work and better figure out what to paint and not to paint.
It is most visible for applications like Firefox that uses a lot of Wayland surfaces. <a href="https://phabricator.kde.org/D29131">D29131</a> <a href="https://invent.kde.org/plasma/kwin/-/merge_requests/5">kwin!5</a></p>
<p>With <a href="https://phabricator.kde.org/D29250">D29250</a> the resizing of XWayland windows has become less resource demanding and matches X experience.
This still needs next version of XWayland 1.21 to work though.</p>
<p>And KWin has had more changes under the surface.</p>
<p>The <a href="https://invent.kde.org/frameworks/kwayland">KWayland library</a> has been split library into two libraries.
One KWayland contains the regular @@KWayland::Client@@ stuff but the new <a href="https://invent.kde.org/plasma/kwayland-server">kwayland-server</a> contains now the @@KWayland::Server@@ part.</p>
<p>Because @@KWayland@@ is part of <a href="https://kde.org/products/frameworks/">KDE frameworks</a> it is released monthly, independently of Plasma releases, and we have to care about not breaking the API when making changes.
But on the other hand @@KWayland::Server@@ is only ever used by KWin, so it added some churn to the development of @@KWayland::Server@@ which was not needed.
Now @@KWayland-server@@ will have a Plasma release cycle same as KWin, and will simplify our workflow evolving our Wayland compositor implementation.
New depot is at <a href="https://invent.kde.org/plasma/kwayland-server">https://invent.kde.org/plasma/kwayland-server</a>.</p>
<h4 id="plasma">Plasma</h4>
<p>The global application menu has is now working in Wayland thanks to Carson Black patch serie: <a href="https://phabricator.kde.org/D27464">D27464</a>, <a href="https://phabricator.kde.org/D28168">D28168</a>, <a href="https://phabricator.kde.org/D28150">D28150</a>, <a href="https://phabricator.kde.org/D28112">D28112</a>, <a href="https://phabricator.kde.org/D27959">D27959</a>,
<a href="https://phabricator.kde.org/D27818">D27818</a> and <a href="https://phabricator.kde.org/D28146">D28146</a>, <a href="https://bugs.kde.org/show_bug.cgi?id=385880">bug</a>.
This is typical Wayland work : make new APIs because old ones were X specific or could not work with Wayland, add some wiring code and then use the new one in programs using.
This most often end up in better code architecture, better decoupled. </p>
<p>The task manager can now bring forward multiple windows of the same program and remembering in which order they are stacked together
<a href="https://bugs.kde.org/show_bug.cgi?id=370258">bug</a> <a href="https://phabricator.kde.org/D29054">patch 1</a> <a href="https://phabricator.kde.org/D29054">patch 2</a> <a href="https://phabricator.kde.org/D29055">patch 3</a> and <a href="https://phabricator.kde.org/D29056">patch 4</a>.</p>
<p>KRunner is <a href="https://phabricator.kde.org/D27458">better positioned</a>.</p>
<p>Kscreen Osd are now usable, allowing you to to setup a newly connected screen and identify your plugged-in screen <a href="https://bugs.kde.org/show_bug.cgi?id=385672">bug</a> <a href="https://phabricator.kde.org/D28817">D28817</a><a href="https://phabricator.kde.org/D28818">D28818</a> <a href="https://phabricator.kde.org/D28916">D28916</a></p>
<h4 id="bugfixes">Bugfixes</h4>
<p>Quite a few crash KWin were resolved :<a href="https://phabricator.kde.org/D28668">D28668</a> <a href="https://phabricator.kde.org/D28858">D28858</a> <a href="https://phabricator.kde.org/D28889">D28889</a> <a href="https://phabricator.kde.org/D27536">D27536</a> <a href="https://invent.kde.org/plasma/kwin/-/merge_requests/9">kwin!9</a> <a href="https://invent.kde.org/plasma/kwin/-/merge_requests/8">kwin!8</a></p>
<p>And drkonqi got a couple fix : <a href="https://phabricator.kde.org/D28692">D28692</a> <a href="https://phabricator.kde.org/D28832">D28832</a>.</p>
<h3 id="plasma-wayland-specific-features">Plasma Wayland specific features</h3>
<p><a href="/captures/scroll-speed.png" title=""><img src="/captures/scroll-speed.png" /></a></p>
<p>Thanks to the way Wayland is architectured, we can add features than are impossible with X server.
For instance in plasma 5.19 in Wayland you will be able to setup a scrolling speed for mice and touchpads. <a href="https://phabricator.kde.org/D28331">D28331</a> <a href="https://phabricator.kde.org/D28310">D28310</a></p>
<p><strong>But our journey is far from over.</strong></p>
<p><a href="https://community.kde.org/Goals/Wayland">Our goal</a> is in part to make Plasma run in Wayland by default allowing pixel perfection, real security in the display server, better performance and overall better architecture.</p>
<p>The road is still long to reach feature parity with the venerable X based sessions.
So we need as much people to help whether it is for testing, hacking code or reporting bugs.</p>
<p>There is a Plasma virtual Sprint starting right now spawning two weeks, where a lot of people involved in the Goal will participate.
I invite you to join-in : <a href="https://community.kde.org/Sprints/Plasma/2020Virtual">Plasma virtual sprint 2020</a>.</p>
<p>Also Drew DeVault released a great book about Wayland you can read at <a href="https://wayland-book.com/">https://wayland-book.com/</a> to better understand Wayland inner-workings.</p>
Wayland goal - Call for Action2019-10-10T00:00:00+00:002019-10-10T00:00:00+00:00
Unknown
https://meven.github.io/wayland-goal/<p>KDE community has <a href="https://phabricator.kde.org/T11081">elected</a> to finalize the transition to Wayland and embrace the future of desktop.</p>
<p>This entails making Plasma running smoothly under Wayland, but also making sure KDE Apps can run without bugs and missing features.
It also means that we want to help the wider Wayland community to fill missing features and fix bugs.</p>
<p>I call App users and developers to try out their favorite app in Wayland and report the issue that may arise. and add wayland as keyword to the bug to keep track on those bugs.</p>
<p>And you don't need a wayland session to test an app, you can do it in wayland within a X session !</p>
<blockquote>
<p>kwin_wayland # start an embed kwind_wayland</p>
<h1 id="in-another-terminal">In another terminal</h1>
<p>gwenview --platform wayland # starts gwenview in the wayland session</p>
</blockquote>
<p><a href="/captures/gwenview_in_wayland_in_X.png" title=""><img src="/captures/gwenview_in_wayland_in_X.png" /></a></p>
<p>We have a page listing <a href="https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes">how to fix a few pitfalls</a> that applications may have in Wayland.</p>
<p>You can also test Plasma Wayland session of course and report the same way issues that may arise.</p>
<p>You can reach us at #kde-devel or #plasma in <a href="https://webchat.kde.org">webchat.kde.org</a> or freenode.</p>
<p>More information on the <a href="https://community.kde.org/Goals/Wayland">Wayland Goal page</a></p>
Recently Used ioslave2019-10-05T00:00:00+00:002019-10-05T00:00:00+00:00
Unknown
https://meven.github.io/recently-used-ioslave/<p>With <a href="https://phabricator.kde.org/D7446">D7446</a> landing, the new ioslave recentlyused:/ ioslave will become user visible with KDE Frameworks 5.63.
This differential revision adds two entries "Recent Files" and "Recent Locations" to the place panel (in dolphin and open/save dialogs)</p>
<img src="/captures/recently-used.png" alt="Recent screenshot" />
<p>It leverages the ioslave recentlyused:/ introduced in <a href="https://phabricator.kde.org/D22144">D22144</a>, allowing to access KActivity data.
KActivity is the service that provides "recent" elements to kickoff menu and is activity aware as the name suggests.</p>
<p>So now "Recent Files", "Recent Locations" in the places panel share the same underlining data with kickoff.</p>
<p>But recentlyused:/ can be used to create your virtual folders for recent files or folders. For instance</p>
<ul>
<li>
<p>{{recentlyused:/files?type=video/<em>,audio/</em>}}
To filter recently accessed video and audio files.</p>
</li>
<li>
<p>{{recentlyused:/files?path=/home/meven/kde/src/*&type=text/plain}}
To filter recently accessed text files in any subdirectory of /home/meven/kde/src/</p>
</li>
<li>
<p>{{recentlyused:/locations?path=/home/meven/kde/src/*}}
To filter recently accessed folders in any subdirectory of /home/meven/kde/src/</p>
</li>
</ul>
<p>You can read the <a href="https://cgit.kde.org/kio-extras.git/tree/recentlyused/recentlyused.h#n28">documentation</a> for more details.</p>
<p>When working on this new feature, It was a great time to improve KActivity.
So I allowed KActivity to ingest data from gtk applications in <a href="https://phabricator.kde.org/D23112">differential D23112</a>.</p>
<p>I want to thank Ivan Lukić for building KActivity service and library and reviewing most of this work.
And I want to thank all the other reviewers involved.</p>
KDE First Contributions and first sprint2019-07-26T00:00:00+00:002019-07-26T00:00:00+00:00
Unknown
https://meven.github.io/first-contributions-and-first-sprint/<p>I have been a KDE User for more than 10 years.
I really love KDE community, Plasma and its apps.
I have been reading eagerly <a href="https://pointieststick.com/">Nate Graham's blog</a>
He gave me the inspiration to start contributing.</p>
<p>It has been a opportunity to learn some C++, Qt and some Qml.</p>
<p>So far I am very happy to have contributed a few features and bug fixes :</p>
<ul>
<li><a href="https://phabricator.kde.org/D20096">Provide file date creation in KDE Apps</a></li>
<li>Improvements to the KDE Open/Save dialog : <a href="https://phabricator.kde.org/D21459">keeping view settings when changing views</a> <a href="https://phabricator.kde.org/D21315">icons to show view mode</a> <a href="https://phabricator.kde.org/D20838">allow to drop a file or directory on the main file area</a></li>
<li>In Dolphin some improvements to its information panel, in particular an <a href="https://phabricator.kde.org/D19782">auto play feature</a> and some <a href="https://phabricator.kde.org/D19936">smaller</a> <a href="https://phabricator.kde.org/D19843">on</a><a href="https://phabricator.kde.org/D19832">e</a><a href="https://phabricator.kde.org/D19844">s</a></li>
<li><a href="https://phabricator.kde.org/D15739">Do not show the root folder by defaults in places</a></li>
</ul>
<p>And a few less noticeable as well.</p>
<p>And I have quite a lot more in the back of my head.
I am close to completing adding <a href="https://phabricator.kde.org/D22183">click-to-play to video and audio previews</a> in dolphin information panel.</p>
<h2 id="usablity-productivity-sprint-in-valencia">Usablity & Productivity Sprint in Valencia</h2>
<p>I participated last month to the Usablity & Productivity Sprint in Valencia.
I have been very happy to meet some great KDE community members from three continents and 9 countries.</p>
<p>There I improved the kinfocenter consistency thanks to the help of Filip and Marco and added a <a href="https://phabricator.kde.org/D20533">link from the system battery plasmoid to the corresponding kinfocenter kcm</a>.
I started to work on a <a href="https://phabricator.kde.org/D22144">new recently used document ioslave</a> that will match the same feature as in kicker/kickoff.
Adding some consistency and activity awareness to dolphin and KDE Open/Save dialogs.
I learned about Kwin debugging with David Edmundson.
And I had great discussions with the people there.</p>
<h2 id="i-am-going-to-akademy-2019">I am going to Akademy 2019 !</h2>
<p>And since I am a big fan of <a href="https://www.rust-lang.org/">rust-lang</a>, this will be a nice opportunity to debate on the matter and on the future of KDE.
<a href="https://akademy.kde.org/2019">((https://cdn.kde.org/akademy/2019/imgoing/Akademy2019BannerDuomo-wee.png))</a></p>