* Make icon_prn a nerd-font icons. It was using a font awesome code
point, which we don't install with sxmo.
* Fix phone locked and laptop icons that weren't automatically updated
* Fix brightness icon in legacy nerd-fonts range and move it to
sxmo_hook_icons from sxmo_brightness
* Use standard Unicode arrows instead of nerd-fonts ones
* Use icon variables for arrows in sxmo_wmmenu.sh
* Add variable for audio icon & use in sxmo_audio.sh
* Remove no stray break space from sxmo_contactmenu
* Remove up arrow character from reddit script
* use only icon variables in modemtext
* Update icons breakpoints
Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Several places where dash behaves differently than bash:
* read in dash has to have a variable.
* use command -v as type is not POSIX
Signed-off-by: Tzafrir Cohen <tzafrir@debian.org>
Signed-off-by: Anjandev Momi <anjan@momi.ca>
Sed is called only once
now it interprets `5m37s` as `5m + 37s` -> `5*60s + 37s` -> `5*60 + 37`
before, it was `5m37s` -> `5*60s37s` -> `5*60*137*1`. the problem is
that the script does not insert a `+` between each non-number characters
and numbers. it does now, and will understand combinations of seconds,
minutes and hours.
Note, the script will interpret `5m37s` and `37s5m` exactly the same way
This may not be necessary if the user uses by themselves`+` to separate
diffent units, though I think the current behavior is very misleading.
Signed-off-by: Anjandev Momi <anjan@momi.ca>
This is more flexible and makes packaging much easier - especially
on distros using non-standard paths like NixOS
This version of the patch has xdg_data_path default to 1 instance,
making usage simpler. The function is also documented a bit more
clearly.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
* handle exiting menus with escape
* replace if statements with case, where reasonable
* using shell string operations instead of forking
* use sxmo_dmenu_with_kb instead of opening and closing the keyboard
* remove extra options to sxmo_terminal and sxmo_bemenu (some of them
were causing problems)
Signed-off-by: Peter John Hartman <peterjohnhartman@gmail.com>
This was supposed to be part of the appscript cleanup patch, but I
forgot to rebase it.
NOTE: the first patch might not apply without this one
Signed-off-by: Peter John Hartman <peterjohnhartman@gmail.com>
- Move sxmo icons in sxmo_icons.sh
This script should be loaded when icons are needed
- Move init env variable setups in a /etc/profile.d/sxmo_init.sh
This script is loaded by tinydm and for ssh/tty logins.
The logged in user can re-trigger check_sxmo_wm if they toggle wm.
- sxmo_commons.sh now only load aliases. It can be loaded by scripts to
ensure busybox compatibility
- moved some parts of ~/.config/sxmo/xinit to ~/.config/sxmo/profile
This file also is loaded just before starting sway. It goal is to setup
env variables dedicated to sxmo
~/.config/sxmo/xinit only goal is now to trigger some dwm dedicated
things (as ~/.config/sxmo/sway can start exec commands to)
To recap, loads orders are :
tinydm:
/etc/profile.d/* # do not set SXMO_WM
~/.profile
sxmo_winit.sh:
~/.config/sxmo/profile
sxmo_xinit.sh:
~/.config/sxmo/profile
~/.config/sxmo/xinit # to start sxmo_hooks.sh
ssh/tty:
/etc/profile.d/* # will set SXMO_WM
~/.profile
- unify sxmo_winit.sh and sxmo_init.sh
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Any sane linux system will have a posix compliant shell at /bin/sh
This change will allow us to better detect running scripts using pgrep.
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
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>