Commit Graph
20 Commits
Author SHA1 Message Date
Bishal De 2bbef53f29 craft-print, craft-ui: show printers by name, not CUPS queue name (#192)
* print, ui: a printer is shown by its name, not its CUPS queue name

CUPS queue names can't hold dots or spaces, so macOS adds the printer at
192.0.2.15 as the queue `_192_0_2_15`, and the Print dialog showed that
underscored name. The name the user knows is the queue's description
(CUPS `printer-info`).

craft-print now lists queues with `lpstat -l -p -d` (same lines, plus
each queue's indented details) and keeps the first `Description:` as
`Printer::description`, capped at 256 characters. Windows names are
already human, so they leave it empty.

craft-ui's `Printer` gains `label`; the dialog shows it, or the name when
it's empty, and `shown_names` adds the queue name in brackets when two
printers would show the same text. Selection and jobs still use `name`.

Both structs gain a field, so apps that build them by hand add it
(`..Default::default()` works for craft-ui's) when they update the pin.

* print, ui: an empty first description stays first, and shown names never collide

parse_lpstat tracks whether a queue has had its Description line, so an
empty first one isn't replaced by a later one. shown_names checks the
final texts: printers whose bracketed text another label already reads
show their queue names instead.
2026-10-20 09:08:21 -06:00
skylar taylor-barrick 4cae45dbe8 Handle texture deltas in print control tests 2026-10-12 02:37:47 +02:00
skylar taylor-barrick d27646a5f7 Preserve accessible print control labels and narrow layout 2026-10-12 02:34:53 +02:00
skylar taylor-barrick b700ae753f Add shared printer settings and asynchronous job feedback 2026-10-12 02:32:49 +02:00
skylar taylor-barrick 5c874d51ee UI.8: shape dock action labels with logical accessibility 2026-10-10 14:08:31 -06:00
skylar taylor-barrick b1406e3e6a UI.8: cancel renderer-owned resize gestures on workspace replacement 2026-10-10 11:48:50 -06:00
skylar taylor-barrick 615f0638c7 UI.8: classify renderer-owned docking keyboard focus 2026-10-10 11:00:02 -06:00
skylar taylor-barrick 7bb9c865e6 UI.8: cancel floating group gestures on workspace replacement 2026-10-10 10:53:55 -06:00
skylar taylor-barrick f23c9f9c4a UI.8: preserve application docking chrome and group gestures 2026-10-10 10:47:52 -06:00
skylar taylor-barrick fc77f4cc7f UI.7: preserve split resizing beside panel scrollbars 2026-10-10 09:40:28 -06:00
skylar taylor-barrick c4fbe220bc UI.7: resize accordion bodies with pointer and keyboard handles 2026-10-09 22:45:31 -06:00
skylar taylor-barrick efc2fc6702 UI.7: deserialize hidden locations without default panel IDs 2026-10-09 22:35:22 -06:00
skylar taylor-barrick 4558a91694 UI.7: serialize docking actions for app command dispatch 2026-10-09 22:33:22 -06:00
skylar taylor-barrick d9077e2c09 UI.7: add shared panel docking transactions and workspace renderer 2026-10-09 22:29:35 -06:00
skylar taylor-barrick 67ce2e9a82 UI.6: add precise visual regressions and toolbar overflow fitting 2026-10-09 19:15:10 -06:00
skylar taylor-barrick 5de0356334 UI.5: document suite adoption and acceptance limits 2026-10-09 15:16:54 -06:00
skylar taylor-barrick a4ea89de41 UI.5: preserve single-shape button frame rendering 2026-10-09 14:28:46 -06:00
skylar taylor-barrick 9198fae30e UI.4: share widget-state theme application 2026-10-09 13:14:03 -06:00
skylar taylor-barrick dc26460f61 UI.3: share tab strips and bounded pane controls 2026-10-09 13:04:21 -06:00
skylar taylor-barrick 9843bec261 UI.2: share styled icon buttons in craft-ui 2026-10-09 12:00:06 -06:00