actions: factor out target parsing
chat_log.rs: rustfmt
state.rs: rustfmt (mostly)
vgtk
-based SMS+MMS client
The existing messaging stacks for linux are lacking in support for MMS, from unimplemented features to antiquated frameworks.
vgmms
exists to do only SMS+MMS and to have feature parity with messaging clients for Android and iOS.
$XDG_DATA_HOME/vgmms/vgmms.db
)modemmanager-pp
package.AutoProcessSMSWAP=true
and configure your MMSC and APN in .mms/modemmanager/mms
.pacman -S rust
or curl https://sh.rustup.rs -sSf | sh
git clone https://git.sr.ht/~anteater/vgmms
cd vgmms
cargo build --release
gtk
and lalrpop
crates take a lot of RAM to build. if you run out of RAM on a PinePhone or other RAM-limited system, try the following:
-j 1
to cargo build
modemmanager
or ofonod
as root and mmsd-tng
or mmsd
(as your user). be able to watch their logs for error messages (e.g. run with -n -d
).vgmms
vgmms exposes a GtkAction
DBus interface, which can communicate with a running instance:
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.List
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate \
send-message '[<(["12345"], "hi friend", @aay [])>]' []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate \
send-message '[<(["12345", "54321"], "hi everyone", @aay [b"/tmp/horse.png", b"/tmp/info.pdf"])>]' []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate new-tab [] []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate open-chat '[<(["12345", "54321"],)>]' []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate close-tab [] []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate exit [] []
$ gdbus call -e -d org.vgmms -o /org/vgmms -m org.gtk.Actions.Activate save-attachment-dialog '[<uint64 1>]' []