FMP icon watermark generator

I just published a handy tool for generating new .icns files with watermarks for FileMaker Pro on mac!

5 Likes

This is great, Josh @jwilling , thanks for sharing. One thing I've missed in the last couple of FM versions is the retained green 'flag' or 'leaf' color, rather than changing colors with each version. Claris may have their reasons for this, but I'm one who likes the visual separation.

I'm doing more and more python dev these days, but I took the lazy way out and asked ChatGPT to add a color-tinting option (not my favorite LLM due to some corporate decisions made, but I must use it for a particular project for a little while so...). I have not tried the code yet, as I just wanted a quick distraction for a moment to see what might be the path to change color (new method for me). If you have interest in the edited script I'm happy to .zip it and share it.

Here are the header comments as provided by ChatGPT:

"""
FileMaker App Icon Watermarker + Optional Green Recolor

Adds a version watermark to FM12App.icns files in FileMaker for macOS app bundles.
Optionally recolors the green "leaf" region by replacing its HUE only (keeps native
light/dark gradient), so v21/v22 can be visually distinct.

Usage examples:
python fm_icon_mark.py "/Applications/FileMaker Pro 22.app" 22
python fm_icon_mark.py "/Applications/FileMaker Pro 22.app" 22 --tint "#FF8A00"
python fm_icon_mark.py "/Applications/FileMaker Pro 21.app" 21 --tint "#00A7FF" --output ~/Desktop/FM12App_21.icns

Notes:
• macOS-only dependency: iconutil (normally present on macOS).
• You can replace the app’s icon by opening the app’s Get Info window and dragging
the generated .icns onto the top-left icon.

Author of original watermark idea and script: Josh Willing Halpern
Enhancements (argparse + recolor-by-hue): ChatGPT
History:

  • 2025-11-06: Initial version (shared)
  • 2025-11-07: argparse + hue-based recolor option
    """

This requires additional imports (dependencies): argparse, Tuple and numpy. And, as written it only targets those with the 'greenish' segment (21/22). After playing with the scripts I'll probably tweak it to allow changing from any color, but for now it only detects the green range to target. Easy tweak.

I'll play with your offering and the colorizing/tinting option this evening.

1 Like

Hey @daleallyn i like the idea of a color tint option a lot! i modified the github repo a bit to autmoatically update the icon on the app using fileicon. Would you maybe want to make a PR on the repo itself to add the option?

And maybe it’s a good idea to make --output a named arg as you’ve done in the same pull, rather than a positional arg as I’ve done already.

Hi, Josh, sorry, I've still not had a chance to run your script or 'my' modified version. I was hit with a client meeting scheduled for Sunday, so I'm head down on prep for that.

In my work I often use named args (~/scripts/myScript.py --doSomenthing), but typically default to my most likely requirement(s) because I'm lazy to add the args to the script call. For something like this the arguments do make sense (to me).

I'm attaching the edited/updated script here in case you'd like to explore it, add a fork, version, etc. I'll try to circle back after Sunday.

Thanks again!

fm_watermark_icon-color.py.zip (3.9 KB)

1 Like

Hey, i updated the repo with some fun new options. Thanks for the feature @daleallyn


usage: fm_watermark_icon [-h] -a APP_PATH [-o OUTPUT_PATH] [-t WATERMARK_TEXT] [-c HEX_COLOR] [-bc HEX_COLOR]
                         [-tc HEX_COLOR]

Add a watermark number to FM12App.icns files in FileMaker for MacOS application bundles.

options:
  -h, --help            show this help message and exit
  -a APP_PATH, --app APP_PATH
                        Path to the .app bundle containing FM12App.icns
  -o OUTPUT_PATH, --output OUTPUT_PATH
                        Optional: Path to save the watermarked .icns file. If not provided, the app's icon will be
                        updated directly using fileicon.
  -t WATERMARK_TEXT, --text WATERMARK_TEXT
                        Optional: Text to use as watermark (typically a number). If not provided, no watermark will be
                        added.
  -c HEX_COLOR, --color HEX_COLOR
                        Optional: Hex color to tint colored regions of the icon (e.g., #FF8A00). Targets any non-whitish
                        and non-black/grayish parts.
  -bc HEX_COLOR, --bg-color HEX_COLOR
                        Optional: Hex color to replace white/light background regions (e.g., #F0F0F0). Preserves
                        gradients and shading.
  -tc HEX_COLOR, --text-color HEX_COLOR
                        Optional: Hex color for watermark text (e.g., #FF0000). Default is dark gray.

```

1 Like

Nice, @jwilling , it’s looking good. Fun stuff. Meetings today, but I’ll play with it tomorrow.

I look forward to play with your tool.

It reminded me of an old project. I digged out some swatches I had created for versions 16, 17 and 18. I could not find the svg so these were generated from png so the quality isn’t great but i just love their colours! I was told it was against copywrite rules to modify a company’s logo so I stop sharing the files but kept them for my personal use. I like the names I had come up with!

4 Likes

These are so cool @Cecile . I had a couple custom ones that a friend gave me as well. I never figured out how to make them myself though.