Skip to content

support additional FileMaker Mac-XM* clipboard types #187

@fuzzzerd

Description

@fuzzzerd

Summary

SharpFM currently recognizes five FileMaker clipboard format identifiers. FileMaker Pro publishes additional Mac-XM* formats for other object types (custom functions, value lists, menu sets, etc.) that SharpFM either ignores or only shows generically.

Currently recognized

Format Description Dedicated editor?
Mac-XMSC Script yes (plain XML)
Mac-XMSS Script Steps yes (plain XML)
Mac-XMTB Table yes (TableClipEditor)
Mac-XMFD Field yes (TableClipEditor)
Mac-XML2 Layout no

Source: src/SharpFM.Model/FileMakerClip.cs:29-36, editor dispatch in src/SharpFM/ViewModels/ClipViewModel.cs:58-86.

Candidate additional types

Not yet verified against a live FileMaker Pro session — needs validation in step 1 below before any are added. Commonly cited identifiers from FileMaker developer lore:

  • Mac-XMCF — Custom Functions
  • Mac-XMVL — Value Lists
  • Mac-XMCS — Custom Menu Sets
  • Mac-XMCM — Custom Menus
  • Mac-XMFN — File Reference
  • Mac-XMSR — Script Reference
  • Mac-XMPL — Privilege Set
  • Mac-XMAC — Account

List is not exhaustive; anything FileMaker copies matching Mac-XM* is a candidate.

How to enumerate authoritatively

The Raw Clipboard Viewer (src/SharpFM/Diagnostics/RawClipboardWindow.axaml.cs) already filters on .StartsWith("Mac-XM"). Walk through FileMaker Pro, copy each object type (custom function, value list, etc.), open the Raw Clipboard Viewer, record the format identifier and the XML shape.

What needs to happen, per validated format

  1. Add to FileMakerClip.ClipFormats (src/SharpFM.Model/FileMakerClip.cs:29-36) so it gets a display name and shows up in the clip list.
  2. Handle in ClipViewModel.CreateEditor (src/SharpFM/ViewModels/ClipViewModel.cs:58-63) — decide dedicated editor vs. plain-XML fallback.
  3. Add to ClipViewModel.TypeDisplayName (src/SharpFM/ViewModels/ClipViewModel.cs:80-86).
  4. Add to PluginHost.cs:117-140 if the type should be creatable from the "new clip" UI (needs a seed XML snippet).
  5. Tests for any new editor logic and for round-trip of the format identifier.

Suggested scope

  • Small (recommended first): register recognition + display name for every validated Mac-XM* type and let them fall through to the plain-XML editor. Low risk, immediate visibility gain.
  • Medium: add dedicated editors for the most common developer-daily types (Custom Functions, Value Lists are plausible candidates).
  • Large: dedicated editors for every type.

Recommend small scope first, grow editors demand-driven.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions