Firefox Client Side Decoration (CSD) su Arch Linux

Firefox/Next


Da un po di tempo si sente parlare di Firefox CSD (Client Side Decoration) ma di che si tratta di preciso? Ho provato a testare la cosa su Arch Linux, vediamo come fare…
Detto in poche parole Firefox è finalmente capace come Chromium o Epiphany di crearsi in autonomia i suoi tasti chiudi massimizza e minimizza senza appoggiarsi al sistema (GTK) come ha sempre fatto finora. L’interfaccia di conseguenza risulterà più sottile non necessitando più della Title Bar o barra del titolo.
La cosa poteva essere ottenuta tramite addon come Hide Title Bar o HTitle quest’ultima da me già utilizzata in un lontano passato.

Testare Firefox CSD su Arch Linux (Ubuntu/Debian based):

Per abilitare il CSD è stata rilasciata una patch e sebbene sia possibile includerla in una nuova compilazione di Nightly, Fedora ci viene in aiuto rilasciando dei binari già pronti da testare.

Prima di tutto attingere alla fonte con una semplice ricerca fra gli .rpm disponibili:
https://koji.fedoraproject.org/koji/packageinfo?packageID=37

Al momento la build più recente è la 57.0-0.8.fc27.

Il changelog in basso conferma l’inclusione della suddetta patch:

* Thu Oct 05 2017 Martin Stransky – 57.0-0.1 – Updated to 57.0 Beta 5 – Added patch for mozbz#1399611 – CSD emulation

Download di Firefox 57 Nightly CSD enabled:
Eseguire il download della build .rpm per l’architettura in uso:
Download x86_64

Lanciare Firefox 57 Nightly CSD enabled:
Non fossilizzarsi sul contenitore ma sul contenuto.
Vi domanderete come eseguire un pacchetto .rpm su Arch linux/Ubuntu, lasciate stare sistemi automatici come Alien, abbiamo già tutto disponibile per una prima esecuzione.

I pacchetti rpm, deb e quant’altro sono solo contenitori che sparano o innestano Firefox nel sistema (link icone menu ecc), il cuore è facilmente raggiungibile con una semplice estrazione, in generale molti ignorano questo che è il bello di Linux, lo possiamo forse fare con gli .exe ?

Scompattare firefox-57.0-0.8.fc27.x86_64.rpm sulla scrivania (tasto destro estrai qui) per ottenere due cartelle /etc e /usr.
Firefox e il suo ambiente già compilato risiede con relativo binario nella cartella /usr/lib64/firefox.

Chiudere Firefox se in uso, aprire il terminale e dare il comando:

~/Scrivania/usr/lib64/firefox/firefox

Abilitare il Client Side Decoration:
Digitare about:config nella barra degli indirizzi di Firefox.
Dal menu contestuale (tasto destro del mouse) selezionare Nuovo, scegliere il tipo di preferenza da aggiungere (in questo caso Booleano) e inserire nelle successive finestre di dialogo il nome della preferenza —-> widget.allow-client-side-decoration e il suo valore—->true
Riavviare Firefox usando il precedente comando (~/Scrivania/usr/lib64/firefox/firefox).

Eventuali errori:
Firefox potrebbe non avviarsi a causa dell’assenza di alcune librerie. Niente panico, nella maggior parte dei casi è sufficiente installarle dal proprio gestore pacchetti rintracciando quello che le include.
Potrebbe rendersi necessaria la creazione di un link simbolico come accaduto a me:

libhunspell-1.5.so.0: cannot open shared object file: No such file or directory Couldn’t load XPCOM

Che accade?
Firefox ci informa che non trova il file libhunspell-1.5.so.0 relativo al pacchetto hunspell. Grazie a Pamac è possibile visionare in modo molto immediato che abbiamo a bordo /usr/lib/libhunspell-1.6.so.0. Non resta altro che creare un link simbolico verso la 1.6 rinominato alla versione richiesta ed il gioco è fatto… (il bello di Linux):

# cd usr/lib
# ln -s libhunspell-1.6.so.0 libhunspell-1.5.so.0

IMPORTANTE:
Il profilo con i propri dati personali di Firefox (password,segnalibri,ecc..) è indipendente dalla versione del browser in uso. Effettuarne comunque prima un salvataggio (about:support—->Cartella del profilo) o eseguire i test su un profilo pulito avviando con firefox -p da terminale.

Screenshots:
[See image gallery at www.osside.net]
 
Video: