Changes
What changed from version to version (from the file CHANGES.txt in the download).
Version 0.9 (since 0.8)
Reader: selecting and copying text
- Mouse selection by dragging (flowing across lines), with automatic scrolling when dragging past the top/bottom edge; double-click selects a word, Shift+click extends the selection, a click without dragging clears it.
- Ctrl+A selects all, Ctrl+C / Ctrl+Insert copies (when the reader has the focus). Context menu (right mouse button, Shift+F10, menu key): Copy, Select all, and over a link Open link and Copy link.
- Clipboard as CF_UNICODETEXT: CP437 -> Unicode (umlauts, sharp s, box and block characters correct), no ANSI escape sequences, CR LF line ends, trailing spaces removed.
- Decision: logical lines are copied. Lines wrapped by the reader are joined again (one space at the wrap point, none at a hard break); the quote prefix repeated by the wrap is not copied.
- Selection drawn white on blue, also over ANSI colours, at every font size (zoom, fit to width) and in wrapped lines.
Reader: clickable links
- http://, https://, ftp://, telnet://, mailto: and www. are detected in the message text, not in kludges (not even when shown with Ctrl+K). Drawn underlined in the link colour, hand pointer over links, I-beam over text.
- A click without dragging opens the link with ShellExecuteW "open"; www. is opened as https://www. Errors (e.g. no program for telnet:) -> message box with the URL.
- Security: only these six schemes; file://, javascript:, program and path names and every other scheme are never opened. The URL is checked again right before ShellExecuteW (scheme, printable URL characters only, max. 2048 characters); no parameters.
- URLs wrapped by the reader (including the hard break of long URLs) are a link on every screen row and open in full. URLs split by the author with a real line break are not joined.
Version 0.8 (since 0.7)
Sysop name and origin (Settings, F9)
- New right-hand column "Sysop - defaults for all bosses": name (sysop=) and origin text (system=), saved globally before the first section (an existing line is replaced in place, otherwise inserted before the first "["). They apply to every boss without its own values.
- Per boss: check box "Use own name/origin" (unthemed, readable) with name and origin text for this boss. Checked: sysop=/system= in the [boss NAME] section (empty field = default). Unchecked: both lines are removed from the section and the defaults apply. Disabled for a cfg without sections.
- Comments, blank lines and all other lines stay byte-identical.
- Takes effect right after saving (no restart) for the sender of echomail, netmail and AreaFix requests, the origin line (editor and added by scan) and ZYZ/SYS in the binkp login. Lastread user: still the global sysop= from program start.
- Origin length: " * Origin: <text> (<AKA>)" at most 79 characters, so the text may be at most 79 - 14 - length(AKA). The dialog shows the limit and refuses to save longer texts (message, nothing written) - it never silently changes your input. Too long because edited by hand: truncated when writing (editor to the limit, scan at most 50 as before), spaces before "(" removed, AKA always complete. ASCII only, name max. 35 chars.
- Keys: sysop=, system= (global = default; inside a [boss ...] section = this boss only). Documented in binkpoint.cfg.example and the READMEs.
About box
- Additionally: "Author: Michael Geller · e-mail: michael@g00r00.com" and "FidoNet/fsxNet BBS: 21:1/177 (sysop: Michael Geller)". Contact info also in README.md/README.en.md.
Fix
- AreaFix request from the command line (binkpoint areafix BOSS ...): MSGID CRC and UserCRC in the JAM header were 0 (CRC table not built).
Version 0.7 (since 0.6)
Deleting messages (GUI)
- The list allows multi-selection (Shift/Ctrl). Delete via Del, menu Message -> Delete ... and the list's context menu (right mouse button, Shift+F10) -> Delete. Confirmation with the count ("Delete 3 messages?", Yes/No).
- Marked like smapi JamKillMsg (hpt/sqpack/GoldED): MSG_DELETED + TxtLen 0 in the header, .jdx entry FFFFFFFF/FFFFFFFF, ActiveMsgs - n, ModCounter + 1; under the JAM lock. List and counters are reloaded, deleted messages are hidden and never exported. Removed for good when the base is packed (e.g. sqpack). Netmail and echo areas.
Log pane
- Hidden by default; View -> Show log (Ctrl+L) is a checkable menu item, the layout reflows immediately.
- The list/reader split is scaled with rounding instead of truncation on resize (it drifted by 1 px per toggle).
Window settings (binkpoint.ini)
- New: binkpoint.ini in the directory of the configuration file in use (section [window]). Saved on exit, restored on start: position/size, maximized, splitters, column widths, sorting, reader font size, log visible. binkpoint.cfg is not modified for this.
- Position outside all monitors -> default position; too large -> shrunk to the work area; nonsense values -> defaults.
Readable check boxes (Windows 11, dark dialogs)
- All check boxes (AreaFix "with rescan, R =", settings auto-poll, create new areas automatically, take over bad messages) without the visual styles theme (SetWindowTheme), so the light text colour applies. There are no radio buttons. Now also linked: uxtheme.
- AreaFix hint: "Create & poll" was shown without the "&" (fixed).
Other
- Version 0.7 (banner, PID/tearline, Via, binkp VER, manifest).
Version 0.6 (since 0.5)
JAM interoperability (tested against husky smapi/hpt/hptlink/sqpack and GoldED+)
- Scanner: in echo areas an own, not yet sent message (LOCAL, not SENT) is now exported even if the JAM header carries the netmail type bit instead of the echo bit. Reason: hptlink and sqpack (smapi) write echomail headers back with TYPENET when linking/packing; an own reply was then silently never exported. Netmail areas unchanged (messages with the echo bit are not exported from them).
JAM notice
- README.md / README.en.md and the "About binkpoint" window (both languages) now contain the notice required by JAM-001: "JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch, Mats Wallin. ALL RIGHTS RESERVED."
Other
- Version 0.6 (banner, PID/tearline, Via, binkp VER, manifest).
Version 0.5 (since 0.4)
Echo areas via AreaFix (window Mail -> Areas / AreaFix, Ctrl+E, "Areas" button)
- Per boss a list of areas: tag, description, status at the boss (linked / not linked / unknown) and whether the area is configured locally. Source: the AreaFix replies in the boss's netmail area, cached in areas_<boss>.lst next to the cfg.
- Buttons for %LIST, %LINKED (or areafix_query), %HELP, %RESCAN [R=n], subscribe (+TAG, optionally ,R=n) and unsubscribe (-TAG); the request is shown in a freely editable field (one command per line).
- "Create netmail": private netmail (Local+Private) to areafix_name at the boss, subject = areafix_password; "Create & poll" then immediately runs export + poll + toss for this boss.
- Unsubscribing a locally configured area asks whether the echoarea= line should be removed from the cfg; the JAM base is always kept.
- Replies are evaluated again automatically after every poll/toss.
- The subject of AreaFix netmails (= password) is shown only as ******** in the list, the reader and the log.
Automatic creation of new areas (tosser)
- When echomail for an unknown area arrives from the boss (packet from boss_address), the area is created instead of going to Bad: line "echoarea=TAG <areadir>\<tag lower case>" in the boss section (after its last setting line, the rest of the file byte-identical), JAM base created, tossed into it. The GUI rebuilds its tree without a restart.
- Existing bad messages of that tag are taken over (movebad, without the AREA kludge) and marked deleted in Bad.
- Packets from other senders never create areas.
Configuration (per boss, all optional)
- areafix_name (default AreaFix), areafix_password (subject; empty = empty subject, no fallback to password=), areafix_query (default %LINKED), autocreate=yes|no (default yes), movebad=yes|no (default yes), areadir (default: directory of netmail=).
- Settings dialog: AreaFix name, AreaFix password (masked, set-only like the session password), "New echo areas: create automatically / take over bad messages".
Command line
- binkpoint.exe areafix <boss> "%LIST;+TAG;-TAG" (write the request netmail)
- binkpoint.exe areas <boss> (evaluate replies, print the list, cache)
Other
- Version 0.5.
- Keyboard shortcuts: the table had a fixed length (Ctrl+Num0 was missing); the count is now computed.
Version 0.4 (since 0.3)
Language: German / English
- Every visible text exists in German and English: menus, toolbar, columns, tree, reader header, status bar, poll line, log pane, settings, new boss, confirmations, error messages, About box, compose window, kludge view, help/usage and the log lines of poll/toss/scan/all.
- New cfg key language=de|en|auto in the global section (default auto: Windows display language German -> German, otherwise English).
- Command line: -lang de|en (overrides the cfg).
- Settings dialog: "Sprache / Language" drop-down (Automatic, Deutsch, English). Only the language= line is saved, the rest of the cfg stays unchanged. Takes effect after a restart (note shown in the dialog).
- Poll/toss/export started from the GUI run in the GUI's language.
- Not translated: kludges, tearline, PID, origin, message bodies.
Application icon
- New application icon (res/binkpoint.ico, 8 sizes 16-256 px, 256 as PNG): embedded as a resource in binkpoint.exe (RT_GROUP_ICON 1 + RT_ICON) so Explorer shows it; the main window, settings, compose window and message boxes show it in the title bar, the About box also next to its text.
Other
- English documentation: README.en.md, CHANGES.txt.
Version 0.3 (since 0.2)
Message list
- Only the selected row is highlighted blue (previously all rows were).
- Sorting: default is the JAM message number (Nr) ascending; clicking a column header sorts by that column, clicking again reverses the order. New: an arrow in the column header shows column and direction (before, a sort chosen by a click, e.g. by date, was invisible and stayed active for all areas).
Window and layout
- Tree, list, reader and log follow resizing, maximising and restoring; the Subject column fills the list width.
- The initial size is limited to the screen's work area; starting maximised (shortcut "Maximized") is honoured.
Settings (Mail -> Settings)
- Boss/server per section: own AKA, boss address, host, port, password (masked), CRAM-MD5, auto-poll, inbound/outbound/netmail paths, network name.
- Create a new boss, delete a boss (with confirmation; the last one stays).
- FTN addresses and port (1-65535) are validated; only the changed lines of the configuration file are rewritten.
Reader
- The font size follows the window width (80 columns fill the reader, whole pixels, 16 to 48 px).
- Ctrl+mouse wheel, Ctrl+Plus/Ctrl+Minus set the size by hand (10 to 72 px), Ctrl+0 returns to automatic fitting.
- Word wrap: long lines break at the last space before column 80 instead of in the middle of a word ("brewe" / "d"); without a space a hard break; continuation lines of quotes get the prefix again ("R> "). Lines with ANSI escape sequences or CP437 frame/block characters keep the hard break after column 80 so ANSI art stays intact.