Download presentation
Presentation is loading. Please wait.
Published byGarry Reynolds Modified over 8 years ago
1
KDE Plasma Mobile workspaces Marco Martin
2
What is Plasma?
3
● A primary user interface: ● For desktops ● Netbooks ● Smartphones ● Tablets ● Media centers ● A framework: ● For data visualization and editing ● A touch friendly, QGraphicsView based widget library ● Useful to write sandboxed, simple web oriented applications
4
History
5
History ● Before Plasma: in KDE 2 and 3 ● Window manager: Kwin ● Desktop: Kdesktop: desop icons, no 3 rd party extensibility ● Panels: Kicker: components such as taskbar are plugins, simple api, but limited to panels ● Superkaramba: desktop widget system, plugins written in Python, not compatible with Kicker
6
KDE Workspace 4
7
KDE Workspace 4.0 ● Qt4 ● QGraphicsView ● Single API: no more 3 incompatible applications
8
Plasma ● Everything is a plugin ● Same widgets can run on panel and desktop: the concept of formfactors ● Unified framework with strong model/view emphasis
9
Plasma Desktop ● Even desktop icons become an optional plugin ● You can have multiple “desktop” folders in different areas -> easy to work on different projects ● The concept of “activities”: depending on “what you are doing right now” ● completely different content in the desktop ● Different set of windows shown ● Different behaviour of individual applications
10
Plasma library ● The library that makes this possible has several components ● Visual: facilities for data visualization, such as a widget set and the management/layouting of visual plugins ● Data: fetching and editing of any kind of data trough plugins with a simple and unified api
11
Visualization ● Plasma::Applet: is a QGraphicsWidget basic visual component: all visualization plugins inherit from it ● Containment: is an Applet: contains other applets, manages their position, size, formfactor and lifetime ● Corona: it's a QGraphicsScene: only contaiments are directly inserted into it, manages the association between containments and Viewports ● View: It's a QGraphicsView, it has an association 1:1 with a Containment, their geometries are syncronized ● Widget set: set of standard (QGraphics) widgets, from pushbuttons to flickable views, themed with an SVG engine
12
Data ● DataEngine and DataContainer: all data providing plugins are instances of DataEngine ● Shared between applets ● A data item will be represented by an unique (in the DataEngine context) identifier string and will be wrapped in a DataContainer ● An applet can use more than one dataengine and mash-up the resulting data ● Service: the way to write data ● If i want to post a twitter update i'll get the service associated with the source that represents my account
13
Other features ● Package: an Applet can be packaged and distributed around: it's called plasmoid and is managed by the Package class, that can install and uninstall them per user. They should be written with a scripted binding, preferably Javascript ● Remote applets: A system can export its running Applets trough the network, the Package will be sent across o the client machine and the dataengines/services will run on the sharing one: ● Remote control
14
Netbook: differences ● Not only power and screen size: different use case from notebooks ● A “desktop” doesn't make sense ● The desktop is an “application” ● No border maximized windows ● Present windows is the taskbar ● Some other different default settings
15
Netbook: Search and launch
16
● Search more intuitive than browsing categories ● Reuses runners ● Simple menu, no trees ● Use of flicking and drag and drop
17
Netbook: newspaper
18
● Touchscreen friendly ● Primary place for widgets ● Biggest use case: PIM and webservice client widgets
19
Plasma Mobile ● Can KDE technologies provided an unified, yet different experience across diffrent devices? ● Part of the libraries and the look and feel are preserved ● Here we want a different workspace and applications UI, while maintaining the logic behind
20
Challenges ● Smaller physical screen size ● Limited hardware resources ● Different user interaction flow
21
Mobile profiles ● Different slimmed down profiles ● KDE libraries modules become optional ● Solid ● Kioslave ● KnewStuff ● Smaller packages ● Smaller memory footprint
22
Plasma Mobile ● Devices are eterogeneous ● Need for flexibility ● Configuration ● Ease of development ● Test bench for the integration of QtQUICK in Plasma
23
Plasma Mobile ● Smartphones today: grid of icons, sometimes a space for “widgets” ● Difficult organization ● Plasma Mobile: “context aware”, who i am, where i am, what i'm doing ● Set of “activities” like work, messaging, social, games
24
Plasma Mobile
28
Tablet
29
Tablet
30
Tablet ● Plasma mobile shell ● Custom QML files ● Plasma Netbook Newspaper and Search and Launch
31
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.