libplasma 3.0 / KDE 4.2
libplasma
Features
- Symbol Versioning: limit loading of plugins to those that match the libplasma version
- NEW: ToolTipManager for Plasma style tooltips
- NEW: Wallpaper plugins for Containments
- NEW: Context for coordinating and publishing Context information, such as the current Activity or phsyical location
- Applet
- sizeHintChanged() signal. A containment (such as a panel) can adjust its size based on changed sizehints of an applet
- ContextConstraint events and access to the current Context object
- NEW: Plasma::Extender and Plasma::ExtenderItem, allowing visual, relocatable extensions to Applet
- NEW: PopupApplet, which switches between an icon with a popup in a Horizontal/Vertical containment (such as a panel) and the widget directly on the canvas in a Planer containment (such as a desktop), the icon can be replaced with custom graphics or widgets by the implementation
- Containment
- Support dropping of arbitrary data if the mimetypes are supported by an applet
- Activity naming and Context support
- Toolbox can be positioned in any corner or edge
- Corona
- addOffscreenWidget/removeOffscreenWidget: manage canvas items that should not appear in a primary view (e.g. Extenders)
- Package system
- PackageStructure supports arbitrary URIs (in addition to auto-discovery for package) structure description files.
- Package removal
- Package browsing interface can be provided by the PackageStructure plugin, allowing for 3rd party widget collectionsto offer online browsing and fetching customizations
- PanelSvg
- setting the margins via in-SVG hints
- paintPanel API additions to make it more like QPainter and Plasma::Svg
- Runners
- TryExec key in .desktop file now supported, allowing runners that rely on an external application to be conditional loaded at runtime
- Service
- Allow enabling/disabling of operations at runtime
- Associate widgets with operations
- Theme
- Support compressed SVGs (*.svgz)
- Widgets
- NEW: Plasma::Slider based on QSlider
- NEW: Plasma::TabBar (usable with both QWidget and QGraphicsItems)
- NEW: Plasma::Frame used to visually group widgets
- NEW: Plasma::TreeView used to put tree views or simple list in the canvas
- Plasma::PushButton is svg-themed
Significant Fixes
- WebContent painting update synchronization (fixes, among other things, scrolling)
- Prevent crash when Containment that AppletBrowser is associated with is deleted
- Applet handles work with all icon sizes (user system settings)
- Fix View so that when a new activity is added, don't move more than necessary;
fixes dragging lock
- Dramatically fewer full paints by properly watching the exposed rect area, which for full screen Containments or large/complex Applets is quite significant in terms of performance
- Fix on-exit crashes related to focus handling issues in QGraphicsView
Developer Documentation
Design documentation
- NEW: dataengine
- NEW: tooltips
- NEW: wallpaper
- NEW: widgets
Tutorials
- NEW: Extenders http://techbase.kde.org/Development/Tutorials/Plasma/UsingExtenders
Desktop Theme
- NEW: widgets/button for theming pushbuttons
- NEW: widgets/frame for theming Plasma::Frame used also in other widgets
- NEW: widgets/scrollbars to theme Plasma::ScrollBar and views scrollbars in libplasma
- NEW: widgets/configuration-icons: little icons used for configuration purposes across Plasma
- NEW: color role for buttons text and background
- NEW: Plasma::Slider follows theme
- NEW: Applet handle all svg-themed
Plasma Desktop Shell
Features
- Desktop
- New Containment configuration for all desktop containments: wallpapers, activity type, theme
- Panel
- Resizes itself when an applet changes its sizehint according to its maximum and minimum sizes
- Autohide and windows-cover-panel options
Significant Fixes
- Reposition toolbox when zooming out/in to avoid panel overlap
- Draw the missing part of the toolbox when repositioned because of a panel
- MS Windows compile fixes
Other Shells
- NEW: plasma-mid, a shell for mobile internet devices
Tools
- Plasma Engine Explorer
- Remove/update sources via context menu
- NEW: Plasma::Service interaction UI, using DataEngine::serviceForSource
Plugins/Addons
Features
Significant Fixes
- Various clocks ported to AppletClock for calendar and timezone consistency
- Pager crash fixes
- MS Windows compile fixes
- Taskbar shows thumbnails of windows on hover (4.1 regression)
- TwitterEngine respects web proxies and provides a proper Plasma::Service
- Kickoff
- proper menu size restoration
- Hide Shutdown and Restart options when those actions are not possible.
- Make Sleep and Hibernate entries appear and work
- use Plasma::Theme to improve visual harmony with the rest of Plasma
KRunner
Features
- Plasma Screensaver: Plasma widget overlay for screensavers
- D-Bus autoactivation, so even if it has perma-crashed, selecting Run Command from Plasma will resurect it
Significant Fixes
- Screensaver activation fixed to compensate for system clock changes
Platforms
Compile and runtime fixes for Microsoft Windows and Maemo