- Python 95.8%
- HTML 1.6%
- CSS 1.2%
- Meson 0.6%
- Shell 0.5%
- Other 0.3%
Meshy
Meshy is a GTK4/libadwaita client for MeshCore. The goal is to provide the best Linux experience.
The app is already fairly feature complete and stable, but note it is still in active development, so things may still significantly change. Feedback with missing features, ideas and bugs is welcome.
Meshy screenshot Meshy screenshotInstallation
Flatpak repo
- Add the repo:
flatpak remote-add --if-not-exists meshy https://meshy-app.org/meshy.flatpakrepo
- Install Meshy:
flatpak install meshy page.codeberg.sesivany.Meshy
Note that if you installed Meshy from the flatpak bundle (provided before), you have to uninstall it and install it from the repo to recieve updates in the future.
Building from source
Flatpak
Install flatpak-builder and the GNOME SDK:
flatpak install flathub org.gnome.Sdk//50 org.gnome.Platform//50
Build and install:
flatpak-builder --force-clean --user --install builddir page.codeberg.sesivany.Meshy.json
Or to create a .flatpak bundle:
flatpak-builder --force-clean --repo=repo builddir page.codeberg.sesivany.Meshy.json
flatpak build-bundle repo meshy.flatpak page.codeberg.sesivany.Meshy master
All dependencies (including third-party Python packages and native libraries) are handled by the Flatpak manifest automatically.
Native build
Dependencies
Build dependencies:
- meson (>= 0.62.0)
- ninja
- python3
- glib2 (gio-2.0, glib-compile-resources, glib-compile-schemas)
- gtk4 (gtk4-update-icon-cache)
- desktop-file-utils (desktop-file-validate)
- appstream (appstreamcli)
- gettext (msgfmt)
Runtime dependencies:
- gtk4
- libadwaita
- gstreamer
- libshumate
- geoclue2
- zbar (optional, for QR code scanning)
- python3-gobject (PyGObject)
- python3-pycryptodome (pip:
pycryptodome) - python3-pyzbar (pip:
pyzbar) (optional, for QR code scanning) - python3-pyserial
- python3-segno (pip:
segno)
On Fedora:
sudo dnf install meson ninja-build python3 glib2-devel gtk4-devel libadwaita-devel \
gstreamer1-devel libshumate-devel geoclue2-devel zbar-devel \
python3-gobject python3-pyserial desktop-file-utils appstream gettext
pip install pycryptodome pyzbar segno
On Debian/Ubuntu:
sudo apt install meson ninja-build python3 libglib2.0-dev libgtk-4-dev libadwaita-1-dev \
libgstreamer1.0-dev libshumate-dev libzbar-dev \
python3-gi python3-pycryptodome python3-pyzbar python3-serial python3-segno \
desktop-file-utils appstream gettext
Build options
| Option | Default | Description |
|---|---|---|
qr_scanner |
true |
Enable QR code scanning support (requires zbar and pyzbar) |
To build without QR code scanning (e.g. if zbar or pyzbar are not available on your distribution):
meson setup builddir --prefix=/usr -Dqr_scanner=false
The "Scan QR Code" option will be hidden from the UI when built without this feature.
Build and install
meson setup builddir --prefix=/usr
meson compile -C builddir
sudo meson install -C builddir
Translations
Meshy uses Codeberg Translate (Weblate) for translations. If you'd like to help with translations, go check existing ones. If your language is in the list, you can start translating as a registered user. If it isn't among existing translations, file a ticket and request it.