The aim of The handy library is to help with developing UI for mobile devices using GTK/GNOME.
libhandy is licensed under the LGPL-2.1+.
To build libhandy you need to first install the build-deps defined by the debian/control file
If you are running a Debian based distribution, you can easily install all those the dependencies making use of the following command
sudo apt-get build-dep .
We use the Meson (and thereby Ninja) build system for libhandy. The quickest way to get going is to do the following:
meson . _build
ninja -C _build
ninja -C _build install
For build options see meson_options.txt. E.g. to enable documentation:
meson . _build -Dgtk_doc=true
ninja -C _build/ libhandy-doc
There's a C example:
_build/examples/example
and one in Python. When running from the built source tree it needs several environment varibles so use _build/run to set them:
_build/run examples/example.py
To be able to use Handy's widgets in the glade interface designer without installing the library use:
_build/run glade
The documentation can be found online here. Further examples on how to use the widgets in your favorite programming language can be found here:
- calls (HdyDialer)
- gnome-bluetooth (HdyColumn)
- GNOME Settings (HdyActionRow, HdyColumn, HdyLeaflet, HdyTitleBar)
- GNOME Web (HdyActionRow, HdyColumn, HdyComboRow, HdySearchBar)
- phosh (HdyDialer)
- Daty (HdyColumn, HdyLeaflet, HdySearchBar, HdyTitleBar)
- HydraPaper (HdyActionRow, HdyHeaderBar, HdyPreferencesGroup, HdyPreferencesPage, HdyPreferencesRow, HdyPreferencesWindow, HdyViewSwitcher)
- PasswordSafe (HdyColumn)
- Unifydmin (HdyColumn, HdyLeaflet, HdyTitleBar)
- GNOME Contacts (HdyLeaflet, HdyHeaderGroup, HdyTitleBar)
- GNOME Games (HdyColumn, HdyTitleBar)