KDE 4: Plasma
KDE 4 wordt de nieuwe incarnatie van de KDE desktopomgeving. De ontwikkelaars achter KDE zijn druk bezig met het ontwikkelen van deze nieuwe versie. KDE 4 zal bestaan uit verscheidene subprojecten.
De belangrijkste projecten voor KDE 4 zijn: Plasma, Phonon, Solid, Decibel, Kross, Dolphin, Oxygen en een nieuwe versie van KWin.
Vandaag bekijken we wat Plasma precies is
en wat de nieuwste ontwikkelingen zijn in Plasma.
Wat is Plasma?
Plasma is een combinatie van Kicker (panelen), KDesktop (desktop root venster) en SuperKaramba (widget systeem). In KDE 4 zullen deze drie programma’s omgevormd worden tot Plasma. Plasma is in principe het belangrijkste onderdeel van KDE 4, want zonder Plasma heb je eigenlijk geen desktopomgeving.
Innovatie
Plasma belooft een revolutionaire omgeving te worden. De desktopomgeving is volgens de KDE ontwikkelaars al 13 jaar hetzelfde en het wordt tijd om nieuwe concepten uit te werken. Eén van de belangrijkste punten in Plasma is de integratie van widgets. Alles in Plasma zal bestaan uit widgets. Deze widgets krijgen de naam Plasmoids.
Widgets: Plasmoids
Plasmoids kunnen in Javascript, Python of Ruby worden geschreven via het Kross scripting framework van KDE 4. Eén van de standaard plasmoids zal een vervanger zijn voor de KMenu knop. Plasma zal echter ook backwards compatibel zijn met oude SuperKaramba applets, hoewel het sterk wordt aanbevolen om nieuwe Plasmoids te schrijven omdat echte Plasmoids veel moderner zijn. Ze kunnen op een makkelijke manier geanimeerd worden en kunnen gebruik maken van Scalable Vector Graphics voor een mooie herschaalbare weergave van de widgets.
Plasmoids werken via een resourcevriendelijk systeem dat uit drie delen bestaat: Display Canvas (weergave), Data Provisioning (gegevensvoorziening) en Support library (voorziet in een aantal nodige functies).
Het Display Canvas is verantwoordelijk voor de weergave van de Plasmoids. Via het Display Canvas wordt een grafische interface ontworpen voor een Plasmoid. Besturingselementen en animaties (via Phase/Animator – zie volgende punt) moeten worden toegevoegd via dit Display Canvas.
Het Data Provisioning System is verantwoordelijk voor gegevensvoorziening. We noemen afzonderlijke elementen die voorzien in gegevens DataEngines. Deze DataEngines bevatten gegevens die dan gedeeld kunnen worden tussen meerdere Plasmoids. Zo kan er bijvoorbeeld een DataEngine bestaan die voorziet in systeemstatistieken en kunnen er twee verschillende Plasmoids zijn die de gegevens van deze DataEngine delen.
Animatie framework: Phase/Animator
Aaron Seigo, één van de topontwikkelaars van KDE is begonnen met het schrijven van een animatie framework – gebaseerd op nieuwe mogelijkheden die recent zijn geïntroduceerd in Qt 4 (meer bepaald Qt 4.2/4.3) en die vergelijkbaar zijn met Core Animation op Mac OS X. Via dit animatie framework dat bekend staat als Phase/Animator kunnen ontwikkelaars op een heel eenvoudige manier Plasmoids schrijven die geanimeerd zijn.
Phase beheert de registratie en duur van grafische effecten in de Plasmoids en laadt een Animator om de animatie daarna daadwerkelijk uit te voeren. Animaties kunnen op deze manier makkelijk aangepast of uitgeschakeld worden door eindgebruikers, want er zijn verschillende animatievormen die op verschillende manieren geanimeerd kunnen worden.
Voorbeeld: een Plasmoid maakt gebruik van Phase::ElementAppear om een element van de Plasmoid op het scherm te weergeven. Er kunnen hiervoor verschillende Animators gebruikt worden: bijvoorbeeld een vervagingseffect of gewoon zichtbaar/onzichtbaar maken.
Links:
Video van Aaron Seigo over Phase/Animator (Flash)
Video: preview van icon hovering (Flash)
Integratie van Plasmoids in Plasma
Alle Plasmoids hebben twee verschillende weergaves: een desktopweergave en een paneelweergave. Plasmoids kunnen van de desktop naar het paneel worden gesleept en omgekeerd. De plasmoid zal dan automatisch zijn weergave aanpassen.
Zooming User Interface
Aaron Seigo liet ons weten dat er deze week een heleboel werk wordt gestoken in een nieuwe gebruikersinterface, een zogenaamde ZUI of Zooming User Interface. Gebruikers kunnen objecten sorteren in groepen en in- of uitzoomen op de objecten. Er is momenteel echter nog maar weinig bekend over deze Zooming User Interface, maar de KDE ontwikkelaars lieten weten dat ze zich baseren op onderzoek van Jeff Raskin.
Prestaties
Je zou kunnen zeggen dat al deze nieuwe dingen de prestaties behoorlijk verlagen, maar dan heb je het mis. In zijn huidige vorm is Plasma reeds sneller dan de oude elementen van KDE 3 en er werd nog niet veel werk gestoken in optimalisatie, dus het zal nog sneller worden.
Er zijn twee redenen voor de goede prestaties van Plasma: Enerzijds wordt Plasma ontwikkeld door gebruikmaking van de nieuwe Qt 4 toolkit die veel sneller is dan de vorige versie (Qt 3) en anderzijds speelt er een resource vriendelijke ideologie bij de KDE ontwikkelaars. Ook kunnen – door toedoen van Phase/Animator – effecten die een snellere computer nodig hebben verminderd of uitgeschakeld worden
Na de releasedatum
Na de releasedatum van KDE 4 (staat gepland voor 23 oktober) zal er nog steeds worden verdergewerkt aan KDE 4. Aaron Seigo wil onder andere een physics engine implementeren om een meer realistische interactie met objecten in Plasma te kunnen verkrijgen. Ook zal er nog veel werk worden gestoken in het blijven optimaliseren van Plasma.
Een ander belangrijk punt zal de integratie met KDE programma’s worden. Stel je het volgende voor: je sleept een contactnaam in Kopete (KDE’s multi-protocol instant messenger) naar de Plasma desktop en er verschijnt een SVG weergave van die persoon en zijn online status op de desktop (of op een laag van de Zooming User Interface).
Ook wordt er druk gewerkt aan Media Center integratie.
PS: Volgende week zullen we het hebben over de nieuwe incarnatie van KWin (vensterbeheerder met composite ondersteuning).
Bronnen: Linux.com, Aaron Seigo’s blog, Planet KDE








Het klinkt allemaal zeker heel cool, vooral de integratie, welke ik hoop dat ook (snel) bij andere DE’s worden geïmplementeerd. (Geldt dat trouwens alleen voor programma’s die met KDE worden gebundeld of voor alle Qt programma’s, zonder aanpassingen?)
Overigens verwacht ik niet dat de prestaties beter zullen worden dat die van Xfce
XFCE is dan ook niet zo uitgebreid als KDE
Het doel van XFCE is om een functionele maar lichte desktopomgeving te geven.
En die integratie zal in eerste instantie alleen voor KDE programma’s gelden. Als jij een idee hebt om andere programma’s (Qt of niet) automatisch te integreren met Plasma: laat het mij maar weten
Hoewel ik wel denk dat integratie voor bepaalde programma’s makkelijk kan toegevoegd worden door middel van D-Bus. Zelfs voor GNOME applicaties moet dat dan mogelijk zijn om met Plasma te communiceren.
Lichtgewichtheid is gewoon een van de features van Xfce, maar niet het enige doel. Xfce heeft een hoop extra features die het heel comfortabel in het gebruik maken.
Precies, en ik hoop dat zoiets zo snel mogelijk gebeurt
Lang leve de keuzevrijheid!