Hi Farkas,
Integration is never a problem. QML is also written in C++. In fact, if
something is not possible to do with QML we generally just add it. On the
other hand it's harder to get C++ components to integrate visually without
QML/QtQuick as we use the components transparently.
Most of what you see in Plasma is QML, so if you aspire to integrate with
it, I also would recommend using the same technology. I'm not entirely sure
about what you mean with the different cases you see could be contentious
but I'm sure we'd find a way to integrate them.
You can for example look at the application dashboard plasmoid
(kickerdash), I'm sure it will help you understand how it works and
probably open the possibility to sharing code.
https://invent.kde.org/plasma/plasma-desktop/-/tree/master/applets/kicker/package/contents/ui
Aleix
On Tue, Sep 21, 2021 at 8:46 PM Farkas Máté wrote:
> Hi Nate,
>
> Thank you for your interest. Following our brief exchange on Reddit where
> I initially announced the project, I have indeed considered rewriting
> things in QML. There are three reasons I stuck with C++ however, but I
> might have been naîve. First, in the long run I would like to allow the
> user to add plasmoids to the dashboard, eliminating the overall need for
> classical menus (as they are the only way to access the power buttons).
> With other words, I think it might be an interesting feature if the user
> could create a menu similar to those on iOS and Android devices containing
> both icons and widgets.
>
> Second, I have heard (from an unreliable source) that touchpad gestures
> are coming to Plasma. From the user's perspective, I believe it would be a
> nice touch to Rocket, if it had an appearance/disappearance animation
> synced to a pre-defined gesture (similar to what Launchpad in MacOS has). I
> am not an expert, but I thought the implementation of these features above
> would be easier in C++. Third, I also played with the idea of using KRunner
> as a backend, which is purely written in C++ as far as I know.
>
> Lastly (this does not really count as a reason), I wanted to accomplish
> something usable in a reasonable timeframe in order to play around with the
> idea a bit, and to see whether there would be any interest at all. Since
> QML still looks weird and annoyingly nonlinear to me (I initially took a
> look at Kickoff's code, and I could barely follow what was going on), I
> stayed with C++, which I am more familiar with; apart from that, I had the
> impression, that some functions in the Plasma libraries are C++-exclusive.
>
> Would you still propose going for QML given in this situation?
>
> Regards,
> Mate
>
> Le mar. 21 sept. 2021 à 18:01, Nate Graham a écrit :
>
>> Hello Farkas,
>>
>> Have you considered making this a Plasma widget using QML? Plasma has an
>> existing infrastructure for installing, deleting, adding, and removing
>> widgets, and allowing users to see alternatives. Since this is basically
>> an alternative launcher, it would make sense for it to appear in the
>> "Alternatives" popup that shows existing installed alternative widgets.
>> We already have a full screen launcher widget ("Application Dastboard"),
>> so it's conceptually possible to do something like what you've done in
>> QML. However that widget is fairly old and un-loved, and would be a good
>> candidate for being overhauled or replaced with your launcher, if it
>> used the common technical infrastructure for widgets.
>>
>> Nate
>>
>>
>> On 9/16/21 16:09, Farkas Máté wrote:
>> > Dear KDE Team,
>> >
>> > hereby I would like to submit a project I have been working on in the
>> > last months with the aim of incubating it within the KDE project, as I
>> > believe it could contribute to the user experience on touch-capable
>> > devices (such as Microsoft Surface-like hybrid laptops, tablet users,
>> > Wacom-tablet users, etc.).
>> >
>> > It is an application launcher aiming for ease of use on the above
>> > mentioned devices. I believe Kicker is a simple and powerful launcher,
>> > but it still uses a classical old-style approach (i.e.
>> > menu-submenu-sub-submenu-navigation) to help the user to find the app
>> > he/she wants to launch. Using a pen or an equivalent device, this
>> > procedure (with misclicks and spending time looking for the right
>> > category, subcategory, etc.) could unnecessarily worsen the user
>> > experience, which motivated me to implement a launcher similar to those
>> > seen on smart devices and other modern desktop operating systems.
>> >
>> > The launcher (which I have named Rocket) places the user's applications
>> > in a grid and allows him/her to categorize them by making folders. It
>> > supports searching, so opening the launcher with a shortcut and typing
>> > the desired program's name into the already focused search field
>> already
>> > yields results to keep a fluent workflow for keyboard-oriented
>> > power-users too. It aims to be customizable and uses the KF5 framework
>> >