<div dir="ltr"><div>Hi Nate,</div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>Would you still propose going for QML given in this situation?</div><div><br></div><div>Regards,</div><div>Mate<div class="gmail-yj6qo gmail-ajU"><div id="gmail-:1e2" class="gmail-ajR" role="button" tabindex="0" aria-label="Afficher le contenu abrégé" aria-expanded="false"><img class="gmail-ajT" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 21 sept. 2021 à 18:01, Nate Graham <<a href="mailto:nate@kde.org">nate@kde.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Farkas,<br>
<br>
Have you considered making this a Plasma widget using QML? Plasma has an <br>
existing infrastructure for installing, deleting, adding, and removing <br>
widgets, and allowing users to see alternatives. Since this is basically <br>
an alternative launcher, it would make sense for it to appear in the <br>
"Alternatives" popup that shows existing installed alternative widgets. <br>
We already have a full screen launcher widget ("Application Dastboard"), <br>
so it's conceptually possible to do something like what you've done in <br>
QML. However that widget is fairly old and un-loved, and would be a good <br>
candidate for being overhauled or replaced with your launcher, if it <br>
used the common technical infrastructure for widgets.<br>
<br>
Nate<br>
<br>
<br>
On 9/16/21 16:09, Farkas Máté wrote:<br>
> Dear KDE Team,<br>
> <br>
> hereby I would like to submit a project I have been working on in the <br>
> last months with the aim of incubating it within the KDE project, as I <br>
> believe it could contribute to the user experience on touch-capable <br>
> devices (such as Microsoft Surface-like hybrid laptops, tablet users, <br>
> Wacom-tablet users, etc.).<br>
> <br>
> It is an application launcher aiming for ease of use on the above <br>
> mentioned devices. I believe Kicker is a simple and powerful launcher, <br>
> but it still uses a classical old-style approach (i.e. <br>
> menu-submenu-sub-submenu-navigation) to help the user to find the app <br>
> he/she wants to launch. Using a pen or an equivalent device, this <br>
> procedure (with misclicks and spending time looking for the right <br>
> category, subcategory, etc.) could unnecessarily worsen the user <br>
> experience, which motivated me to implement a launcher similar to those <br>
> seen on smart devices and other modern desktop operating systems.<br>
> <br>
> The launcher (which I have named Rocket) places the user's applications <br>
> in a grid and allows him/her to categorize them by making folders. It <br>
> supports searching, so opening the launcher with a shortcut and typing <br>
> the desired program's name into the already focused search field already <br>
> yields results to keep a fluent workflow for keyboard-oriented <br>
> power-users too. It aims to be customizable and uses the KF5 framework <br>
> to communicate with the environment.<br>
> <br>
> Having reached an inflection point in the project (where all the <br>
> features I need have already been implemented with some bugs and <br>
> inconsistencies still being present), I am asking you whether you have <br>
> any interest in incorporating it in Plasma. If you have, I would be more <br>
> than happy to continue the development while focusing on the needs of <br>
> other users and improving on the codebase; if not, I would continue only <br>
> improving things for myself only. In case of interest, I am also ready <br>
> to comply with the standards required by the community.<br>
> <br>
> Things which need care include improving the customizability options, <br>
> fixing some graphical glitches, improving support for multi-touch input <br>
> (including double-finger trackpad scrolling which I – due to my hardware <br>
> restrictions – did not manage to implement as flawlessly as desired) and <br>
> some "complex usage cases" (i.e. cases where the user does a lot of <br>
> things while dragging and dropping an application icon). I would like to <br>
> emphasize that none of these things are of the kind which heavily <br>
> restrict everyday use, but they still force the user to make some <br>
> compromises (and thus make Rocket less "market-ready"); it is thus <br>
> beyond the prototype/designing phase. I am also sending you a video <br>
> regarding the current state of development attached. Regarding the <br>
> future of the project, I have been thinking about adding support for <br>
> plasmoids (such that the user is allowed to add widgets to the menu) and <br>
> to allow the user to use KRunner as a backend search tool.<br>
> <br>
> Some months ago I posted a small video on a more primitive version of <br>
> Rocket in the official KDE Reddit-channel [1 <br>
> <<a href="https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/" rel="noreferrer" target="_blank">https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/</a>>], <br>
> which was also well-received (despite not having as many customization <br>
> options and not being able to create folders yet). Also, the KDE store <br>
> provides some less-powerful alternatives with a non-negligible user base <br>
> [2 <<a href="https://store.kde.org/p/1364064/" rel="noreferrer" target="_blank">https://store.kde.org/p/1364064/</a>>]. I also believe you have to know <br>
> that I am not a professional developer, which can be easily seen by <br>
> looking into the code [3 <<a href="https://github.com/friciwolf/Rocket" rel="noreferrer" target="_blank">https://github.com/friciwolf/Rocket</a>>]. With <br>
> some help from fellow developers however, I think I can quickly improve <br>
> on my programming skills (which I am also happy to do).<br>
> <br>
> If you have any further questions, please do not hesitate to ask me. You <br>
> can reach me in English, German, French or in Hungarian, if the people <br>
> in charge or the community prefer it differently.<br>
> <br>
> Thank you for your consideration,<br>
> Yours faithfully,<br>
> Mate Farkas<br>
> <br>
> -------------------------------------------------<br>
> [1]: <br>
> <a href="https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/" rel="noreferrer" target="_blank">https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/</a> <br>
> <<a href="https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/" rel="noreferrer" target="_blank">https://www.reddit.com/r/kde/comments/mq408q/i_have_developed_an_application_launcher_for_kde/</a>><br>
> [2]: <a href="https://store.kde.org/p/1364064/" rel="noreferrer" target="_blank">https://store.kde.org/p/1364064/</a> <<a href="https://store.kde.org/p/1364064/" rel="noreferrer" target="_blank">https://store.kde.org/p/1364064/</a>><br>
> [3]: <a href="https://github.com/friciwolf/Rocket" rel="noreferrer" target="_blank">https://github.com/friciwolf/Rocket</a> <br>
> <<a href="https://github.com/friciwolf/Rocket" rel="noreferrer" target="_blank">https://github.com/friciwolf/Rocket</a>><br>
> Please make sure to create the folder ~/.config/rocket if you compile <br>
> the code yourself (using qmake and make or Qt Designer), as this folder <br>
> is necessary for Rocket to launch – another small thing to be fixed for <br>
> the general audience. Also, please turn on the blurring effect in the <br>
> system settings for it to take effect (an option using the system <br>
> wallpaper as background is also possible, albeit yet only by recompiling <br>
> the code manually).<br>
</blockquote></div>