Libhandy a library to create mobile versions of GTK and Gnome applications

Clocks

Clocks

Purism, when developing the Librem smartphone 5 and the free PureOS distribution, presented the release of libhandy library 0.0.10, which is developing a set of widgets and objects to create a user interface for mobile devices using GTK and Gnome technologies.

The library is being developed in the process of porting Gnome applications to the user environment of the Librem 5 phone. The project code is distributed under the GPL 2.1+ license. In addition to supporting applications in the C language, the library can be used to create mobile versions of the interface applications in Python, Rust, and Vala.

Currently, the library includes 24 widgets that cover various typical elements of the interface, such as lists, panels, edit blocks, buttons, tabs, search forms, dialog boxes, etc.

The proposed widgets allow creating universal interfaces that work organically on both large PC and laptop screens, as in small touch screens of smartphones. The application interface changes dynamically based on screen size and available input devices.

The key objective of the project is to provide opportunities to work with the same Gnome applications on smartphones and computers.

The software for Librem 5 is based on the PureOS distribution, using as a base Debian, the Gnome desktop environment and its Shell, adapted for smartphones.

Using libhandy allows to connect a smartphone to the monitor to get a Gnome desktop typical based on a single set of applications.

Applications translated to libhandy include: all Gnome apps such as gnome-bluetooth, Gnome settings, web browser, Phosh (Dialer), Daty, PasswordSafe, Unifydmin, Fractal, Podcasts, Gnome Contacts and Gnome games.

What does Libhandy 0.0.10 offer?

Libhandy 0.0.10 is the latest preview version before the formation of a significant version 1.0.

The new version introduces several new widgets:

  • HDyViewSwitcher is an adaptive replacement for the GtkStackSwitcher widget that allows to automatically create a tab layout (views) depending on the width of the screen.

    On large screens, icons and headings are placed in one line, while small screens use a compact layout, in which the heading is displayed below the icon. For mobile devices, the button block moves to the bottom.

  • HdySqueezer: a container to display the panel, taking into account the available size, if necessary to get rid of details (for panoramic screens, the entire title bar is shaken to switch tabs, and if there is not enough space, a widget is displayed which simulates the title and the tab switch moves to the bottom of the screen).
  • HdyHeaderBar: implementation of an extended panel, similar to GtkHeaderBar, but designed for use in an adaptive interface, always centered and completely filling the header area in height.
  • HdyPreferencesWindow: an adaptive version of the window to configure parameters with the division of configurations into tabs and groups.

Of the improvements related to adapting Gnome applications for use on a smartphone, it is noted:

The PulseAudio loopback module is used on the interface to receive and make calls to connect the device's modem and audio codec to ALSA when the call is activated and the module is unloaded after the call is completed.

The messenger has an interface to view the chat history. To store the history involved SQLite DBMS.

Added the ability to verify the account, which is now verified through the connection to the server, and in case of failure, a warning is displayed.

The XMPP client supports encrypted messaging by using the Lurch plug-in with the implementation of the OMEMO terminal encryption mechanism.

A special indicator has been added to the panel that indicates whether encryption is used in the current chat or not. Also added is the ability to view the identification snapshots of one or another chat member.

Source: https://puri.sm/


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.