On Windows the function SshContext.popen pops up an empty command window. The reason is the strange behaviour of the Windows console. The documentation about it is sparse, so it might be difficult for some user to get rid of it. The solution is to start the console command as if it would be a GUI application and then to hide the main window.
This can be accomplished by passing a special startupinfo to subprocess.popen in case the platform is Windows.
The additional parameter startupinfo=None should not hurt on other platforms. I have tested it under Linux.
It would be nice if there lines could be added to ssh.py so that the use is easier for user running Windows.
SUI = subprocess.STARTUPINFO()
SUI.dwFlags |= subprocess.STARTF_USESHOWWINDOW
SUI.wShowWindow = subprocess.SW_HIDE
cwd = self.ssh_cwd, env = self.ssh_env, shell = False, startupinfo=SUI)
windows: start ssh tunnel windowless; closes #68
please review the commit