Developer FAQ - dagelf/synergy-core GitHub Wiki

Table of Contents

Developer FAQ

Common questions and answers for new developers.

Questions

Q. I'm new, how do I get started?

First, you'll need to get your hands on the source code, and then you can compile it. If you're having any problems, then please use the developer mailing list. If you're wondering what you can work on, check out what needs fixing on our issue tracker. Or maybe you feel like testing some pull requests? Before sending us a patch, read our Hacking guide.

Q. How do input events reach the client?

The event lifecycle diagram demonstrates how a mouse down event gets from the server to the client.

Q. How do I start synergys and synergyc directly with Visual Studio?

Right click either the synergys or synergyc projects, and select Properties. Click Debugging, and add the following to the Command Arguments textbox:

  • for synergys:*
--no-daemon --debug DEBUG1 --name my-computer-1 --address :24800

Replace 'my-computer-1' with your computer name.

  • for synergyc:*
--no-daemon --debug DEBUG1 my-computer-1

Replace 'my-computer-1' with your server's hostname.

Q. How do I install the Windows service with a non-default debugging level?

From the Windows config GUI, select the debug level (on the main screen) before installing the service. This stores the command line arguments in the Windows registry - to change the debug level after service is installed, uninstall the service, select new log level and reinstall service.

Q. What is your code style guide?

This can be found in Code Style.

Q. How do I build the new GUI in 1.4?

You'll need to download Qt Creator or the SDK. See the Compiling for links to required versions.

Q. Why do I get an XTest error when compiling on Ubuntu?

Ensure that the libXtst-dev or libXtst-devel package is installed.

Q. How do I submit patches?

Simply run svn diff > foobar.patch and submit by attaching to a new issue. Once you submit your patch, we will review the patch and commit to the repository.

Q. How do I make emacs use your indentation style?

You could add this to the end of your .emacs file.

; Visual Studio like indentation
;; Turn on tabs
(setq indent-tabs-mode t)
(setq-default indent-tabs-mode t)

;; Bind the TAB key 
(global-set-key (kbd "TAB") 'self-insert-command)

;; Set the tab width
(setq default-tab-width 4)
(setq tab-width 4)
(setq c-basic-indent 4)

; make python tabs 4 chars wide
(add-hook 'python-mode-hook
	  (lambda ()
	    (setq indent-tabs-mode t)
	    (setq tab-width 4)
	    (setq python-indent 4)))

This will make your indentation style similar to that in Visual Studio.

Q. How do I make vim use your style guidelines?

There is a .lvimrc included in the source code. To use it install Vim script 411

Q. What is the ARCH macro for?

The ARCH macro is defined in lib/arch/CArch.h and accesses a static singleton pointer for the architecture tools.

For example, ARCH->addrToString(CArchNetAddress) will convert an address instance to an IP address as type std::string.

To use the ARCH macro, #include "CArch.h"

⚠️ **GitHub.com Fallback** ⚠️