diff --git a/CHANGELOG.md b/CHANGELOG.md index 7de0cd5..483bf64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,12 @@ Plain text now comes last in the snippet format order, so pasted DAX, SQL, or KQ as code. A bare word or a number still pastes as a note. An order you chose in Preferences is kept; a language added by an update joins it in front of Plain text. +### A snippet's width is its line width +Drag a text container's right edge, or hold **Shift** on its corner handle, to change its +width in columns; the handle shows the count, and a plain drag of the corner still scales. +**F6** wraps DAX to that width. A new container is 65 columns wide, where the DAX +formatter wraps. + ## 1.3.0 - 3 September 2026 ### Export a board to PowerPoint diff --git a/README.md b/README.md index 702570f..a0c4a47 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,8 @@ Use **Copy settings** after finding a useful combination so the exact values can | F2 | Edit the selected text container, or rename the selected frame | | View > Frame | Add a frame the size of the screen: a slide drawn on the board, selected by its edge or its tab, which Export takes as it is | | Language chip | Choose Plain text, DAX, or SQL Server on a selected text container | -| F6 | Format DAX, SQL, or KQL on the selected text container. In F2, formats in place | +| F6 | Format DAX, SQL, or KQL on the selected text container; DAX wraps to the container's columns. In F2, formats in place | +| Drag right edge, or Shift + drag handle | Change a text container's width in columns and reflow it; the handle shows the count. A plain drag of the corner scales it | | Ctrl+Enter | Commit the F2 edit, including an F6 format done in that session, and return to display mode | | Escape | Cancel the active text edit, close the command strip, or leave full screen or canvas only | | Ctrl+S / Ctrl+O | Save / open a board | diff --git a/docs/decisions.md b/docs/decisions.md index 819448d..9a55e3f 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -684,6 +684,37 @@ Two things were changed together, and the second is what makes the first safe: --- +## 29. A text container's width in columns is the line width of its snippet + +**Implemented.** + +The DAX formatter wraps to a maximum line length; the SQL and KQL formatters break by +structure and have no width at all. A "line width" setting shared by the three languages +was therefore not added: it would be honoured by one of them. What every snippet already +has is a width, and a text container wraps its lines at that width on screen, so the +container's width in columns is the line width the reader sees. Two things were changed +to make it the line width the formatter uses too: + +- **F6 formats DAX to the columns the container shows.** Columns are invariant under the + display-mode scaling, so this works whether or not the container has been enlarged for + the room. A new container is 65 columns wide, which is also the formatter's default, so + a pasted and formatted snippet has no visual wraps; before, the default width showed + about 58 columns and formatted DAX wrapped on screen at once. +- **Shift while dragging the handle changes the width in columns** and reflows the text, + keeping the font size; the handle shows the count while dragging. A plain drag keeps + scaling the container like a picture. Replacing scaling with reflow was considered and + rejected: making a snippet bigger for the room is the resize a presenter needs, it is + what every other container does with the same gesture, and reflowing on a drag would + change line breaks while someone is only making space. Shift already means "constrain" + for strokes, so it reads as the narrower version of the gesture. The right edge of a text + container is the same width handle without the modifier: the cursor says so on hover, + which is what makes it discoverable, and the corner stays the scale handle. + +Structural switches for SQL and KQL, one column per line or one pipe per line, are the +levers those languages have, and can come as yes-or-no settings when someone asks. + +--- + ## Open questions - arm64 is not built; add it if Surface devices matter for a pen application. diff --git a/site/guide.html b/site/guide.html index 8820225..ef52d74 100644 --- a/site/guide.html +++ b/site/guide.html @@ -697,7 +697,8 @@

Text, DAX, SQL, and KQL

Paste prefers an image when the clipboard has one, including a file SnagIt or another capture tool left on the clipboard. Paste plain text to create a selected text container.

SVG counts as an image, whether the source application published it as SVG or the markup was simply copied as text — the output of a DAX SVG measure pastes as a picture, not as a snippet. Copying an SVG container puts the markup and a bitmap on the clipboard together, so an editor receives the source and a slide receives the picture.

Help → Preferences sets Snippet format order: paste tries those languages from top to bottom, and Plain text comes last, so DAX, SQL, and KQL are recognized while a bare word stays a note. Put Plain text first to keep every paste plain. Use the title-bar chip to change the language afterward.

-

F6 formats DAX, SQL, or KQL on the selected container, without entering edit mode. F2 edits the container, and double-click still centers it and fits it to the canvas; inside an edit F6 formats in place and Ctrl+Enter commits that format with the rest of the edit. SQL Server mode targets SQL Server 2025 T-SQL, keeps GO batch separators, and leaves an invalid script unchanged; KQL reads Kusto through Microsoft's own parser and likewise leaves an invalid query alone. Escape restores the previous text, language, and size.

+

A text container's width is its line width. Drag its right edge to change the width in columns and reflow the text; the handle shows the count. Shift on the corner handle does the same, and a plain drag of the corner scales the container like a picture. A new container is 65 columns wide, which is where the DAX formatter wraps.

+

F6 formats DAX, SQL, or KQL on the selected container, without entering edit mode, and wraps DAX to the container's columns. F2 edits the container, and double-click still centers it and fits it to the canvas; inside an edit F6 formats in place and Ctrl+Enter commits that format with the rest of the edit. SQL Server mode targets SQL Server 2025 T-SQL, keeps GO batch separators, and leaves an invalid script unchanged; KQL reads Kusto through Microsoft's own parser and likewise leaves an invalid query alone. Escape restores the previous text, language, and size.

LiveView

View → LiveView captures a window or a display. The container behaves like an image: move, resize, frame, delete, undo.

diff --git a/site/shortcuts.html b/site/shortcuts.html index fa3f4b7..c268508 100644 --- a/site/shortcuts.html +++ b/site/shortcuts.html @@ -122,7 +122,8 @@