krunner qml

Aleix Pol aleixpol at kde.org
Thu Jan 10 14:24:58 UTC 2013


On Thu, Jan 10, 2013 at 12:57 PM, Aaron J. Seigo <aseigo at kde.org> wrote:

> On Thursday, January 10, 2013 04:49:15 Aleix Pol wrote:
> > Good stuff, I'd say it's really important, I'm really sad for not having
> > found the time to push it further.
>
> that's why there are many of us, of course. :)
>
> no one person can do more than one person can do. but together we somehow
> manage to usually do more than we could have individually ;)
>
> > Looking forward to your progress, maybe it would be interesting to see
> what
> > you exactly have in mind there?
>
> sure... i'm taking this in steps:
>
> 1: refactor internals (and don't care about breaking the UI in the process)
>         * the runner manager is held by the QML UI not the krunner C++ code
>         * API for the C++ to communicate with the QML (class: InterfaceApi)
>         * KRunnerDialog becomes a Plasma::Dialog
>         * load QML from Plasma::Packages
>
> in this first step the following regressions have been incurred:
>
> * configuration UI is gone
> * user switching no longer implemented
> * global shortcuts for single runners not registered
> * dbus call to list available single runners removed (not sure if this will
> come back or not)
> * positioning and resizing is a bit funky
>
> 2. build a minimal ugly UI in QML for purely testing purposes
>
> 3. address problems shown by these changes
>         * RunnerModel needs changes for use here
>                 * able to pre-load the runners, so we don't get a delay on
> UI show
>                 * able to control the session setup / teardown (right now
> it is per
> search; for krunner, it should be per window show/hide)
>                 * ??
>         * Plasma::Dialog's performance
>                 * moving is no longer smooth
>                 * resizing is a bit broken (doesn't center properly)
>
> 4. implement a new UI for user switching
>         * dedicated UI for user switching
>         * perhaps grey out screen with kwin effect, ala shutdown/logout
> dialog
>         * show all running sessions + button to start a new one
>         * perhaps a full screen wide strip with this UI centered in it (see
> attached horrible drawing. done in krita! :)
>
> 5. implement an improved config UI
>         * use QML rather than the KPlugin QWidget list
>         * integrate per-runner help with this list
>         * provide a way to switch between different QML UI packages if
> more than
> one is installed
>
> 6. create a usable QML UI with an emphasis on elegance. hopefully this
> will be
> a visual and functional upgrade over the existing UI. it needs to:
>         * allow queries
>         * provide UI to access the task manager and configuration
>         * a gorgeous delegate
>                 * supports keyboard nav, including between per-match
> actions
>                 * sorting perference? (e.g. by rank (default), or by
> runner?)
>                 * uses same components / presentation as used in similar
> lists
> elsewhere in Plasma Desktop
>         * perhaps show favourite / recent searches on show?
>
> 7. improve the search speed enablers
>         * better favourite matches algorithm
>         * better autocompletion suggestion method
>
> that's where i'm at right now :) some of the steps can easily be done in
> parallel, too. e.g. #4, the switch user UI doesn't rely on any other step
> and
> could be done by anyone feeling like it at any time :)
>
> --
> Aaron J. Seigo
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>
Hmm.. why do you think user switching belongs to KRunner? Did I miss
anything? If anything, I'd say it can be a runner, but do we need specific
UI for this?

>From my perspective the main KRunner UI should be little more than the text
input and the list of results...

Aleix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130110/1a85f86b/attachment.html>


More information about the Plasma-devel mailing list