We dont use guesswm and rely on a SXMO_WM env variable. We now use
guesswm for non wm action (from ssh, console, rtc wakes, etc). It will
try to setup needed variables.
This way, we avoid to run sxmo_wm.sh and to check variables everytime.
This allow the user to manage sxmo_screenlock.sh from ssh and to run a
desktop software with "sxmo_wm.sh exec foot" by example.
We remove the "ssh" wm cause it does not really make sense anyway.
The sxmo_rtcwake.sh dont try to setup variables anymore cause the user
must use "sxmo_wm.sh exec" if they want to start a destkop software
anyway.
We remove the "xorg" check everywhere cause that make no sense. We
keep the xorg prefixed methods for common xorgs cases.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Anjandev Momi <anjan@momi.ca>
In sxmo_modemmonitor.sh checkfornewtexts() we should skip MMS and SMS WAPs,
which will be SMS messages with text of "--" or no TEXTDATA at all. Hence,
there are a couple small checks in checkfornewtexts() to do that.
As well, there is a further dbus-monitor call in sxmo_modemmonitor.sh that
monitors org.ofono.mms.Service for 'MessageAdded' to process a new MMS messages.
Most of the action happens in sxmo_modemmonitor.sh processmms().
An MMS message might be either a message with an attachment to one recipient
OR a message with multiple recipients ('Group Chat') and no attachments (or
some attachments).
Attachments get placed in ~/.local/share/sxmo/modem/$PHONENUMBER/attachments/.
They are named $PAYLOAD.jpeg, $PAYLOAD.mp3, etc., where $PAYLOAD is the unique
id that mmsd-tng assigns the mms and stores in ~/.mms/modemanager/. (Note that
since the PAYLOAD file remains on the filesystem, we could just re-extract the
attachments whenever we want them. This might be an improvement down the road.)
If there are multiple recipients, we will make a "unique" new phone number out
of *all* the numbers involved (to and from) for each group chat. For instance,
if you and Bob and Suzie are on a group chat you will have a number like
+15551234567+16661234567+17771234567 in ~/.local/share/sxmo/modem. You can
treat this like a normal number (i.e., give it a contact name, reply to it,
etc.)
Once an MMS message has arrived, one notification will be made like normal.
If there are attachments, clicking on the notification will open them all using
sxmo_open.sh.
You can also go to the message (via Texts) and click View Attachments to run
sxmo_files.sh on the attachments directory.
You can also Add an attachment when you compose a message. There is a basic
ability to Delete attachments too.
I've also reversed the contact lists so the CONTACTNAME is on the left and PHONENUMBER on
the right, otherwise with large phonenumbers it was hard to see who the CONTACTNAME is.
=== MMSD-TNG CONFIGURATION TIPS AND TRIPS ===
sxmo's mms requires mmsd-tng that includes the mmsctl program. Right now, this is
in the latest git head. See https://gitlab.com/kop316/mmsd/-/merge_requests/52.
To compile with this on edit meson_options.txt and set mmsctl to true. Then build as normal
via mmsd-tng's README. (We can also just do: gcc -o mmsctl mmsctl.c -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -ldbus-1 -ljson-c)
sxmo's mms does not require any configuration on top of what is needed to get mmsd-tng to work.
However, mmsd-tng can be a bit of a tricky thing to confugre, so here are some tips:
1. mmsd-tng includes example configurations in its README. A helpful list is here:
https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info
Here is an example (works with "Mint Mobile" which uses T-Mobile):
~/.mms/modemmanager/mms
[Modem Manager]
CarrierMMSC=http://wholesale.mmsmvno.com/mms/wapenc
MMS_APN=Ultra
CarrierMMSProxy=NULL
DefaultModemNumber=NULL
AutoProcessOnConnection=true
AutoProcessSMSWAP=true
[Settings]
UseDeliveryReports=false
AutoCreateSMIL=false
ForceCAres=false
TotalMaxAttachmentSize=1100000
MaxAttachments=25
2. mmsd-tng must use the *modem's* dns to resolve mms files. Since
NetworkManager rewrites /etc/resolv.conf with both wifi and modem active, I
found it easiest to have a static /etc/resolv.conf and to set
/etc/NetworkManager/NetworkManager.conf dns=none.
User must have grim and slurp installed.
We should add those programs to the swmo ui metapackage
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Opening all following files only is meaningfull for pictures or videos
but crazy when openning pdfs with zathura by example.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
This is a huge patch for Swmo, Sxmo over Sway.
It is Dwm backward compatible so dwm users should not expect regressions.
If you install all dependencies, you then can toggle between Sway and Dwm using a new config entry. It will reboot the phone.
This commit also contains:
* Make the modemmonitor bullet proof
* various other smaller fixes
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
We originally switched off codemadness-frontends / idiotbox because it was
no longer functional. Nowadays it works again and is substantially faster
then ytdl.
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
We use our own implementation of xdg-open that replace the hardcoded
script used in sxmo_files.
We add and will maintain some desktop entries to offer a suckless
experience by default.
Signed-off-by: Reed Wade <reedwade@misterbanal.net>
Signed-off-by: Anjandev Momi <anjan@momi.ca>
It's important for me to see wind direction in addition to speed. I
understand most people probably don't care, so we should probably show
this only if xinit sets WEATHER_WIND_DIR=1? But we can bikeshed that
later, for now here's what I'm using on my phone right now.
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Breaking change. Make sure you send an email to the mailing list
telling users to move their
$XDG_CONFIG_HOME/{modem,notifications} files/folders to
$XDG_DATA_HOME
Signed-off-by: Anjandev Momi <anjan@momi.ca>
This implements what was suggested in the discussion regarding the svkbd
patch, it makes the choice of virtual keyboard configurable using the
$KEYBOARD variable, rather than hard-coding it.