L'azienda Purism, che sviluppa lo smartphone Librem 5 e la distribuzione libera PureOS, ha rilasciato la libreria , all'interno della quale viene sviluppato un insieme di widget e oggetti per la creazione dell'interfaccia utente per dispositivi mobili utilizzando GTK e tecnologie GNOME. La libreria è in fase di sviluppo nel processo di porting delle applicazioni GNOME per l'ambiente desktop dello smartphone Librem 5.
Codice del progetto sotto la licenza GPL 2.1+. Oltre a supportare applicazioni in linguaggio C, la libreria può essere utilizzata per creare versioni mobili dell'interfaccia delle applicazioni in Python, Rust e Vala.
Attualmente, la libreria include 24 widget, coprendo vari elementi standard dell'interfaccia, come liste, pannelli, aree di editing, pulsanti, schede, moduli di ricerca, finestre di dialogo, ecc. I widget proposti consentono di creare interfacce universali che funzionano in modo fluido sia su grandi schermi di PC e laptop, sia su piccoli schermi touchscreen di smartphone. L'interfaccia delle applicazioni cambia dinamicamente in base alle dimensioni dello schermo e ai dispositivi di input disponibili.
L'obiettivo principale del progetto è fornire la possibilità di utilizzare le stesse applicazioni GNOME su smartphone e PC. Il software dello smartphone Librem 5 si basa sulla distribuzione PureOS, che utilizza la base di pacchetti Debian, l'ambiente desktop GNOME e un'interfaccia GNOME Shell adattata per smartphone. L'uso di libhandy consente di connettere lo smartphone a un monitor e ottenere un tipico desktop GNOME basato su un insieme uniforme di applicazioni. Tra le applicazioni adattate per libhandy si segnalano: GNOME Calls (Comunicazione), gnome-bluetooth, GNOME Settings, GNOME Web, Phosh (Comunicazione), Daty, PasswordSafe, Unifydmin, Fractal, Podcasts, GNOME Contacts e GNOME Games.
Libhandy 0.0.10 è l'ultima versione preliminare prima del significante rilascio 1.0. In questo nuovo aggiornamento sono stati presentati diversi nuovi widget:
- — sostituzione adattiva del widget GtkStackSwitcher, che consente di formare automaticamente l'impaginazione delle schede (viste) in base alla larghezza dello schermo. Su schermi più grandi, le icone e i titoli sono allineati su una riga, mentre su quelli più piccoli si utilizza una disposizione compatta con il titolo visualizzato sotto l'icona. Per i dispositivi mobili, il blocco dei pulsanti viene spostato nella parte inferiore.

- — contenitore per la visualizzazione della barra tenendo conto delle dimensioni disponibili, eliminando le parti non necessarie se necessario (per schermi grandi viene mostrata la barra di intestazione completa per il passaggio delle schede, mentre se lo spazio è insufficiente viene visualizzato un widget che simula l'intestazione, e il selettore delle schede viene spostato nella parte inferiore dello schermo);
- — implementazione di una barra degli strumenti avanzata simile a GtkHeaderBar, ma progettata per l'uso in interfacce adattive, sempre centrata e che riempie completamente l'area dell'intestazione in altezza;
- — variante adattiva della finestra di impostazione delle preferenze con le impostazioni organizzate in schede e gruppi;
Tra i miglioramenti apportati per l'adattamento delle applicazioni GNOME all'uso sugli smartphone, si segnala:
- Nell'interfaccia per ricevere e effettuare chiamate (Calls) è coinvolto il modulo loopback di PulseAudio per connettere il modem e il codec audio del dispositivo in ALSA durante l'attivazione della chiamata, con scarico del modulo dopo la conclusione della stessa;
- Nell'app di messaggistica (Messaging) è stata implementata un'interfaccia per visualizzare la cronologia delle conversazioni in chat. Per la memorizzazione della cronologia viene utilizzato un database SQLite. È stata aggiunta la possibilità di verifica dell'account, che ora viene controllato tramite connessione al server, mentre in caso di errore viene visualizzato un avviso;
- Nel client XMPP è stata implementata la supporto per lo scambio di messaggi crittografati tramite l'uso del plugin con l'implementazione del meccanismo di crittografia end-to-end . È stato aggiunto un indicatore speciale nella barra che segnala se la crittografia è attiva nella chat corrente o meno. È stata inoltre aggiunta la possibilità di visualizzare i fingerprint identificativi, sia del proprio account che di quello di un altro partecipante alla chat;
- In GNOME Web sono stati introdotti i nuovi widget Libhandy 0.0.10, che hanno permesso di adattare l'interfaccia di configurazione e la barra del browser per gli schermi mobili.
Fonte: opennet.ru

