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**