Project Submission

Farkas Máté wolfom at gmail.com
Wed Sep 22 17:49:32 BST 2021


Alright then, I'll take your word and start thinking about how to rewrite
it in QML and see how it goes :)

Thanks a lot!


Le mer. 22 sept. 2021 à 18:03, Aleix Pol <aleixpol at kde.org> a écrit :

> 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é <wolfom at gmail.com> 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 <nate at kde.org> 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
>>> > to communicate with the environment.
>>> >
>>> > Having reached an inflection point in the project (where all the
>>> > features I need have already been implemented with some bugs and
>>> > inconsistencies still being present), I am asking you whether you have
>>> > any interest in incorporating it in Plasma. If you have, I would be
>>> more
>>> > than happy to continue the development while focusing on the needs of
>>> > other users and improving on the codebase; if not, I would continue
>>> only
>>> > improving things for myself only. In case of interest, I am also ready
>>> > to comply with the standards required by the community.
>>> >
>>> > Things which need care include improving the customizability options,
>>> > fixing some graphical glitches, improving support for multi-touch
>>> input
>>> > (including double-finger trackpad scrolling which I – due to my
>>> hardware
>>> > restrictions – did not manage to implement as flawlessly as desired)
>>> and
>>> > some "complex usage cases" (i.e. cases where the user does a lot of
>>> > things while dragging and dropping an application icon). I would like
>>> to
>>> > emphasize that none of these things are of the kind which heavily
>>> > restrict everyday use, but they still force the user to make some
>>> > compromises (and thus make Rocket less "market-ready"); it is thus
>>> > beyond the prototype/designing phase. I am also sending you a video
>>> > regarding the current state of development attached. Regarding the
>>> > future of the project, I have been thinking about adding support for
>>> > plasmoids (such that the user is allowed to add widgets to the menu)
>>> and
>>> > to allow the user to use KRunner as a backend search tool.
>>> >
>>> > Some months ago I posted a small video on a more primitive version of
>>> > Rocket in the official KDE Reddit-channel [1
>>> > <
>>> https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/>],
>>>
>>> > which was also well-received (despite not having as many customization
>>> > options and not being able to create folders yet). Also, the KDE store
>>> > provides some less-powerful alternatives with a non-negligible user
>>> base
>>> > [2 <https://store.kde.org/p/1364064/>]. I also believe you have to
>>> know
>>> > that I am not a professional developer, which can be easily seen by
>>> > looking into the code [3 <https://github.com/friciwolf/Rocket>]. With
>>> > some help from fellow developers however, I think I can quickly
>>> improve
>>> > on my programming skills (which I am also happy to do).
>>> >
>>> > If you have any further questions, please do not hesitate to ask me.
>>> You
>>> > can reach me in English, German, French or in Hungarian, if the people
>>> > in charge or the community prefer it differently.
>>> >
>>> > Thank you for your consideration,
>>> > Yours faithfully,
>>> > Mate Farkas
>>> >
>>> > -------------------------------------------------
>>> > [1]:
>>> >
>>> https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/
>>> > <
>>> https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/
>>> >
>>> > [2]: https://store.kde.org/p/1364064/ <
>>> https://store.kde.org/p/1364064/>
>>> > [3]: https://github.com/friciwolf/Rocket
>>> > <https://github.com/friciwolf/Rocket>
>>> > Please make sure to create the folder ~/.config/rocket if you compile
>>> > the code yourself (using qmake and make or Qt Designer), as this
>>> folder
>>> > is necessary for Rocket to launch – another small thing to be fixed
>>> for
>>> > the general audience. Also, please turn on the blurring effect in the
>>> > system settings for it to take effect (an option using the system
>>> > wallpaper as background is also possible, albeit yet only by
>>> recompiling
>>> > the code manually).
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20210922/7daff375/attachment.htm>


More information about the kde-devel mailing list