krunner qml
Aaron J. Seigo
aseigo at kde.org
Thu Jan 10 11:57:50 UTC 2013
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fast_user_switching.png
Type: image/png
Size: 37502 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130110/4658d0ca/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130110/4658d0ca/attachment-0001.sig>
More information about the Plasma-devel
mailing list