Dopo quasi tre anni di sviluppo, è stata pubblicata la versione del server composito Wayfire 0.8, che utilizza Wayland e consente di creare interfacce utente poco esigenti in termini di risorse con effetti 3D nello stile dei plugin 3D per Compiz (commutazione degli schermi tramite cubo 3D, disposizione spaziale delle finestre, morphing durante l'interazione con le finestre, ecc.). Wayfire supporta l'estensione tramite plugin e offre un sistema di personalizzazione flessibile. Il codice del progetto è scritto in C++ e distribuito sotto licenza MIT.
Il progetto si basa sulla libreria wlroots, sviluppata dagli autori dell'ambiente desktop Sway, che fornisce funzioni di base per organizzare il lavoro di un gestore composito basato su Wayland. Per la gestione delle sessioni possono essere utilizzati systemd, elogind o seatd. È supportato l'avvio di applicazioni X11 tramite XWayland. Come pannello è possibile utilizzare wf-shell degli sviluppatori di Wayfire o un pannello di terze parti come LavaLauncher. Inoltre, il progetto sviluppa anche una libreria per la gestione dei file di configurazione wf-config e un configuratore grafico wcm.
Nella nuova versione:
- Aggiunto il plugin «wsets» (Workspace sets), che consente di lavorare con collezioni desktop virtuali. In una collezione è possibile unire desktop legati a un tema specifico (ad esempio, lavoro su un progetto principale, lavoro su un progetto personale, intrattenimento), per visualizzarli contemporaneamente sullo schermo. L'utente può passare a un'altra collezione in qualsiasi momento e ottenere un diverso set di desktop virtuali. Su ogni schermo può essere visualizzata la propria collezione di desktop (ad esempio, su un monitor esterno si può utilizzare la collezione per l'intrattenimento, mentre sullo schermo integrato del laptop si utilizza la collezione di lavoro). È supportato lo spostamento delle collezioni tra gli schermi.

- È possibile gestire il gestore composito tramite comandi IPC inviati tramite un socket di rete. Questa funzionalità è implementata tramite il plugin ipc e plugin aggiuntivi per l'elaborazione dei comandi, ad esempio, il plugin ipc-rules include comandi di base per la gestione delle finestre. In futuro è prevista l'aggiunta di supporto per comandi ed eventi aggiuntivi.
- Aggiunta la possibilità di navigare tra i desktop virtuali utilizzando la tastiera.
- Nel plugin simple-tile sono implementati effetti animati.
- Nel plugin Vswitch sono state aggiunte associazioni per spostare un elemento su un determinato desktop virtuale.
- Le implementazioni dei protocolli Wayland sono state estratte dalla composizione di base in plugin separati wayfire-shell, foreign-toplevel e gtk-shell.
- Aggiunto supporto per il protocollo Wayland «xdg-activation», che consente di trasferire il focus tra diverse superfici di primo livello (ad esempio, tramite xdg-activation un'applicazione può cambiare il focus su un'altra).
- Per il pannello sono stati proposti nuovi widget con l'implementazione di un vassoio di sistema, notifiche e un dialogo di terminazione. È stato aggiunto anche il widget Command-output, che consente di visualizzare nel pannello il risultato dell'esecuzione di comandi arbitrarî.
- Aggiornati il pannello sviluppato dal progetto wf-shell, la libreria wf-config e il configuratore wcm.

- Espanso e riprogettato l'API per la creazione di plugin. Da un lato, la riprogettazione ha infranto la compatibilità con molti vecchi plugin, ma dall'altro è stato possibile risolvere la maggior parte dei problemi che ostacolavano precedentemente il funzionamento. È stata proposta una nuova struttura per il lavoro con le liste di schermi, livelli e rappresentazioni: la scenegraph. È stata riprogettata l'interfaccia software View, responsabile della rappresentazione delle finestre delle applicazioni. È stato aggiunto un sistema di transazioni che consente di aggiornare automaticamente più superfici di livello superiore e le relative proprietà, nonché di sincronizzare lo stato della decorazione delle finestre con quella della finestra principale.
Fonte: opennet.ru


