L'entreprise Purism, qui développe le smartphone Librem 5 et la distribution libre PureOS, lance la bibliothèque , qui fait évoluer un ensemble de widgets et d'objets pour créer des interfaces utilisateur pour les appareils mobiles à l'aide de GTK et des technologies GNOME. La bibliothèque est développée dans le cadre du portage des applications GNOME pour l'environnement utilisateur du smartphone Librem 5.
Le code du projet sous licence GPL 2.1+. En plus du support des applications en C, la bibliothèque peut être utilisée pour créer des versions mobiles d'interfaces d'applications en Python, Rust et Vala.
Actuellement, la bibliothèque comprend 24 widgets, couvrant divers éléments d'interface standard tels que des listes, des panneaux, des zones de texte, des boutons, des onglets, des formulaires de recherche, des fenêtres de dialogue, etc. Les widgets proposés permettent de créer des interfaces universelles qui fonctionnent harmonieusement aussi bien sur de grands écrans d'ordinateurs et d'ordinateurs portables que sur de petits écrans tactiles de smartphones. L'interface des applications change dynamiquement en fonction de la taille de l'écran et des dispositifs d'entrée disponibles.
L'objectif principal du projet est de permettre l'utilisation des mêmes applications GNOME sur smartphones et PC. Le logiciel du smartphone Librem 5 est basé sur la distribution PureOS, qui utilise une base de paquets Debian, le bureau GNOME et une interface GNOME Shell adaptée aux smartphones. L'application de libhandy permet de connecter le smartphone à un moniteur pour obtenir un bureau GNOME standard basé sur un ensemble unique d'applications. Parmi les applications portées sur libhandy, on trouve : GNOME Calls (Composeur), gnome-bluetooth, GNOME Settings, GNOME Web, Phosh (Composeur), Daty, PasswordSafe, Unifydmin, Fractal, Podcasts, GNOME Contacts et GNOME Games.
Libhandy 0.0.10 est la dernière version préliminaire avant la sortie d'une version majeure 1.0. La nouvelle version introduit plusieurs nouveaux widgets :
- — un remplacement adaptatif du widget GtkStackSwitcher, permettant de créer automatiquement une disposition d'onglets (vues) en fonction de la largeur de l'écran. Sur les grands écrans, les icônes et les titres sont disposés sur une seule ligne, tandis que sur les petits, une mise en page compacte est utilisée, où le titre est affiché sous l'icône. Pour les appareils mobiles, le bloc de boutons est placé en bas.

- — un conteneur pour afficher la barre avec une taille disponible, éliminant les détails si nécessaire (pour les grands écrans, la barre d'en-tête complète pour le changement d'onglets est affichée, et si l'espace est insuffisant, un widget imitant l'en-tête est affiché, et le commutateur d'onglets est déplacé vers le bas de l'écran);
- — une implémentation d'une barre élargie, similaire à GtkHeaderBar, mais conçue pour une utilisation dans une interface adaptive, toujours centrée et remplissant complètement la zone d'en-tête en hauteur;
- — une variante adaptative de la fenêtre de configuration des paramètres avec une répartition des réglages en onglets et groupes;
Parmi les améliorations liées à l'adaptation des applications GNOME pour une utilisation sur smartphone, on note :
- L'interface pour passer et recevoir des appels (Calls) utilise le module loopback de PulseAudio pour coupler le modem et le codec audio de l'appareil dans ALSA lors de l'activation de l'appel et décharger le module une fois l'appel terminé;
- Dans l'application de messagerie (Messaging), une interface pour consulter l'historique des conversations dans le chat a été mise en place. SQLite est utilisé pour le stockage de l'historique. La possibilité de vérification du compte a été ajoutée, qui est désormais vérifiée via une connexion au serveur, et en cas de problème, un avertissement est affiché;
- Le client XMPP a mis en œuvre le support de l'échange de messages cryptés grâce à l'utilisation du plugin avec la mise en œuvre d'un mécanisme de chiffrement de bout en bout . Un indicateur spécial a été ajouté à la barre pour signaler si le chiffrement est appliqué dans le chat actuel ou non. Il est également possible de consulter les empreintes d'identité, que ce soit la vôtre ou celle d'un autre participant au chat;
- Dans GNOME Web, de nouveaux widgets Libhandy 0.0.10 ont été utilisés, ce qui a permis d'adapter l'interface de configuration et la barre du navigateur pour les écrans mobiles.
Source : opennet.ru

