A minimal GTK3 X11 client in C for Tweetapus.
Warning
Linux Only: While Tweeta Desktop may compile on non-Linux systems (such as macOS or Windows), it is horribly broken and completely unsupported. Official binaries for macOS are provided solely for convenience. Compiling on Windows requires significant manual patching. macOS compilation issues will be fixed (CI/CD is in place for building DMGs), but runtime bugs not present on Linux likely won't be fixed unless they are trivial or a patch is submitted by someone with a Mac, as I cannot test beyond compilation on macOS without access to a Mac. Using them or building from source on non-Linux systems is at your own risk.
(c) 2025 Lily Licensed under the AGPLv3 license
Detailed documentation is available in the docs/ directory.
To build the client, you will need to have GTK3, libcurl, json-glib, and GPGME installed.
To build the Texinfo manual, install makeinfo from GNU Texinfo.
Required packages:
- GTK3 (libgtk-3-dev on Debian/Ubuntu)
- libcurl (libcurl4-openssl-dev on Debian/Ubuntu)
- json-glib (libjson-glib-dev on Debian/Ubuntu)
- GPGME (libgpgme-dev on Debian/Ubuntu) - for encrypted messaging support
- GNU Texinfo (
makeinfo) - for generating the Info manual
Installing dependencies on Debian/Ubuntu:
sudo apt-get install libgtk-3-dev libcurl4-openssl-dev libjson-glib-dev libgpgme-dev texinfo pkg-configInstalling dependencies on macOS (Homebrew):
brew install gtk+3 json-glib curl gpgme texinfo pkg-configRun make to build the client.
Run make info to build the Info manual (tweeta-desktop.info).
Run the following commands:
meson setup build
ninja -C buildTo run the client, simply run ./tweeta-desktop.
If you need to target a different Tweeta/Tweetapus instance, you can override the default endpoints at runtime:
TWEETA_API_BASE_URL="https://your-instance.example/api" \
TWEETA_BASE_DOMAIN="https://your-instance.example" \
./tweeta-desktop