~anjan/sxmo-docs

889771fd9b7570d6c198e7a69567651d455a60d9 — Anjandev Momi 2 months ago 3793266 + 47b0c81 master
Merge branch 'develop'
2 files changed, 69 insertions(+), 0 deletions(-)

M SYSTEMGUIDE.md
M USERGUIDE.md
M SYSTEMGUIDE.md => SYSTEMGUIDE.md +62 -0
@@ 243,3 243,65 @@ If a new notification is detected, the following actions are taken by the *handl
## Notification Browsing

Pending notifications can be viewed by running `/usr/bin/sxmo_notificationsmenu.sh` either from a terminal or from the system menu. This script displays the notification times (hh:mm) and the associated messages using `dmenu`. If selected, the action specified in the notification file is performed and the notification is removed.

# Device profiles

To support multiple devices, Sxmo relies on a device profile system that defines multiple device names for Sxmo to source.

## Writing a deviceprofile

1. On the device you want run Sxmo, run: `git clone https://git.sr.ht/~mil/sxmo-utils`.
To obtain ssh access, see [USB Network - postmarketOS wiki](https://wiki.postmarketos.org/wiki/USB_Network).
2. Read `sxmo-utils/scripts/deviceprofiles/README.md` for what
to name the device profile file and what environmental
variables to set in the device profile file.
3. The `sxmo-utils/scripts/deviceprofiles` directory has deviceprofiles
for other devices. Feel free to look through those as a reference

The edge version of postmarketOS is recommended to create a device profile
because sxmo-utils' master branch is most likely to work with edge. sxmo-utils
can work on stable but you need to be willing to debug issues with
sxmo-utils.

Once you have edited device's device profile, you can activate the
profile by:

1. Install the makedepends:

`doas apk add libx11-dev xproto linux-headers`

Note: for people reading this in the future, the makedepends may have
changed. Please install the makedepends listed in this file:
https://git.alpinelinux.org/aports/tree/community/sxmo-utils/APKBUILD

2. install make. Installing `alpine-sdk` which will install make
and let you use aports:

`doas apk add alpine-sdk`

3. Change into the root of the `sxmo-utils` directory and run `doas make
install`. You may need to reboot or restart sway/dwm and superd.

4. sshing into your device, you should now get:

```
deviceprofile file /usr/bin/<NEXUS-7-DEVICE-TREE-COMPATIBLE-STRING>.sh loaded.
```

If you get that, Sxmo has successfully loaded the device profile you
made.

5. Feel free to edit `sxmo-utils/deviceprofiles/your-device.sh`, run
`doas make install` inside sxmo-utils, and reboot till everything you
want working works.

6. If everything works, please contribute your changes
https://sxmo.org/contribute

Please do not be scared of git send-email. If you post too much to our
mailing list while learning how to use it, we dont mind and will fix it
up. We need Sxmo on more devices!

If you need realtime help in this process, please join irc:

https://sxmo.org/support

M USERGUIDE.md => USERGUIDE.md +7 -0
@@ 47,6 47,13 @@ At the top-right you see the status menu, holding various symbols:
    * When you have the earpiece as audio output, you see a phone handle icon with sound waves
    * When you have headphones as audio output, you see a headphone icon

The statusbar will add an icon if device suspend is disabled. The icon will
change depending on the reason(s) suspend is disabled. For example,
an "S" icon in the status bar means there is an active ssh/mosh connection and the device will
not suspend to keep the ssh/mosh connection alive. For an explanation of all the
icons when using the default status bar hook, see the ``set_lockedby()`` function in:
``/usr/share/sxmo/default_hooks/sxmo_hook_statusbar.sh``.

## **Global UI Controls**

**Button Bindings**