Added a second parameter to notifications (actually a first, "app-name"), so they can be *grouped* when there is more than one, reducing the clutter on the screen, using the mako config parameter " group-by=app-name "
with proper quotes (i hope), case and cute icon ;)
added "group-by = app-name" directive in mako config
Signed-off-by: Stacy Harper <contact@stacyharper.net>
This is maily for docked mode but those bind are required.
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>
The user may want to change completly the buttons actions in normal and
locked mode. This allow this !
Btw, we also provide default inputhandler actions (as example) to help
the user to build their own.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Install tinydm:
sudo apk add tinydm tinydm-openrc
To configure SXMO as the used session use :
sudo tinydm-set-session -f -s /usr/share/xsessions/sxmo.desktop
Also ensure your user id is used in /etc/conf.d/tinydm
$ whoami | xargs getent passwd
stacy❌10000:10000:Linux User,,,:/mnt/sd/home/stacy:/bin/bash
/etc/conf.d/tinydm
AUTOLOGIN_UID=10000
Then configure the services:
sudo rc-update del xdm
sudo rc-update add tinydm
Then reboot.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Anjandev Momi <anjan@momi.ca>
Add USR2 signal to unlock hook, remove useless STOP and CONTINUE
Update the bar in the same time.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Changes from v1: This triggers the hook (without the 5 second sleep!) also when the unsuspendreason is modem or rtc,
so the user can always override the behaviour and do what he/she wants.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
This make input handling matching more consistent.
Take this example :
You want to bind one finger left gesture to something with all the
distance (short, medium and long) so you now can match *"oneleft" to
match "longoneleft", "mediumoneleft", "oneleft".
Without the "one" you would use *"left" which also match "twoleft" and
this override the "move to another workspace gesture.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Atm, only the button wake up reason was trigerring postwake. This make
the usb charger to uncrust the phone and leave it in lock or off mode.
Now postwake take an argument which is the wake up reason.
The modem reason should not manage so phone state so we make it explicit
in the default hook.
"usb power" and "button" now make the phone to blink 5 seconds and put
the phone back to crust.
This add a script to use either the user hook or the default one.
Sometime we checked the user hook or a default code. We move this
default code in a defaut hook.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
mnc goal is to display when will occurs the next cron job.
We drop the "sxmo_screenlock.sh rtc" command and the
SXMO_RTCWAKEINTERVAL variable. We will now only use
"sxmo_screenlock.sh crust" which mean suspend until next cron job
(-2 seconds).
To replicate the old behavior of the blinking phone then returning to
suspension (if needed) we now use a new script.
By example:
*/15 * * * * DISPLAY=:0 sxmo_rtcwake.sh sleep 10
This will trigger a 10s sleep task every 15 minutes (the old default
rtcwake hook).
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
As we now rely on sxmo_terminal.sh and the TERMCMD env variable, we then
can simplify things.
In the sxmo dwm context, TERMCMD="st -e" so sxmo_terminal.sh will run
the command in st.
In the ssh context, we dont have TERMCMD so sxmo_terminal.sh will just
run the command
In a tmux context, we can set TERMCMD="tmux split-window" with
set-environment -g TERMCMD "tmux split-window"
so sxmo_terminal.sh will run the command in a splited window.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Enforcing -e break some possibilities to use TERMCMD that dont use it.
TERMCMD should be setup in xinit. This way, in ssh mode, the value still
is empty. This way, some custom bash or tmux config could use
it, configuring it.
On the librem 5, this rule caused a symlink from /dev/input/mouse0
(which had the TOUCHSCREEN attrib set in udev... ??) to
/dev/input/touchscreen, when it should have been from something like
/dev/event*. This change causes udev to ignore mouse*, mice* etc in
/dev/input.
Tested on the librem 5.
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
* The sxmo_modemmonitor.sh will now run a new sxmo_modemcall.sh
dedicated menu to Pickup, Hangup or Mute the call. It will not write
notifications anymore.
* We now can mute the ring with the new pickup menu. With the default
hook, this will stop the ringtone like the missed_call would do.
* The sxmo_modemcall.sh now use a new sxmo_proximitylock.sh which
will lock the screen when putting the phone in front of the ear. This
script should be smart enough to work smoothly with a crust context.
To achieve this, the proximity_lock will only disable the initial
lock (the one who want to go back in crust after some seconds) if the
phone moved a little bit and is not in your pocket. So forgetting the
phone in a table or not earing the ring in your bag will not empty the
battery. You'll find the phone in crust with notifications.
* The sxmo_modemcall.sh do not monitor finished calls anymore. We leave
it with hangup or being killed by sxmo_modemmonitor.sh. This simplify
the call script and prevent double deleting mmcli calls. I had to use
pids and wait commands to fix and issue and make the script killeable
by the monitor.
Plus, only the monitor will now delete calls. The call script should be
precise on what happen using cached files.
* Discarded and hanged up calls are two different behavior with
different script (by default use the same linked ones)
* Fixed a bug where sometime ringing was started twice. I think this is
cause by the new checkforincomingcalls in the connected state change. We
now use a file to test if the call already has been managed.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Sometime, the modem will give 0611924312 as incoming text or
call number instead of +33611924312 (example in france).
This cause two issues cause of format missmatch:
* Notifications sometime come from "Unknown" when we actually know
the contact
* Text/Dial menu entries are duplicated with "Unknown" persons
We try here to fix boths issues with a simple idea. We will fallback
to a default prefix when it is missing (on phone like numbers,
composed of 10 numbers).
This prefix is an environment variable that cause 0 impact if missing.
* sxmo_contacts.sh will fix the recent numbers prefixes with the default
* sxmo_modemmonitor.sh will also fix the prefix with the default one
This should solve missmatch issues as both will use country code format
I only recommend to always store contacts in the prefixed format in the
contacts.tsv file.
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
Instead of the trigger file and killing mpv, we loop the ring
indefinitely until killed. Maybe we should still got a guardrail but I
still never needed it (modemmonitor would trigger missed_call late or
later ?)
Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>