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).