≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Bug #419

Bug #419: Copy synergyd to user Application Support folder on launch

Kind bug
Product Synergy Advance
When Created 2006-05-05T12:58:18Z, updated 2006-07-05T02:07:54Z
Status open
Reporter nick carrasco
Tags no tags

Description

Every time I go to "upgrade" SynergyAdvance, I first quit the current running process from the menu option, and then drag the new app to my Apps to replace it. Everytime I do this it complains that "synergyd" is still running and then I have to manually quit syngery from the "Activity Monitor" before I replace the app. Please fix it so that when SynergyAdvance is quit that it also kills the "synergyd" process as well

Comments

  1. Greg Hurrell 2006-05-05T13:49:25Z

    Thanks for the report, Nick. I presume you're seeing a warning when you try to empty the Trash, given that it contains a still-running process when you try to empty it.

    First up, some information about the "synergyd" process:

    https://wincent.dev/a/products/synergy-advance/faq/synergyd-daemon/

    The reason it's running on your system is because you evidently have the "Auto-launch Synergy Advance when iTunes is launched" setting set to ON. It is necessary to have a separate background process in order for that preference to work (ie. something has to watch for iTunes launches). Furthermore, the background process must continue to run when Synergy Advance quits, so that the monitoring of iTunes can continue to take place. If this weren't the case then the "Auto-launch Synergy Advance when iTunes is launched" setting would be broken.

    So what you're asking (that Synergy Advance kills synergyd whenever it exits) is not possible without breaking that feature. The following workarounds currently exist:

    (1) Turn off the "Auto-launch Synergy Advanced when iTunes is launched" setting permanently.

    (2) Turn off the "Auto-launch Synergy Advanced when iTunes is launched" setting temporarily just before performing an upgrade.

    (3) Wait until after rebooting or logging out before trying to empty the Trash.

    (4) As you've discovered, manually kill synergyd from the Activity Monitor or the command line.

    As far as solving this problem at the implementation level there is very little I can do because Synergy Advance is a drag-and-drop installation; if it were not a drag-and-drop installation and used an installer then I could do stuff like kill the synergyd process (if necessary) from within the installer and then restart it (if necessary). However, this issue seems to be too small to warrant changing from the convenience of a drag-and-drop install.

    About the closest thing to an implementation-level workaround that I can think of is that I could make some changes to Synergy Advance that check for already-running copies of synergyd at launch time. If an already-running copy is found that does not belong to the copy of Synergy Advance that is currently running, then it could send a "quit" message to the already-running daemon. Or to put it more clearly, given two copies of Synergy Advance:

    (1) New version, just installed, up and running:

    /Applications/Synergy Advance.app

    (2) Old version, dragged to trash, not running:

    ~/.Trash/Synergy Advance.app

    The installed, running copy could check to see if any copies of synergyd are already running and make sure that they are in the expected location; in the case of this example, that means that the daemon should be running from here:

    /Applications/Synergy Advance.app/Contents/Resources/synergyd.app

    And not from here:

    ~/.Trash/Synergy Advance.app/Contents/Resources/synergyd.app

    This would partially address the problem that you describe. Basically, if you tried to empty the trash *before* running the new copy of Synergy Advance you would still see the warning, but if you tried to empty it *after* then you'd see no warning.

    There is one other alternative way of handling this, and that is getting Synergy Advance to install a copy of synergyd into the user's "Application Support" folder when it is first launched. This would avoid the Trash warnings that you describe entirely, at the cost of some additional complexity. It is probably better to install into the user's folder (and not into the system-wide "Library" folder because this would not require users to enter an administrative password.

    An additional benefit of this approach is that it would eliminate potential problems if people try to run Synergy Advance from the disk image, they end up launching synergyd and then cannot eject the disk image.

    Such design decisions always involve trade-offs. By moving stuff into the "Application Support" folder we avoid a warning that a small number of users might see some of the time, but we require more disk space (well, a very small amount) and some users like to be able to remove all traces of an application just by dragging it to the Trash.

    Weighing things up I think the copy-to-user-app-support solution is the best compromise, so I am going to reword the summary to reflect what needs to be done. Marking as ASSIGNED.

  2. Greg Hurrell 2006-07-05T02:07:54Z

    Changing assignment to reflect my new email address.

    https://wincent.dev/a/news/archives/2006/05/change_of_email.php

Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets