The End is here!

The long journey of GSoC (which got streched into 16 weeks) is nearing to an end. And in this blog, I will share a few of the things I have done, and some of the things I have left to do. Let’s start with the main works.

Snap KCM! It’s here!

I have finally succeeded to create a KCM for snaps. This is written using C++, Qt (Qml), Kirigami, Snapd-Glib Api. The flow is something like this

Flowchart of the Snap KCM

SnapBackend → Collects all snaps → Collects all the connections → sort those, map all connections with their respective snaps → saves those to a custom class(KCMSnap) → Lists them via QML

The architecture of the KCMSnap class is like these

KCMSnap class architecture

QObject
      ↓
KCMSnap

Properties:

- m_snap (QSnapdSnap)
- m_plugs (QList<QSnapdPlug>)
- m_slots (QList<QSnapdSlot>)

Methods:

- snap => QSnapdSnap
- plugs => QList<QSnapdPlug>
- slots => QList<QSnapdSlot>
- icon => QVariant

QProperties:

- QSnapdSnap *snap READ snap CONSTANT
- QList<QSnapdPlug *> plugs READ plugs CONSTANT
- QList<QSnapdSlot *> slots READ slots CONSTANT
- QVariant icon READ icon CONSTANT

And here is an image of it!!!

Doesn’t this look great? 😉

And to top this off, I made a snap for this. One can find more about it in the snap forum post .

Snap Maintenances

Neochat Snap

Upgraded the snap to the latest release. Needed to build some parts from source.

https://invent.kde.org/network/neochat/-/merge_requests/1923

Snapcraft Desktop Integration

Working into improving the launch speed for KDE Snaps.

https://invent.kde.org/soumyadghosh/snapcraft-desktop-integration

Discover

Fetching Icons of Snaps

I reused the logic of fetching icons for snaps, which I used in Snap KCM. The logic is something like this

  1. QSnapdSnap → icon
  2. QSnapdSnap → media → mediaType == icon
  3. QSnapdClient → getIcon → icon

https://invent.kde.org/plasma/discover/-/merge_requests/936

And is this it? End of my journey with KDE? Well, no. It just started. And I have a long way to go. With Snaps, With Carl Schwan’s KDE Apps Initiative. I want to make some small, handy utilites for KDE.

Thank you everyone, for helping me out!!

A big thanks to the KDE Development Matrix channel members for all the help. I am really grateful to you!