Say the date and the time, and sort by both

The listing gave the time and not the date, which is fine for an
evening's scanning and useless for a directory that has been filling
for a fortnight: two recordings a week apart looked like neighbours.

Every moment in the browser is now written YY-mm-dd hh:mm:ss am/pm --
date first so a column of them reads down in order, twelve-hour so it
reads the way it would be said. Midnight is 12 am and noon is 12 pm,
which is the pair a twelve-hour clock gets wrong when it is done by
subtraction, so both are tested.

The sort is named "date/time" rather than "time" and orders by the
whole moment, with the filename breaking a tie so that the list does
not shuffle itself between one reload and the next. --sort time still
works; it is the sort of thing that lives in a shell alias.

The date costs twelve columns, so the frequency column is now only as
wide as the widest frequency in the list rather than always wide
enough for 1090.000001 MHz. It is fixed for the whole list, not the
screenful, because a column that resizes as the list scrolls under it
makes the whole listing appear to twitch.

--list is left in ISO and twenty-four hours: it is there to be piped
into grep and sort, and those want the format that sorts as text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
This commit is contained in:
The Dust Council 2026-08-30 00:53:58 -07:00
parent 3d7f76118e
commit 0f378c4d6c
7 changed files with 178 additions and 27 deletions

View file

@ -1306,7 +1306,7 @@ or symbol rate where there is one, and the bands the frequency falls in.
```
╭──────────────────────────────────────────────────────────── 4 of 126 ─╮
│ 146.88 MHz NFM Sat 22 Aug 13:01:44 42.8s SNR 17.6 dB voice
│ 146.88 MHz NFM Sat 26-08-22 01:01:44 pm 42.8s SNR 17.6 dB voice
╰───────────────────────────────────────────────────────────────────────╯
╭─ transcript ──────────────────────────────────────────────────────────╮
│ │
@ -1320,10 +1320,10 @@ or symbol rate where there is one, and the bands the frequency falls in.
│ 2 m Amateur · 2 m FM Simplex · 2 m Repeater Outputs │
╰───────────────────────────────────────────────────────────────────────╯
╭─ recordings in /mnt/global/bandsaunter ───────────────────────────────╮
856.561096 MHz 13:10:25 fsk 4m00s Motorola SMARTNET / Smart… │
158.294200 MHz 13:05:15 nfm 20.1s Steven, I'm over to Colvi… │
146.88 MHz 13:01:44 nfm 42.8s Alright, moving on. It is… │
│ 146.88 MHz 13:00:44 nfm 35.2s Check out communication o… │
│ 856.561096 MHz 26-08-22 01:10:25 pm fsk 4m00s Motorola SMARTNE… │
│ 158.294200 MHz 26-08-22 01:05:15 pm nfm 20.1s Steven, I'm over… │
146.88 MHz 26-08-22 01:01:44 pm nfm 42.8s Alright, moving … │
│ 146.88 MHz 26-08-22 01:00:44 pm nfm 35.2s Check out commun… │
╰───────────────────────────────────────────────────────────────────────╯
↑↓ move ⏎ play space stop / search t read S I N file d delete m mask q quit
```
@ -1337,7 +1337,8 @@ or symbol rate where there is one, and the bands the frequency falls in.
| `t` | read the whole transcript full screen, scrolling |
| `/` | filter — by frequency, filename, identification, **or anything that was said** |
| — | callsigns are found and looked up automatically; no key needed |
| `s` | sort by time, frequency or length |
| `s` | sort by date/time, frequency or length |
| — | each line gives the date and time as `YY-mm-dd hh:mm:ss am/pm`, newest first |
| `r` | re-read the directory, picking up what a running scan has written |
| `o` | print the file's path and quit |
| — | a picture is marked in the list, with the path of its PNG |
@ -1501,6 +1502,7 @@ repeater"* is a question about content, not about filenames.
```bash
saunterbrowse --list | grep -i "mile marker" # or ask it from a script
saunterbrowse --sort frequency # group by channel, not by time
saunterbrowse --sort date/time # newest first: the default
```
Playback is handed to whichever player is installed — `pw-play`, `paplay`,