Go to file
Dan Leinir Turthra Jensen 8a35f83c4b Add a humanMoment unit to the various Units
Time in milliseconds equivalent to the theoretical human moment, which can be used
to determine whether how long to wait until the user should be informed of something,
or can be used as the limit for how long something should wait before being
automatically initiated.

Some examples:

- When the user types text in a search field, wait no longer than this duration after
  the user completes typing before starting the search
- When loading data which would commonly arrive rapidly enough to not require interaction,
  wait this long before showing a spinner

This might seem an arbitrary number, but given the psychological effect that three
seconds seems to be what humans consider a moment (and in the case of waiting for
something to happen, a moment is that time when you think "this is taking a bit long,
isn't it?"), the idea is to postpone for just before such a conceptual moment. The reason
for the two seconds, rather than three, is to function as a middle ground: Not long enough
that the user would think that something has taken too long, for also not so fast as to
happen too soon.

See also
https://www.psychologytoday.com/blog/all-about-addiction/201101/tick-tock-tick-hugs-and-life-in-3-second-intervals
(the actual paper is hidden behind an academic paywall and consequently not readily
available to us, so the source will have to be the blog entry above)

see also https://invent.kde.org/frameworks/kirigami/-/merge_requests/268
2021-03-31 14:44:50 +01:00
autotests [pluginloader] Add methods to list containments using KPluginMetaData 2021-03-29 20:41:37 +02:00
cmake plasma-framework: Convert copyright statements to SPDX expressions 2020-08-13 19:08:54 +00:00
docs Documentation fixes: Use more entities 2020-10-10 19:28:38 +00:00
examples Run clang-format on all cpp/h files 2021-03-13 17:35:34 +00:00
LICENSES plasma-framework: Convert copyright statements to SPDX expressions 2020-08-13 19:08:54 +00:00
src Add a humanMoment unit to the various Units 2021-03-31 14:44:50 +01:00
templates GIT_SILENT Fix formatting for templates 2021-03-13 21:52:20 +01:00
tests Run clang-format on all cpp/h files 2021-03-13 17:35:34 +00:00
.git-blame-ignore-revs Add .git-blame-ignore-revs 2021-03-13 17:35:34 +00:00
.gitignore Add compile_commands.json to .gitignore 2021-02-11 14:32:47 +02:00
CMakeLists.txt GIT_SILENT increase KF_DISABLE_DEPRECATED_BEFORE_AND_AT 2021-03-27 11:41:04 +01:00
ExtraDesktop.sh i18n: translate kdevtemplate for qml-plasmoid too 2016-10-08 14:25:03 +02:00
KF5PlasmaConfig.cmake.in Replace KF5_VERSION with KF_VERSION 2021-01-29 23:25:42 +01:00
KF5PlasmaMacros.cmake Revert "Fix build errors if PREFIX is different from ECM's PREFIX." 2021-02-01 12:03:22 +01:00
metainfo.yaml Add FreeBSD to metainfo.yaml. 2016-11-23 20:39:07 +01:00
README.md Add/update first line of README.md to be a short description, useful for inqlude 2015-07-27 19:41:21 +02:00

Plasma Framework

Foundational libraries, components, and tools of the Plasma workspaces

Introduction

The plasma framework provides the following:

  • QML components
  • A C++ library: libplasma
  • Script engines

QML components

org.kde.plasma.core

Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.

org.kde.plasma.components

Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.

org.kde.plasma.extras

Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.

org.kde.plasma.plasmoid

Attached properties for manipulating the current applet or containment, see @ref libplasmaquick

libplasma

This C++ library provides:

  • rendering of SVG themes
  • loading of files from a certain filesystem structure: packages
  • data access through data engines
  • loading of the plugin structure of the workspace: containments and applets

See @ref libplasma.

Script engines

Provides support to create applets or containments in various scripting languages.