> Gibts mittlerweile nen Matrix-Client, der E2EE vernünftig umsetzt
Von den Clients, die ich nutze, kann das nur Element.
> Ich schau mir da ab und zu mal den Stand bei den Desktop-Clients (mega unvollständig und/oder unperformanter Electron-Quatsch)
Die Implementierungen neben Element sind eigentlich alle unvollständig. Ich nutze z. B. hauptsächlich das Plugin für weechat, was für normale Chat-Funktionen wunderbar funktioniert, aber File-Upload etc. gehören einfach nicht zum Funktionsumfang des Clients, also rechne ich auch nicht damit, daß die jemals implementiert werden.
Fractal wiederum kann ziemlich viel inkl. Uploads, aber die Verschlüsselung wird wohl erst dann kommen, wenn matrix-sdk ausgereift ist. An der Integration wird definitiv gearbeitet.
Hi! I am in a similar boat then you. I checked some prime example applications and how they do it and my discovery led to following: the easiest way is to use Message-Passing with a glib::MainContext::channel()
. Therefore your widgets just fire their action and another struct which listens on the receiver side can act on these Actions. Maybe this would be a solution to your thinking?
Mobian comes with a scaled version of the Telegram desktop client and Fractal for Matrix support.
Chatty, Purism's SMS application, can also handle XMPP next to SMS but I never tried it.
For IRC there's probably some client out there that already supports scaling via libhandy.
So that only leaves Signal.
In general any desktop client that supports scaling should work. After all Mobian is just Debian with Phosh and a few phone centric apps installed, compiled for arm.
GNOME's been doing a lot of gtk-rs work lately. GNOME Fractal and GNOME Podcast are good examples which use a handful of widgets. I've used it for System76 and Pop projects just fine. The cascade
crates helps to make the API less boilerplate-y.
> Having a build system whose only task is to call a different build system is useless. It is nothing but bloat that should be deleted.
No!!! This is great! Not useless!
I like how Fractal uses Meson, all the Rust code is just built with Cargo, and Meson does everything else. And there's a lot of that. Checking dependencies, building gettext localization, gtk resources, gsettings schema, templating desktop and appdata files, installing the whole thing into the system.