No description
  • JavaScript 95.5%
  • Makefile 3.6%
  • Shell 0.9%
Find a file
2026-06-22 00:53:08 -07:00
bin Initial commit 2026-06-22 00:30:29 -07:00
data Initial commit 2026-06-22 00:30:29 -07:00
flatpak Initial commit 2026-06-22 00:30:29 -07:00
src add account switcher 2026-06-22 00:37:12 -07:00
tacky@e9ab6d6f00 Initial commit 2026-06-22 00:30:29 -07:00
.gitignore Initial commit 2026-06-22 00:30:29 -07:00
.gitmodules Initial commit 2026-06-22 00:30:29 -07:00
call_screenshot.png add call screenshot 2026-06-22 00:53:08 -07:00
gacky.js Initial commit 2026-06-22 00:30:29 -07:00
Makefile Initial commit 2026-06-22 00:30:29 -07:00
README.md add call screenshot 2026-06-22 00:53:08 -07:00
screenshot.png Initial commit 2026-06-22 00:30:29 -07:00

Gacky

A PoC GTK4 frontend to tacky.

Gacky showing the contact sidebar and an open group chat

A voice call in progress

Build & run (development)

The frontend needs gjs, GTK 4 and libadwaita installed. The backend is built from the submodule:

git clone --recurse-submodules <repo> gacky   # or: git submodule update --init --recursive
cd gacky
make run        # builds tacky/dist/tackyd-json, stages it, and launches gacky

make backend builds just the daemon (into build/tackyd-json). At runtime gacky finds the backend via, in order: --tackyd PATH, $GACKY_TACKYD, the local build/ or tacky/dist/ build, then tackyd-json on $PATH.

Run ./bin/gacky --help for the backend CLI options gacky forwards (--transient, --debug-level, …).

Flatpak

The manifest builds both the backend (from a pinned tacky commit, with all Tcl/native deps pre-staged for an offline build) and the frontend onto the GNOME runtime; both binaries land in /app/bin.

Install the runtime once (the build expects it to be present):

flatpak install --user flathub org.gnome.Platform//49 org.gnome.Sdk//49

Then:

make flatpak-install        # build + install for the current user
flatpak run io.github.pounceandmiss.Gacky