How to completely remove Synergy v1.3.1 from Mac OS X 10.8?

I had the same issue and resolved it like this:

  • in the Synergy prefpane, turn off synergy and remove its menuitem
  • in a Terminal window, type mdfind -name synergy
  • for each file related to Synergy, remove it:
    • sudo rm -rf /Library/PreferencePanes/SynergyKM.prefPane (et c)

Expanding on ecmanaut's answer, you can automate this a little bit:

mdfind -name synergy | grep -v .webhistory | tr '\n' '\0' | xargs -p -0 -n 1 rm -rf --

As before, mdfind -name synergy generates a list of files (potentially) related to Synergy.

| grep -v .webhistory filters out Safari history matches, as you might want to preserve your browsing history.

| tr '\n' '\0' replaces newlines in the output with null values instead. This is necessary for xargs to properly process the file list if it contains any spaces (i.e., .../Application Support/...).

| xargs -p -0 -n 1 rm -rf -- will take every file or folder provided in the first part of the command and execute rm -rf on it to delete it. Specifically, -p asks the user to confirm each deletion (because if you have an unrelated file such as ~/Documents/Important business study on synergy.tex that will show up in the file list). -0 tells xargs to use only the null characters we inserted with tr (not spaces or newlines) to delineate file names. -n 1 processes the files individually—rather than calling rm once with the whole lot of them—which allows the user to individually decide whether to delete each file. -- at the end covers the edge case where a filename begins with - and prevents rm from treating it as a switch.

(I didn't find any Synergy files outside of my home folder, but I was uninstalling Synergy 1.7.4 from Mac OS X 10.11.1, so your mileage may vary, and you might discover that rm must be preceded with sudo in order to get everything.)

As an aside, if you don't care about filtering out the .webhistory results, this can be simplified down to:

mdfind -0 -name synergy | xargs -p -0 -n 1 rm -rf --

using mdfind to insert the null separators.