Porting GNOME Applications¶
This guide will cover the tasks associated with porting GNOME applications to the Librem 5 phone, taking into account the different capabilities, form factor and other constraints that make application design different to that on laptops and desktop machines.
A typical developer workflow for porting will involve something like this:
- Install GNOME Builder.
- Checkout a GNOME app to port, or start a new GNOME application project within GNOME Builder.
- Adjust dependencies for the project to pull in libhandy or other possible requirements.
- Adjust project code and/or XML files for UI changes to accommodate for mobile.
- Build a flatpak for the app from within GNOME Builder.
- Copy flatpak into the emulator, install and run it within the emulator.
- Debug any issues you encounter.
- Repeat until your app works well on the Librem 5 emulator.
- Test on a development board or Librem 5.
- Contribute the app or port.
Hints and Tips¶
There are some UI elements in GTK+ that are touch friendly (and therefore good to use on a phone) while others are not (e.g. combo boxes).
This page will explain how to make the currently non touch friendly parts of an app more touch friendly. This page is still a work in progress. Until more is written, please take a look at these touch friendly applications as examples:
Any touch friendly UI elements should be good for apps on the Librem5.