# Plasma (ambiente grafico)

Plasma è un termine generale per indicare gli ambienti grafici sviluppati dalla comunità KDE, a partire dalla versione 4.
Plasma Desktop ha sostituito Kicker (il pannello di KDE), KDesktop (il gestore del desktop) e SuperKaramba (il gestore dei widget) presenti in KDE 3. Dalla versione 5.1 è stato introdotto il supporto a Wayland.

## Il logo

Il logo di Plasma può essere spiegato con tre interpretazioni simboliche secondo quanto dichiarato da Aaron Seigo, coordinatore dello sviluppo di Plasma: secondo la prima interpretazione l'elemento arancione rappresenta il nuovo brillante ed energetico desktop, le tre gocce colorate del medesimo elemento, invece, indicano la fusione tra Kicker, KDesktop e SuperKaramba. La seconda interpretazione indica invece l'elemento arancione come il linguaggio di programmazione C++, alla base del desktop, mentre le gocce colorate come JavaScript, Python e Ruby, anch'essi utilizzabili nel progetto. Infine la terza interpretazione pone l'accento sulla combinazione tra eccellenza tecnica, bellezza artistica e usabilità che sono gli obiettivi finali del progetto stesso.

## Caratteristiche

Plasma utilizza diffusamente elementi in grafica vettoriale fornendo così un desktop indipendente dalla risoluzione dello schermo, la conseguente flessibilità degli elementi consente di spostarli, ridimensionarli e ruotarli a piacere senza alcuna perdita di qualità grafica. L'utilizzo della grafica vettoriale SVG consente inoltre di impostare un tema unitario per tutti gli elementi di Plasma. Da KDE 4.0 a KDE 4.2 il tema predefinito era Oxygen, caratterizzato da toni scuri, sostituito in KDE 4.3 dal nuovo Aria (Air) in cui predominano la trasparenza e la scelta del bianco come colore base. Nuovi temi per Plasma possono essere scelti ed installati tramite un'interfaccia preposta. Esso, fornendo delle API per gli sviluppatori rende possibile lo sviluppo di piccole applicazioni chiamate "plasmoidi" (plasmoids) da porre sul desktop e sui pannelli, in modo simile a quanto accade per gDesklets, widget di SuperKaramba o Dashboard di macOS.
Attualmente lo sviluppo è organizzato in quattro sotto-progetti: Plasma Desktop per i tradizionali computer desktop e i computer portatili, Plasma Netbook per i netbook, Plasma Mobile per gli smartphone come Nokia N900 e Plasma Tablet per i tablet PC e dispositivi simili.

## Componenti
### Contenitori

Alla base dell'organizzazione del desktop vi sono i Contenitori (Containments) che sono elementi preposti all'organizzazione dei plasmoidi, esempi di Contenitori sono lo sfondo del desktop e i pannelli. I plasmoidi in essi contenuti possono essere liberamente spostati da uno ad un altro e a seconda del Contenitore in cui si trovano si adattano automaticamente allo spazio disponibile, per esempio il plasmoide "Vista delle cartelle" (FolderView) aggiunto sullo sfondo del desktop si presenta come un elemento rettangolare che visualizza le cartelle, inserito invece in un pannello è visibile come un'icona cliccabile per mostrare il plasmoide.

### KRunner

