• Vala 96.6%
  • Shell 1.1%
  • Python 1%
  • CSS 0.9%
  • Meson 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-23 14:19:18 -07:00
docs Add user thread label filters 2026-07-22 18:04:37 -07:00
img Add screenshot to README 2026-03-04 14:23:39 -08:00
meson Add AppImage build target 2026-03-03 17:25:30 -08:00
po Update translation file 2026-03-03 17:25:03 -08:00
resources Add user thread label filters 2026-07-22 18:04:37 -07:00
scripts Add user thread label filters 2026-07-22 18:04:37 -07:00
src Navigate to channels from user threads 2026-07-23 14:19:18 -07:00
support Checkpoint: Load channels 2026-03-03 17:25:03 -08:00
vapi Refactor markdown rendering in MessageView 2026-03-18 19:26:05 -07:00
.clang-format Add clang-format spec 2026-03-20 14:26:41 -07:00
.gitattributes Add 'beads' issue tracker 2026-03-03 17:26:45 -08:00
.gitignore Add 'beads' issue tracker 2026-03-03 17:26:45 -08:00
AGENTS.md Add off-screen agent launcher for headless debugging 2026-06-24 17:13:30 -07:00
CLAUDE.md Symlink AGENTS.md -> CLAUDE.md 2026-06-24 17:17:42 -07:00
LICENSE Add MIT license 2026-03-03 17:39:49 -08:00
Makefile Add AppImage build target 2026-03-03 17:25:30 -08:00
meson.build Add icon for Threads sidebar item 2026-07-21 17:12:24 -07:00
meson_options.txt Show unread count in channel list 2026-03-03 17:25:04 -08:00
README.md Update README with build instructions 2026-05-27 16:46:17 -07:00

Mattermost GTK

A native GTK4 desktop client for Mattermost, written in Vala.

App Screenshot

Features

  • Channel browsing and messaging
  • Threaded conversations
  • Markdown rendering
  • Emoji reactions and picker
  • File attachments and image preview
  • Direct messages
  • Real-time updates via WebSocket
  • Quick channel search
  • Saved posts
  • Custom user status
  • Credential storage via libsecret

Building

Dependencies

  • Vala compiler
  • Meson & Ninja
  • GTK 4 (>= 4.12)
  • GtkSourceView 5
  • libsoup 3.0
  • json-glib 1.0
  • libgee 0.8
  • libsecret 1
  • libcmark
  • SQLite 3

On Debian/Ubuntu:

sudo apt install valac meson ninja-build libgtk-4-dev libgtksourceview-5-dev \
  libsoup-3.0-dev libjson-glib-dev libgee-0.8-dev libsecret-1-dev \
  libcmark-dev libsqlite3-dev pkg-config cmark cmake gettext

Compile & Run

meson setup builddir
meson compile -C builddir
./builddir/mattermost-gtk

Install

meson install -C builddir

AppImage

A self-contained AppImage can be built using Docker (no host dependencies beyond Docker itself):

./scripts/build-appimage.sh

This builds inside an Ubuntu 24.04 container, bundles all libraries, and produces Mattermost_GTK-x86_64.AppImage in the project root. On first run the AppImage installs its .desktop file and icon into ~/.local/share for desktop integration.

Configuration

On first launch, open Settings to configure your Mattermost server URL and log in.

License

See LICENSE for details.