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
<<attachment: fast_user_switching.png>>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel