Firma Purism, rozwijająca smartfon Librem 5 i wolną dystrybucję PureOS, wydanie biblioteki , w ramach której rozwijany jest zestaw widżetów i obiektów do tworzenia interfejsu użytkownika dla urządzeń mobilnych za pomocą GTK i technologii GNOME. Biblioteka jest rozwijana w procesie portowania aplikacji GNOME do środowiska użytkownika smartfona Librem 5.
Kod projektu na licencji GPL 2.1+. Oprócz wsparcia dla aplikacji w języku C, biblioteka może być stosowana do tworzenia mobilnych wersji interfejsów aplikacji w Pythonie, Rust i Valo.
Obecnie w skład biblioteki 24 widżetów, obejmujących różne typowe elementy interfejsu, takie jak listy, panele, bloki edycji, przyciski, karty, formularze wyszukiwania, okna dialogowe itp. Proponowane widżety pozwalają na tworzenie uniwersalnych interfejsów, które funkcjonują zarówno na dużych ekranach PC i laptopów, jak i na małych ekranach dotykowych smartfonów. Interfejs aplikacji dynamicznie zmienia się w zależności od rozmiaru ekranu i dostępnych urządzeń wejściowych.
Kluczowym celem projektu jest umożliwienie pracy z tymi samymi aplikacjami GNOME na smartfonach i PC. Oprogramowanie dla smartfona Librem 5 bazuje na dystrybucji PureOS, wykorzystującej pakiety Debiana, pulpit GNOME i dostosowaną do smartfonów powłokę GNOME Shell. Zastosowanie libhandy pozwala, po podłączeniu smartfona do monitora, uzyskać typowy pulpit GNOME oparty na jednolitym zestawie aplikacji. Wśród aplikacji przetłumaczonych na libhandy znajdują się: GNOME Czas (Dialer), gnome-bluetooth, GNOME Ustawienia, GNOME Web, Phosh (Dialer), Daty, PasswordSafe, Unifydmin, Fractal, Podcasty, GNOME Kontakty i GNOME Gry.
Libhandy 0.0.10 jest ostatnią wersją wstępną przed wprowadzeniem znaczącej wersji 1.0. W nowym wydaniu zaprezentowano kilka nowych widżetów:
- — adaptacyjna zamiana widżetu GtkStackSwitcher, która automatycznie tworzy układ kart (widoków) w zależności od szerokości ekranu. Na dużych ekranach ikony i nagłówki są umieszczane w jednej linii, a na mniejszych stosuje się kompaktowy układ, w którym nagłówek wyświetlany jest pod ikoną. W przypadku urządzeń mobilnych blok przycisków przenoszony jest na dół.

- — kontener do wyświetlania panelu z uwzględnieniem dostępnego rozmiaru, który w razie potrzeby pozbywa się detali (na szerokich ekranach wyświetlana jest pełna nagłówkowa panel do przełączania kart, a jeśli miejsca jest zbyt mało, to wyświetlany jest widżet imitujący nagłówek, a przełącznik kart przenoszony jest na dół ekranu);
- — realizacja rozszerzonego panelu, analogicznego do GtkHeaderBar, ale zaprojektowanego do zastosowania w adaptacyjnym interfejsie, zawsze wyśrodkowanego i całkowicie wypełniającego obszar nagłówka pod względem wysokości;
- — adaptacyjna wersja okna do dostosowywania ustawień, z podziałem na karty i grupy;
Z ulepszeń związanych z adaptacją aplikacji GNOME do używania na smartfonie, można wymienić:
- W interfejsie do odbierania i realizowania połączeń (Calls) wykorzystano moduł PulseAudio loopback do połączenia modemu i kodera dźwięku urządzenia w ALSA po aktywowaniu połączenia oraz zrzuceniu modułu po zakończeniu połączenia;
- W programie wymiany wiadomości (Messaging) wprowadzono interfejs do przeglądania historii komunikacji w czacie. Historia jest przechowywana w bazie danych SQLite. Dodano możliwość weryfikacji konta, które teraz jest sprawdzane poprzez połączenie z serwerem, a w przypadku błędu wyświetlane jest ostrzeżenie;
- W kliencie XMPP dodano wsparcie dla wymiany zaszyfrowanych wiadomości za pośrednictwem wtyczki z realizacją mechanizmu końcowego szyfrowania . W panelu dodano specjalny wskaźnik informujący o tym, czy w bieżącym czacie stosowane jest szyfrowanie czy nie. Dodano również możliwość przeglądania identyfikacyjnych odcisków, własnego lub innego uczestnika czatu;
- W GNOME Web wykorzystano nowe widżety Libhandy 0.0.10, co pozwoliło dostosować interfejs konfiguracji i panel przeglądarki do mobilnych ekranów.
Źródło: opennet.ru

