New notification system added that can be used by scripts or programs that want to send notifications through Fenrir. Separate from self-voicing.

This commit is contained in:
Storm Dragon committed 2026-11-04 22:12:47 -05:00
1 parent 8eacae13c0
commit c4e9cb4b75
20 files changed
+1331 -735

No files matched your search

+30
View File
@@ -923,6 +923,27 @@ Fenrir invokes them directly and passes the current account name as the
first argument.
Commands appear in the tutorial\(cqs script list.
.SS Remote control
.SS Notifications
Send \f[CR]command notify TEXT\f[R] to speak and remember a
notification.
\f[B]Fenrir+N\f[R] repeats the most recent notification.
\f[B]Fenrir+Control+N\f[R] opens a list of the latest 100 notifications
for this reader session, newest first.
Each message is followed by its received time, formatted using the
current Presentation Time and date preference.
For example, \f[CR]Hello world 01:38 PM\f[R] with 12\-hour time, or
\f[CR]Hello world 13:38\f[R] with 24\-hour time.
.PP
Use Up/Down to browse, Enter to repeat the selected entry, and Escape or
the Close button to leave.
Tab and Shift+Tab move between controls.
The list is a snapshot; reopen it to include new arrivals.
History is cleared when the reader exits.
Notifications received while muted or temporarily silenced are still
remembered.
Self\-voicing through \f[CR]command say TEXT\f[R] does not add
notifications.
.SS Socket commands
Unix socket remote control is enabled by default.
The standard socket is \f[CR]/tmp/fenrirscreenreader\-daemon.sock\f[R],
and instances also have private sockets
@@ -935,6 +956,7 @@ Use a private socket to address one reader:
.EX
echo \(dqls\(dq \f[B]|\f[R] socat \- UNIX\-CLIENT:/tmp/fenrirscreenreader\-daemon.sock
echo \(dqcommand say Hello\(dq \f[B]|\f[R] socat \- UNIX\-CLIENT:/tmp/fenrirscreenreader\-daemon.sock
echo \(dqcommand notify Hello world\(dq \f[B]|\f[R] socat \- UNIX\-CLIENT:/tmp/fenrirscreenreader\-daemon.sock
echo \(dqcommand interrupt\(dq \f[B]|\f[R] socat \- UNIX\-CLIENT:/tmp/fenrirscreenreader\-daemon.sock
echo \(dqsetting set reading#mode=highlight\(dq \f[B]|\f[R] socat \- UNIX\-CLIENT:/tmp/fenrirscreenreader\-daemon.sock
.EE
@@ -981,6 +1003,14 @@ Command and setting requests have separate switches,
\f[CR]enable_command_remote\f[R] and \f[CR]enable_settings_remote\f[R].
Requests are authorized against the caller\(cqs account; console
self\-voicing also allows an account logged into the active console.
.PP
Notifications use the same routing and command authorization as
self\-voicing.
A detached notifier with an outdated \f[CR]WINDOWID\f[R] may fail to
identify a reader.
Target the intended private socket in that case and check returned
errors; successful delivery returns an empty reply.
Do not select an arbitrary socket when several readers are running.
.SS Command\-line options
Fenrir runs as \f[CR]fenrir [options]\f[R].
Use \f[CR]\-\-help\f[R] for the built\-in reference.