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 <aleix...@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é <wol...@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 <n...@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). >>> >>