È uno strumento versatile a disposizione dell'utente per molteplici funzioni. Sostituisce la finestra di dialogo "Esegui comando" delle precedenti versioni di KDE, da questa eredita la funzione di lanciatore delle applicazioni ampliandone però le possibilità tramite un sistema modulare a plugin. KRunner memorizza le ricerche effettuate per riproporle quando necessario tramite una funzionalità di autocompletamento dei termini della ricerca. Può essere mostrato sul desktop tramite la combinazione di tastiera ALT+F2 o tramite la voce "Esegui comando..." del menu del desktop. Sono disponibili due differenti interfacce, quella predefinita mostra i risultati della ricerca in un elenco verticale, quella alternativa (QuickSand), invece, presenta gli elementi come icone disposte in orizzontale. Krunner inoltre integra un Task manager essenziale richiamabile con un click sul pulsante apposito o con la combinazione di tastiera CTRL+ESC. Sebbene KRunner sia un'applicazione distinta da Plasma è profondamente integrato anche dal punto di vista grafico.
Queste sono le funzioni gestite tramite i plugin:
* Lanciatore di applicazioni, digitando almeno tre lettere del nome dell'applicazione desiderata o della sua descrizione KRunner mostra le applicazioni corrispondenti ai termini della ricerca consentendo la selezione di quella desiderata. Per esempio digitando "kon" potrebbe essere proposta la scelta (a seconda delle applicazioni installate) tra Konsole, Konqueror o Kontact, digitando invece "brow" si potrà scegliere tra i browser installati nel sistema. La ricerca viene effettuata anche tra i moduli di Impostazioni di sistema;
* Calcolatrice, è sufficiente digitare l'operazione desiderata per visualizzarne il risultato, supporta anche espressioni sofisticate;
* Contatti, può cercare voci nella rubrica di KDE consentendo di aprire direttamente, per esempio, KMail per scrivere un messaggio di posta elettronica. L'indirizzo del destinatario scelto viene automaticamente aggiunto al messaggio;
* Convertitore di unità, converte valori tra unità di misura differenti;
* Cronologia web, cerca nella cronologia di Konqueror i siti recentemente visitati;
* Documenti recenti, cerca corrispondenze tra i file aperti recentemente;
* Ricerche NEPOMUK, esegue ricerche tramite NEPOMUK;
* Controllo ortografico, controlla l'ortografia di una parola suggerendo, in caso di errore, possibili alternative corrette. È sufficiente scrivere "controlla " seguito dal termine desiderato;
* Traduttore, traduce parole tramite Google Translate;
* File e URL, digitando l'indirizzo di un file locale o di una risorsa Internet questa verrà aperta con l'applicazione appropriata, per esempio https://it.wikipedia.org verrà aperto nel browser web predefinito del sistema;
* PowerDevil, operazioni di base per la gestione dell'energia;
* Riga di comando, esegue comandi della shell perché KRunner non riconosce solo le applicazioni del desktop, ma tutti i file eseguibili installati nel sistema;
* Risorse, apre segnalibri di dispositivi e cartelle;
* Scorciatoie del web, permette all'utente di usare le scorciatoie web di Konqueror, per esempio "gg:wikipedia" per cercare Wikipedia in Google;
* Segnalibri, consente di cercare tra i segnalibri di Konqueror;
* Sessioni desktop, permette di cambiare velocemente utente;
* Sessioni di Kate, per avviare Kate con una determinata sessione;
* Sessioni di Konqueror, per avviare Konqueror con un profilo adatto alle necessità;
* Sessioni di Konsole, per avviare Konsole con il profilo scelto.

#### Desktop

Questo Contenitore gestisce lo sfondo del desktop e contiene tutti gli altri elementi di Plasma. Sono disponibili due tipi principali di desktop, alla base della loro differenza vi è una differente modalità di organizzazione e gestione dei file sulla scrivania virtuale. Il desktop predefinito è caratterizzato dalla presenza del plasmoide Vista delle cartelle che racchiude ed ordina in una porzione dello schermo i file di una cartella definita dall'utente. È possibile avere anche più di un plasmoide Vista delle cartelle attivo sul medesimo desktop, gestendo così più cartelle contemporaneamente. Il secondo tipo di desktop, invece, ripropone la classica metafora delle icone sul desktop visualizzando i file presenti nella cartella Desktop o in un'altra cartella.
Lo sfondo viene gestito tramite un sistema a plugin che amplia le classiche possibilità di personalizzazione, è possibile scegliere tra vari tipi:
* Colore, per avere uno sfondo monocromatico sulla base del colore scelto;
* Immagine, consente di scegliere un'immagine da utilizzare come sfondo del desktop;
* Motivo, per utilizzare come sfondo un motivo ripetuto, è possibile definire il colore di sfondo e quello di primo piano;
* Presentazione, per visualizzare immagini di una o più cartelle alternandole sulla base del tempo impostato dall'utente;
* Globo, visualizza una mappa di Marble navigabile con il mouse. È possibile scegliere tra le opzioni disponibili in Marble come le mappe e il tipo di proiezione;
* Mandelbrot, disegna un frattale di Mandelbrot come sfondo. L'utente può impostare i colori base e modificarlo direttamente dal desktop utilizzando il mouse: cliccando e trascinando si può spostare il frattale, ruotando la rotella del mouse variare l'ingrandimento;
* Meteo, a seconda del tempo atmosferico di una città scelta l'immagine utilizzata come sfondo cambia automaticamente in modo conforme;
* Star Field, visualizza un effetto campo stellare interattivo;
* Virus, uno sfondo animato da punti che progressivamente alterano l'immagine di sfondo.

