source: ntrip/trunk/BNC/scripts/helpScreenshots/README.md

Last change on this file was 11160, checked in by stuerze, 5 days ago

screenshots are updated

File size: 2.6 KB
Line 
1# Screenshots for bnchelp.html
2
3Scripts that produce the figures of `src/bnchelp.html` with the current BNC
4build: BNC's GUI runs on a virtual X display (Xvfb + openbox), is configured
5with the example configurations, driven with xdotool and photographed with
6ImageMagick. Figure numbers are those of `bnchelp.html`.
7
8| File | Content |
9|---|---|
10| `start_display.sh` | starts (`stop`: ends) Xvfb 2600x1800 and openbox on `:99` |
11| `shoot.py` | driver: helpers, BNC instances, options |
12| `jobs.py` | one job per figure (or group of figures), click positions |
13| `viewer.py` | small text window, shows the concatenation log in Figure 15 |
14
15## Requirements
16
17- BNC built (`./bnc`), network access for the live figures
18- ImageMagick (`import`, `convert`, `montage`, `composite`), Python 3 with tkinter
19- Figure 17: Perl modules of `scripts/compareSP3Plot.pl` and gnuplot
20- Xvfb, openbox, xdotool: from the system if installed, otherwise
21 `start_display.sh` downloads the Debian/Ubuntu packages with `apt-get download`
22 (no root needed) and unpacks them into `~/.cache/bnc_screenshot_tools`
23 (`BNC_SHOT_PREFIX`); the package names are those of Ubuntu 22.04
24
25## Usage
26
27```
28scripts/helpScreenshots/start_display.sh
29scripts/helpScreenshots/shoot.py --list
30scripts/helpScreenshots/shoot.py --user bkg # all jobs, ~1 h
31scripts/helpScreenshots/shoot.py --user bkg fig09 fig23_26 # selected jobs
32scripts/helpScreenshots/shoot.py --user bkg --install # and copy to src/IMG
33scripts/helpScreenshots/start_display.sh stop
34```
35
36The images are written to `/tmp/bnc_screenshots/out` (`--work`); check them
37before installing. After `--install`, rebuild BNC: the help with its images is
38compiled in (`src/bnc.qrc`, which lists every image).
39
40## Live streams
41
42Jobs marked `live` (`--list`) connect to igs-ip.net and products.igs-ip.net.
43`--user` replaces `Example:Configs` of the example configurations by that
44account; its password comes from the credentials file (`~/.netrc` or option
45`credentialsFile`), never from the command line. The example account itself
46only works on igs-ip.net. An account may be limited to about 20 simultaneous
47connections (Figures 34/35 use 20 streams). Nothing is uploaded: the upload
48panels (30, 32, 33) are shown without starting.
49
50The real-time PPP jobs (23-26, 29) run 20 minutes each for a converged
51solution.
52
53## When the GUI changes
54
55The click positions in `jobs.py` are client coordinates of the main window
56(1200x850, Qt Fusion style, English locale). If a panel's layout changes, take
57a screenshot of it (e.g. with a job that only calls `panel()`), read the new
58position and adapt the constant. Not part of the scripts: the diagrams
59(Figures 1-4, 6, 20).
Note: See TracBrowser for help on using the repository browser.