Compiz Fusion plugins: come è strutturato “Compiz”.

Creato il 18 giugno 2011 da Nelregnodiubuntu

La struttura è la seguente:
  • Core, il programma “compiz” che viene lanciato
  • Plugins Ufficiali, senza plugins “compiz” non è praticamente niente, come un kernel senza programmi, una shell senza binari installati… Questi sono quelli di base, con pochi effetti, ma sviluppati con maggior attenzione all’usabilità
  • Plugins della Community, sono i plugins sviluppati dalla community, rappresentano gran parte del progetto “Compiz Fusion” e comprendono tutti quei plugin più “esotici”, come il cubo riflettente, expo dei desktop, ring switcher, animazioni…
  • Decoratori di finestre, come Emerald, Gtk-window-decorator, Kde-window-decorator…
  • Utilità di configurazione, come CCSM, aka CompizConfig…
  • Programmi esterni, come le trayicons…

Cos’è il Core e cosa sono i Plugins.

Come precedentemente detto, compiz senza plugins non è niente. 
E’ necessario quindi lanciare questi plugins, che svolgono funzioni di ogni tipo: c’è un plugin per il ridimensionameno (resize), uno per lo spostamento delle finestre (move), uno per le decorazioni (decoratation), uno per il cubo (cube), uno per le “finestre tremolanti” (wobbly) etc etc…

Ce ne sono quindi di tutti i gusti, e costituiscono le “funzionalità” di Compiz.
Immaginatevi quindi “compiz” (il programma che lanciate da terminale o da dove volete) come il “kernel” che gestisce l’accesso alla scheda video. I plugins a loro volta si interfacciano ad esso e producono gli effetti e le funzionalità che poi vediamo.

E’ indispensabile quindi che il Core sia stabile ed il più possibile “centralizzato” (da questo si capisce l’importanza della fusione in seguito ad un dispersivo fork come è stato per Beryl)

L’avvio dei Plugins.

Come saprete compiz viene lanciato generalmente con:
compiz --replace gconf

Al di là di quel “--replace” (che sarebbe essenzialmente la flag per dirgli di sostituire qualsiasi gestore di finestre attivo, metacity, kwin, xfwm etc etc…) la sintassi utilizzata è la seguente:

compiz --replace PLUGIN1 PLUGIN2 PLUGIN3…
Ad esempio per lanciare compiz con la possibilità di muoverlo, il ridimensionamento e le decorazioni basta lanciare:
compiz --replace move resize decoration
Se c’è qualcuno che si ricorda, infatti, agli inizi si lanciava compiz con lunghissime stringhe di plugin da lanciare, il che ovviamente era scomodo, perchè obbligava al riavvio di compiz tutte le volte che si voleva lanciare un plugin nuovo (oltre ad essere scomodo…).


Ma per ovviare a questo problema era nato il plugin gconf.

 

Il Plugin Gconf.

Il plugin gconf fu il primo tentativo di subordinare l’avvio dei plugins ad un plugin stesso.
Gconf infatti è un semplice plugin che gestisce le impostazioni e l’avvio selettivo ed in tempo reale di altri plugins.
Sotto la voce “active_plugins”, utilizzando gconf-editor, è possibile aggiungere e rimuovere i plugins attivi, guadagnando in ordine ed in velocità.Così quando lanciate compiz --replace gconf accade che compiz lancia subito il plugins gconf, il quale a sua volta (è la funzionalità del plugin) lancia tutti i plugins richiesti… (ad esempio basta aggiungere move, resize, decoration dentro la voce active_plugins per lanciarli).
Allo stesso tempo controlla se vengono fatte modifiche alle impostazioni dei plugins… che vengono salvate/caricate sempre dal demone gconf (il plugin gconf scrive le sue modifiche sul demone omonimo di gnome).

Beryl ed il suo Plugin per le opzioni

Beryl non salvava su gconf… utilizzava file di testo che poteva essere editato mediante il “Beryl Settings Manager”.

Ma come faceva?Evidentemente non lanciava beryl --replace gconf ma qualcos’altro, tipo beryl --replace BerylSettings (scusatemi ma non so come si chiamava). BerylSettings era pertanto un plugin che aveva funzionalità simili al plugin gconf, ma che scriveva su semplici file di testo.

Il Plugin Ini.

Il plugin ini è stato aggiunto recentemente a Compiz e permette di fare esattamente quello che il plugin gconf fa attraverso gconf, ma scrivendo su file di testo.
Si tratta quindi di un porting migliorato dell’efficiente plugin di salvataggio di Beryl, utilizzato di default da Beryl stesso. (ricordate che beryl non usava gconf?)

Il Plugin Ccp.

Il plugin ccp è un nuovissimo plugin frutto della fusione, e permette di lanciare tutti i plugin settati dal configuratore.In pratica, un avvio del tipo:
compiz --replace ccp
lancerà a sua volta tutti i plugin abilitati nel configuratore, risolvendo dipendenze e svolgendo il lavoro completamente in automatico.


Ecco l'elenco sompleto dei plugins: 

Accessibility.


Desktop.

  • Clone Output
  • Desktop Cube
  • Desktop Wall
  • Expo
  • Fade to Desktop
  • Mouse switch
  • Rotate Cube
  • Show desktop
  • Viewport Switcher
  • Widget Layer

Effects.



  • 3D Windows
  • Animations
  • Blur Windows
  • Cube Atlantis
  • Cube Gears
  • Cube Reflection
  • Fading Windows
  • Freely Transformable Windows
  • Login/Logout
  • Minimize Effect
  • Motion blur
  • Paint fire on the screen
  • Reflection
  • Trailfocus
  • Water Effect
  • Window Decoration
  • Wobbly Windows

Extras.

  • Annotate
  • Benchmark
  • Color Opacity
  • Screen Saver
  • Screenshot
  • Snow
  • Splash
  • Window Previews

Image Loading.

  • JPEG
  • Png
  • Svg
  • Text

Utility.

  • Crash handler
  • Cube Caps
  • Dbus
  • Error Notifications
  • GLib
  • Inotify
  • Mouse position polling
  • Regex Matching
  • Resize Info
  • Scale Addons
  • Scale Window Title Filter
  • Userspace File System
  • Video Playback
  • Workarounds
  • Wallpaper

Window Management.

  • Application Switcher
  • Extra WM Actions
  • Group and Tab Windows
  • Maximumize
  • Move Window
  • Place Windows
  • Put
  • Resize Window
  • Ring Switcher
  • Scale
  • Shelf
  • Shift Switcher
  • Snapping Windows
  • Tile
  • Window Rules
    fonti: Cimi's & CompizRicerca personalizzata
    Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:

Potrebbero interessarti anche :

Possono interessarti anche questi articoli :