📜 ⬆️ ⬇️

Pillars of KDE4: Plasma

Hi there

On Habré was a series of articles about the pillars of the fourth (currently relevant) branch of the KDE desktop free environment. These articles featured a framework for interacting with Solid hardware, a framework for multimedia Phonon applications, and a framework for applications that work with VoIP telephony and Decibel fast message exchange.

[ Update: I am not the author of the above articles]
')
Today I want to tell you about another framework of this modern DE (Desktop Environment) - Plasma .

image

Life to Plasma

Few realize that before KDE4, the current KDE branch was KDE3. And in KDE3 the hero of this topic - Plasma did not exist yet. In the third branch there were three separate components for displaying the desktop and the nearest environment: KDesktop , SuperKaramba and Kicker .

KDesktop was responsible for the desktop (display and positioning of icons, background image) and for other displayed graphics on the user's desktop.

In the Kicker field of responsibility was the display and operation of the panels on the desktop. Kicker had a good property to expand at the expense of small programs, called applets. Unfortunately, the biggest disadvantage of the applets was that they were limited to C ++ only. That is, developers could create applets only in the Stroustrup language.

And if Kicker applets were limited to be placed within the kicker itself, the SuperKaramba widget engine allowed to place interactive small programs directly on the desktop itself, thereby improving the user's life by cluttering up the workplace. =)
These programs are called widgets (widget). Fortunately, SuperKaramba allowed using not only C ++, but also scripting programming languages ​​such as Python, Ruby and JavaScript. Initially, SuperKaramba was a separate development, but the demand for it was so great that the technology was accepted into KDE. Finding a supercaramba widget is pretty simple. Take any screenshot from KDE3, and if the desktop has a display of free space on hard drives (or other information about the system) or a calendar, this is it.

As time went on, holes were patched, new widgets were written ... Computers became very accessible to housewives, which inspired glamor and other innovations in the user interface. So, with the advent of Microsoft Windows Vista, the fashion began for beautiful translucent shiny interfaces that delight the user's eye. And it just so happened that with the release of a new branch of another framework, Qt, on which the entire KDE project is based, the sneak developers (as haters and others kindly call KDE) decided to launch a new milestone in the development of the popular DE. Unfortunately for ordinary users, and possibly for application developers, further development of KDE took the path of not evolution, but revolutionization. Having completely eliminated the backward compatibility between KDE4 and KDE3, the developers decided to build their offspring on several main pillars. And one of them was born Plasma .

Plasma

Plasma is a special framework for working with the KDE desktop. With the birth of plasma, there is no longer a need for separate applications - KDesktop, Kicker, SuperKaramba. Plasma simply captured all the previous technologies in a single engine.
All programs developed under the auspices of Plasma are called plasmoids.

There are no more divisions on the desktop, panels, applications. Now everything is in the competence of Plasma. If you are a developer, then you do not need to think any more where your creation will work. Create your own plasmoid, and the user himself will figure out where to “hang” him.

The main essence of the plasma - the function of "dolls". One plasmoid may contain many other plasmoids. Now the desktop and the panel are the same plasmoids, as well as a multi-calendar and an analog clock. By default, the Desktop Plasmoid contains a plasmoid panel, and that in turn is the plasmoid KMenu, System Tray, Clock, etc. This is where the Plasma is unique and universal - any plasmoid can be anywhere.
A plasmoid can contain not only another plasmoid, but anything else: graphics (raster or SVG), video (OpenGL). Therefore, nothing prevents you from creating your own plasmoid with flying ducks. =)

Another important advantage of Plasma is the ability to create plasmoids, divided into two parts: the engine and interface. What does it mean? Now you can write the core of the plasmoid, and then create interfaces to it for different taste and color, with different visual effects.

By the way, Plasma does not have a clear reference to a specific screen resolution. Therefore, the plasmoids will equally well fit into the environment on both 800x600 and 1900x1200. This means that plasmoids can quietly “on the fly” change their size without losing functionality.

In Plasma, there are no restrictions on only one programming language for creating plasmoids. In addition to C ++, a developer can use scripting languages: JavaScript, Ruby or Python. And thanks to another KDE framework, called Kross, the number of languages ​​that can be used will expand significantly.

In addition to their native plasmoids, created specifically for plasma, the new KDE4 supports other various interactive miniature programs:


Also in the future, it is planned to support the Opera widgets (such a browser).

__________________________________________________________________

Install KDE and touch the latest technology! See the described with your own eyes!
(pathos pathos)

kde.org

__________________________________________________________________

Here is a screenshot of the plasmoids:

image

When writing this post, publicly available public material from the English-language Wikipedia , Plasma official website , Google was used . In addition, the Russian alphabet and own eyes were used. =)

Source: https://habr.com/ru/post/59733/


All Articles