The pages are Pango markup in a GResource, bundled for the same reason the icons are: udpscope runs straight out of the build tree with no install step, so a runtime search path's failure mode would be a silently empty help window. --c-name=udpscope_help keeps the two generated bundles from colliding. Every page is validated with pango_parse_markup() at load and falls back to a one-line stand-in rather than rendering raw markup or nothing. show_help() reuses help_window.cpp's existing close-request handler, and closes via gtk_window_close() so that handler runs and the pointer is nulled. UDPSCOPE_PROBE_HELP_MS loads and validates every page, opens the help and About windows, closes both and reports; parsed must equal pages.
32 lines
1.5 KiB
Plaintext
32 lines
1.5 KiB
Plaintext
<b>Choosing a source</b>
|
||
|
||
A source is a host and a port, optionally reached through a multicast group on a named
|
||
interface. Pass it on the command line, or let udpscope ask.
|
||
|
||
<b>How to reach it</b>
|
||
|
||
Run with <tt>--server</tt> and the app connects straight away. Run <i>without</i>
|
||
<tt>--server</tt> and a chooser appears first: the sessions udpscope has stored, newest
|
||
first, plus a <b>New host…</b> form for one it has not seen. The chooser runs before any
|
||
buffer is allocated and before any socket is opened, so declining it costs nothing.
|
||
|
||
<b>Worth knowing</b>
|
||
|
||
• The list is the sessions that <i>named a signal</i>. A session whose streamer was down
|
||
stores empty slot names and is filtered out, which is what keeps the list the sources you
|
||
actually configured rather than every port you have ever typed.
|
||
• A stored row reconnects the way it was reached. The multicast group and the interface are
|
||
written inside the session file, because the file's name (<tt>host_port.toml</tt>) cannot
|
||
carry them.
|
||
• <tt>--multicast</tt> still needs <tt>--server</tt>: the CONFIG message is fetched from the
|
||
server, not from the group.
|
||
• The <tt>×</tt> beside a row deletes that session file. Nothing else is removed.
|
||
|
||
<b>Example</b>
|
||
|
||
<tt>udpscope</tt> with two stored sessions lists
|
||
<tt>127.0.0.1:8000 plots=1 signals=3</tt> and
|
||
<tt>10.0.0.5:8001 plots=2 signals=4 multicast=239.1.2.3 interface=10.0.0.9</tt>.
|
||
Activating the first reports <tt>[sources] picked 127.0.0.1:8000</tt> and continues into
|
||
the scope with that session's layout already loaded.
|