Reviving Themes from the Past

Every theme designed by Claris is still supported. However, when you look in the layout Theme picker you'll only see a few of the modern themes.

What if you want to revive the beauty of Bamboo, or the raw excitement of Electric?

Well, now you can!

( Sorry Windows fans, this technique is a Mac only thing. You may find tools to manipulate clipboard data but pasting into the Theme Manager dialog is not supported on Windows :face_with_symbols_over_mouth: )

If you are prepared to dig into the application bundle and look inside the Application bundle (Right-click or Control-click on the application icon, select "Show Package Contents." Look in Contents/Resources/Themes) you'll find every theme that Claris has supplied with FileMaker. With a little patience, and a good text editor you'll be able to convert the information found in the theme folder into a theme that you can paste into your solution.

How to Revive Classic Themes from the Past

  1. From the Finder, go to the Applications folder.
  2. Find FileMaker and open the application bundle (instructions above)
  3. Select and copy the folder containing the theme that you want to revive.
  4. On the Desktop, or some other safe workspace, paste the copied folder.
  5. Open manifest.xml
  6. Delete the xml declaration
  7. Change the element <theme> to <Theme> ( Title case )
  8. Add attributes to the <Theme> element.
    • Most of the elements you want are in the manifest.
    • platform, group, name, id, version are in the manifest. Create attributes using these elements as the attribute name, and the value as the attribute value.
    • id must be renamed to base_id when creating attributes.
    • You need to create your own id for your theme. I have been using numbers bigger than 60. Even though it is a number, treat it as a string.
    • Three attributes you need to make for yourself are:
      1. locale. Can be "en" or local language expressed in two characters
      2. base_version. Can be 1 or higher integer
      3. internalName. The value will be "com.filemaker.theme.custom.XXX".
      4. You will need to replace XXX with a UUID.
      5. Replace the hyphens in the UUID with underscores.
  9. Get first named style element name from the elements. For example <namedstyles><minimal_drop-down_calendar>.
  10. Open the CSS file referenced in the <cssfile> element
  11. Prefix the style sheet with the default styles comment: /* Object Styles */
  12. Find the first instance of the first named style (minimal_drop-down_calendar in this example) and insert the custom styles comment immediately before it: /* Custom Styles */
  13. Replace line returns in the CSS with &#10;
  14. Replace tabs in the CSS with &#09;
  15. Copy and place the CSS into a tag immediately after the opening element
  16. Immediately after the closing </metadata> tag, insert a base64 rendering of the preview image referenced in the element <previewImage>. Include the attribute "imageType", e.g., <previewImage imageType=".png">. Note that the image type includes the period ".".
    • Use this command in Terminal to put base64 into the clipboard
      cat images/electricPreview.png | base64 - - | pbcopy
    • Replace "images/electricPreview.png" with the correct file path
  17. Wrap the code in an <fmxmlsnippet> element, e.g., <fmxmlsnippet type="FMObjectList">...</fmxmlsnippet>
  18. Remove all line returns in the text
  19. Copy the code to the clipboard
  20. Using Dan Shockley's fmClipTools convert the XML to an FMObject.
  21. From the database you want to beautify, open File > Manage > Themes...
  22. Paste your theme into the dialog, and save.
  23. You can now open any other FileMaker database and use the Theme Dialog's Import button to import your revived theme.

Congratulations! You have revived a classic FileMake theme. :clinking_glasses:

:frowning_face: Unfortunately this technique doesn't completely recreate the past. For a theme like "Electric" there were a lot of images used to obtain the neon effects. We haven't figured out yet how to include those images in the fmxmlsnippet.

1 Like

What would happen if you went to import themes from a file created from an old version of FileMaker?

The themes are still supported, so it should work.