#### Pannello

Il pannello è un Contenitore che organizza i plasmoidi, in esso contenuti, in riga se posto in orizzontale, in colonna se posto in verticale. È possibile avere più pannelli contemporaneamente, ogni pannello può essere posizionato su uno dei lati dello schermo. Le impostazioni sono gestite tramite un'interfaccia richiamabile dall'apposito menu o con un click sull'icona di Plasma visibile ad un'estremità del pannello. Oltre alla posizione sullo schermo è possibile definire l'altezza e l'allineamento, ma anche la larghezza massima e minima perché supporta il ridimensionamento dinamico delle sue dimensioni sulla base dei plasmoidi contenuti. I plasmoidi possono essere trascinati e riposizionati all'interno dello stesso pannello o anche spostati in un altro Contenitore.
Un pannello può, per esempio, contenere un menu per il lancio delle applicazioni, il plasmoide Mostra la dashboard, alcune icone di accesso ai programmi di uso comune, un Notificatore dispositivi, il plasmoide Pager, un Gestore dei processi, un Vassoio di sistema e un orologio.

### Oggetti
#### Oggetti supportati

Oltre ai plasmoidi Plasma supporta e gestisce direttamente anche oggetti (widget) non nativi come:
* Google Desktop Gadgets;
* SuperKaramba;
* QEdje;
* Dashboard, widget di MacOS;
* Oggetto web, utilizzano HTML e JavaScript.

#### Plasmoidi

