Het bedrijf Purism, dat de smartphone Librem 5 en de vrije distributie PureOS ontwikkelt, heeft de bibliotheek , ontwikkeld in het kader waarvan een set widgets en objecten voor het creƫren van gebruikersinterfaces voor mobiele apparaten met behulp van GTK en GNOME-technologieƫn wordt samengesteld. De bibliotheek wordt verder ontwikkeld tijdens het porteren van GNOME-applicaties naar de gebruikersomgeving van de smartphone Librem 5.
De code van het project onder GPL 2.1+. Naast de ondersteuning voor applicaties geschreven in C, kan de bibliotheek ook worden gebruikt voor het maken van mobiele variant van applicaties in Python, Rust en Vala.
Momenteel bevat de bibliotheek 24 widgets die verschillende typische interface-elementen dekken, zoals lijsten, panelen, invoervakken, knoppen, tabs, zoekformulieren, dialoogvensters enzovoort. De aangeboden widgets stellen gebruikers in staat om veelzijdige interfaces te creƫren die zowel op grote schermen van pc's en laptops als op kleine aanraakschermen van smartphones soepel functioneren. De gebruikersinterface van applicaties past zich dynamisch aan aan de schermgrootte en beschikbare invoerapparaten.
Het belangrijkste doel van het project is om de mogelijkheid te bieden om met dezelfde GNOME-applicaties op smartphones en pc's te werken. De software voor de smartphone Librem 5 is gebaseerd op de distributie PureOS, die gebruik maakt van het Debian-pakketbeheer, de GNOME-desktop en een voor smartphones aangepaste GNOME Shell-interface. Door gebruik te maken van libhandy kan, wanneer de smartphone op een monitor is aangesloten, een typische GNOME-desktop op basis van dezelfde set applicaties worden verkregen. Enkele op libhandy vertaalde applicaties zijn: GNOME Calls (Dialer), gnome-bluetooth, GNOME Settings, GNOME Web, Phosh (Dialer), Daty, PasswordSafe, Unifydmin, Fractal, Podcasts, GNOME Contacts en GNOME Games.
Libhandy 0.0.10 is de laatste voorlopige versie vóór de belangrijke release 1.0. In deze nieuwe versie zijn verschillende nieuwe widgets geïntroduceerd:
- ā een responsieve vervanging voor de widget GtkStackSwitcher, die automatisch de lay-out van tabbladen (weergaven) kan vormen, afhankelijk van de breedte van het scherm. Op grote schermen worden pictogrammen en kopteksten in ƩƩn rij geplaatst, terwijl op kleinere schermen een compacte indeling wordt gebruikt, waarbij de koptekst onder het pictogram wordt weergegeven. Voor mobiele apparaten wordt het knoppenspel naar de onderkant verplaatst.

- ā container voor het weergeven van de balk rekening houdend met de beschikbare ruimte, waarbij het indien nodig zich ontdoet van details (voor brede schermen wordt de volledige kopbalk voor het schakelen tussen tabs weergegeven, en als er niet voldoende ruimte is, wordt er een widget getoond die de kop imiteert en de tab-schakelaar naar de onderkant van het scherm verplaatst);
- ā implementatie van een uitgebreide balk, vergelijkbaar met GtkHeaderBar, maar ontworpen voor gebruik in een responsieve interface, altijd gecentreerd en die de kopruimte volledig in de hoogte vult;
- ā responsieve variant van het venster voor het instellen van parameters met instellingen verdeeld over tabs en groepen;
Van de verbeteringen die verband houden met de aanpassing van GNOME-applicaties voor gebruik op smartphones, zijn de volgende opmerkelijk:
- In de interface voor het ontvangen en maken van gesprekken (Calls) is de PulseAudio-module loopback betrokken voor de koppeling van de modem en de geluidscodec van het apparaat in ALSA bij het activeren van een oproep en wordt de module ontladen na het beƫindigen van het gesprek;
- In de berichtenapplicatie (Messaging) is een interface geĆÆmplementeerd voor het bekijken van de chatgeschiedenis. Voor het opslaan van de geschiedenis wordt de SQLite-database gebruikt. Er is een mogelijkheid toegevoegd voor accountverificatie, die nu wordt gecontroleerd via een verbinding met de server, en in geval van een fout verschijnt er een waarschuwing;
- In de XMPP-client is ondersteuning voor het verzenden van versleutelde berichten geĆÆmplementeerd via het gebruik van de plugin met de implementatie van een eind-tot-eind versleuteling mechanisme . In de balk is een speciale indicator toegevoegd die aangeeft of er versleuteling in de huidige chat wordt toegepast. Ook is de mogelijkheid toegevoegd om identificatiesleutels van jezelf of een andere deelnemer aan de chat te bekijken;
- In GNOME Web zijn nieuwe widgets van Libhandy 0.0.10 gebruikt, wat het mogelijk maakte om de configuratie-interface en de browserbalk voor mobiele schermen aan te passen.
Bron: opennet.ru

