On Thu, Jan 10, 2013 at 12:57 PM, Aaron J. Seigo <span dir="ltr"><<a href="mailto:aseigo@kde.org" target="_blank">aseigo@kde.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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

<div><br></div><div>Aleix</div>