wordcraft/crates
Valentin Klein ba9bbb48dd
Open Word documents with WordCraft by default (file associations + Options button) (#304)
* Open Word documents with WordCraft from the system (#295)

Register WordCraft for Word, RTF and ODT files on Windows and Linux without
taking over anyone's defaults, and add File > Options > General > "Make
WordCraft the default for Word documents..." where the system allows it.

- Windows MSI: a ProgId per type (.docx .docm .dotx .dotm .doc .dot .rtf
  .odt, plus .md and .txt as Open With candidates only) with the app icon
  and `"wordcraft.exe" "%1"`, OpenWithProgids, Applications\wordcraft.exe
  SupportedTypes, and Capabilities + RegisteredApplications so WordCraft
  shows in Settings > Default apps. New component with its own GUID.
- Linux: the desktop entry declares the macro-enabled, template and legacy
  Word types and text/rtf; AppStream lists the media types. deb, rpm,
  AppImage and both Flatpak manifests use this same file.
- macOS: Info.plist also lists legacy .doc.
- The Options button runs `ui.makeDefaultApp` through a new
  Services::make_default_app hook: Windows opens
  ms-settings:defaultapps on WordCraft's page; Linux and BSD run
  `xdg-mime default ai.storyteller.wordcraft.desktop <types>` (refused
  inside Flatpak or without an installed desktop entry); macOS shows the
  Finder Get Info hint; the web shows nothing. The status bar reports the
  outcome. Strings translated in every catalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Review fixes for #304: keep Make default out of programmatic dispatch

ui.makeDefaultApp is refused when run programmatically (control channel, MCP, macros,
scripts); only a click on File > Options > General > Make WordCraft the default… reaches
the host's hook, so no agent can change the user's system default apps or open system
settings. Test: programmatic_calls_cannot_change_the_default_apps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Default-app strings in the newer catalogs; the button's test looks for a General-pane label

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 04:30:57 -04:00
..
control-key Control port: require a per-window key (split from #54) (#124) 2026-10-10 06:56:41 -04:00
doc SCRUM-28: preserve imported TOC result ranges (#617) 2026-10-12 03:29:32 -04:00
docbin .doc import: inline pictures, floating pictures and basic shapes (#551) (#558) 2026-10-12 03:42:18 -04:00
docx SCRUM-28: preserve imported TOC result ranges (#617) 2026-10-12 03:29:32 -04:00
engine M15: Polish interface, and Polish spelling, grammar and hyphenation (#346) 2026-10-12 04:04:03 -04:00
fonts Fix CJK fallback mixing serif/sans faces within one run (#567) 2026-10-12 04:24:03 -04:00
formats Security: pictures travel in the reply, exported links keep only safe targets (#678, #679) (#681) 2026-10-11 23:57:08 -04:00
geom Free rotation and flips for pictures, shapes and text boxes (#332) (#340) 2026-10-10 17:10:09 -04:00
layout Fix CJK fallback mixing serif/sans faces within one run (#567) 2026-10-12 04:24:03 -04:00
mcp Security: pictures travel in the reply, exported links keep only safe targets (#678, #679) (#681) 2026-10-11 23:57:08 -04:00
metafile Pictures: WMF drawings fill their frame like Word plays them (#739) 2026-10-12 00:45:53 -04:00
pdf Print Markup: comments in PDF, print, images and text copies (#589) (#667) 2026-10-11 23:38:29 -04:00
proof M15: Polish interface, and Polish spelling, grammar and hyphenation (#346) 2026-10-12 04:04:03 -04:00
render Print Markup: comments in PDF, print, images and text copies (#589) (#667) 2026-10-11 23:38:29 -04:00
ui-egui Open Word documents with WordCraft by default (file associations + Options button) (#304) 2026-10-12 04:30:57 -04:00
zotero Zotero: a note with a picture stays when its citation moves to body text (#469) (#581) 2026-10-11 22:23:54 -04:00