I plasmoidi sono gli oggetti nativi di Plasma. Offrono all'utente molteplici funzioni come la gestione delle periferiche di memorizzazione, la visualizzazione delle previsioni meteo, l'accesso alle cartelle, la scrittura di appunti ed altro direttamente sul desktop che così acquisisce più compiutamente le caratteristiche semantiche di una scrivania virtuale.
I plasmoidi possono essere sviluppati con differenti linguaggi di programmazione come C++, JavaScript, Ruby e Python.
Plasma gestisce le informazioni tramite "motori di dati" (data engines), questa organizzazione separata dei dati e della loro visualizzazione facilita lo sviluppo di nuovi plasmoidi consentendo di concentrare gli sforzi su nuove modalità di visualizzazione dei dati ed evitando di duplicare in ogni plasmoide simile le medesime funzioni base di gestione dei dati.
Al passaggio del mouse i plasmoidi mostrano una maniglia laterale (a destra o a sinistra coerentemente alla posizione del mouse) con alcune icone che consentono di ridimensionare, ruotare, modificare le impostazioni o eliminare il plasmoide.
I plasmoidi possono essere gestiti in set distinti tramite le Attività (Activities), ognuna può avere un nome differente indicante l'utilizzo scelto, uno sfondo diverso e differenti plasmoidi. A partire da KDE 4.3 le Attività possono essere associate ai desktop virtuali, gestendo così contemporaneamente sia le finestre che i plasmoidi.
Alcuni esempi di plasmoidi disponibili, suddivisi per funzione, sono:
Menu per il lancio delle applicazioni:
* Kickoff, è il predefinito di KDE 4, è caratterizzato dalla suddivisione in schede e da un approccio compatto all'elenco delle applicazioni che evita l'apertura di sottomenu;
* Lancelot, un menu alternativo progettato con finalità simili a Kickoff, ma che si focalizza soprattutto sulla navigazione dei contenuti senza click del mouse e sull'elevata configurabilità;
* Menu tradizionale, è la riproposizione del menu tradizionale di KDE prima della serie 4.
Astronomia
* Luna, mostra le fasi lunari.
Data e orario
* Orologio a lancette, un orologio tradizionale con supporto ai fusi orari;
* Orologio digitale;
* Orologio del mondo, mostra il tempo in diverse parti del mondo visualizzando un planisfero.
Strumenti di sviluppo
* Pastebin, incolla testo e immagini su un server remoto senza necessità di visitare il sito del servizio prescelto.
Educazione
* Chimica: lo sapevi?, mostra informazioni riguardanti gli elementi chimici;
* KAlgebra, una calcolatrice essenziale senza pulsanti;
* Parley, un plasmoide per carte mnemoniche di Parley, un programma di KDE.
Ambiente e meteo
* Previsioni meteo;
* Stazione meteorologica a cristalli liquidi, simula graficamente uno schermo a cristalli liquidi.
Filesystem
* Cestino, per accedere agli oggetti cancellati;
* Quick Access, visualizza la lista dei file di una determinata cartella. Offre molti parametri di configurazione come la dimensione degli elementi, l'utilizzo di anteprime o la selezione dei tipi di file da visualizzare;
* Vista delle cartelle, visualizza il contenuto di una cartella prescelta offrendo la possibilità di mostrare le anteprime dei file e di selezionare i tipi di file da visualizzare. Posizionando il mouse sopra un elemento è possibile vederne un'anteprima ed alcune proprietà come la dimensione, se l'elemento è una cartella si apre una sottosezione visualizzante il contenuto della cartella stessa. Con un click del mouse l'elemento prescelto viene aperto con l'applicazione associata.
Divertimento e giochi
* BbalL, una pallina rimbalzante;
* Il gioco del quindici;
* TicTacToe, gioco Tris;
* Vita, gioco della vita.
Grafica
* Acchiappa colore, per identificare un colore presente sul desktop;
* Cornice immagine, per mostrare una o più immagini preferite;
* Striscia di fumetti, scarica e visualizza strisce di fumetti da Internet secondo le impostazioni dell'utente.
Lingua
* Dizionario;
* Translator, traduzioni multilingua basate su Google Traduttore.
Varie
* Calcolatrice;
* Convertitore di unità;
* Messaggio in arrivo, notifica l'arrivo di nuovi messaggi, si può interfacciare con KMail, Kopete, Pidgin e XChat.
Multimedia
* In riproduzione, mostra e controlla l'audio in riproduzione;
* Lettore multimediale, semplice lettore audio e video che utilizza Phonon.
Servizi in rete
* Applet barra di KGet, fornisce statistiche riguardo a KGet;
* Applet grafico a barre di KGet, fornisce statistiche riguardo a KGet;
* Applet grafico a torta di KGet, fornisce statistiche riguardo a KGet;
* Navigazione Web, un semplice browser web integrato in Plasma;
* Notizie, mostra feed RSS da varie fonti;
* Ricorda il latte, per ricordare le cose da fare;
* RSSNOW, lettore feed RSS alternativo.
Informazioni sul sistema
* Blocca/Termina accesso, per bloccare lo schermo o terminare la sessione;
* Bubblemon, un particolare visualizzatore a forma di bolla per monitorare i parametri del proprio sistema come per esempio la frequenza della CPU, la RAM e molto altro;
* Monitor della batteria;
* Monitor di sistema - CPU, consente di monitorare l'utilizzo della CPU tramite un grafico;
* Monitor di sistema - Disco fisso;
* Monitor di sistema - Informazioni hardware, elenca le principali periferiche del sistema;
* Monitor di sistema - RAM, grafici relativi all'utilizzo della memoria RAM e della partizione di swap;
* Monitor di sistema - Rete, per controllare l'utilizzo delle interfacce di rete;
* Monitor di sistema - Temperatura;
* Monitor di sistema, raggruppa i precedenti plasmoidi in un unico oggetto;
* Notificatore dispositivi, per gestire le periferiche di memorizzazione come le memorie flash.
Accessori
* Note, per prendere piccoli appunti sul desktop, supporta anche la formattazione del testo;
* Profili di Konqueror, elenca i profili ed esegue Konqueror avviando il profilo selezionato;
* Profili di Konsole, elenca i profili ed esegue Konsole avviando il profilo selezionato;
* Selettore dei caratteri;
* Visualizzatore di anteprime, per vedere velocemente l'anteprima di un file.
Finestre e attività
* Barra delle attività, per cambiare Attività di Plasma;
* Gestore dei processi, per gestire le applicazioni in esecuzione;
* Mostra desktop, per nascondere con un click tutte le finestre;
* Mostra la dashboard degli oggetti, per mostrare tutti i plasmoidi sopra le finestre;
* Pager, per gestire i desktop virtuali;
* Vassoio di sistema, oltre a gestire le applicazioni ridotte ad icona è responsabile della gestione unificata delle notifiche delle applicazioni e degli avanzamenti delle operazioni con i file;
* Window List, elenca le finestre aperte.
Nuovi plasmoidi possono essere scelti ed installati tramite un'interfaccia preposta.