How to contribute to an existing plugin?

This may be elementary to to many of you, but I always get tripped by it: how can I prevent Glyphs from “updating” a plugin when I’m working locally on my fork?

I installed a third-party palette plugin from the Plugin Manager. After using it for a while, I realized I could improve it a little, so I forked it on GitHub, cloned it to a local folder, and removed the plugin using the Plugin Manager (I checked both the alias and the repository were removed from Plugins and Repositories folder, respectively).

I then placed an alias for my local .glyphsPalette file in the Plugins folder and restarted Glyphs. Upon restart, Glyphs always removes my alias, downloads the original repository from GitHub and places a new alias to it in the Plugins folder, making it impossible for me to test my local code.

I tried incrementing the CFBundleShortVersionString and CFBundleVersion in Info.plist thinking Glyphs would detect my local version was more recent, but that had no effect. I also tried removing the UpdateFeedURL string from the same file to no avail.

So, what should I do if I want to contribute to an existing plugin?

1 Like

What version of Glyphs are you using?

The workflow you described should work as expected:

  • Uninstall original plugin (removes the alias in the Plugins directory and the Git repository in the Repositories directory)
  • Store your local copy of the plugin somewhere outside of Glyphs Application Support directory (for example, in ~/Developer/Glyphs)
  • Create an alias in the Plugins directory that points to your .glyphsPalette bundle.

If your local plugin is stored in a Git repository, you can actually double-click to install it and Glyphs will ask you if you want to install a copy or create an alias.

The plugins I have modified, I have simply renamed my files. It has always worked for me.