New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configuration options for external programs (protocols and tools) #61
Comments
Let me brainstorm about this a little: Tool configuration
Some CLI tools might even need specifying stdin. NotesCli toolsCLI tools use different Windows subsystem but could probably be treated equally as GUI tools by invoking them via Custom providersNot sure if adding arbitrary providers should be allowed (tool abc.exe handles abc connection type). Multiple tools could theoretically handle the same provider (eg. WinScp or FileZIlla). So RDP currently has several extra options (mapping of remote resources and display options) and SSH has Advantage and key options. In essence, if tool supports setting those via command line parameters then this is about mapping New remote config on tool CLI parameter . This then calls to defining properties on tools configuration that will be exposed in New remote UI. Lets see on KITTY example and what we currently have in PRM:
So lets imagine we have Protocol Definition UI that could used to define mapping:
NOTE:
Having this separated from tools configuration, we can then map tools to protocols in tool configuration which will allow you to map multiple tool options to single interface. So lets now define kitty tool options once we defined SSH protocol (ofc, this one would come predefined):
Now, I'll just leave this here to incubate, I am not sure if this is ultra flexible or complicates things without great benefit. On the other hand, it looks like implementation is pretty easy (probably day's work). Not sure at this moment how this could work on RDP as those options are probably library options (didn't look into source code yet, just assuming), but I guess PRM could actually crate tiny exe wrappers (If I remember correctly this is what you do now) and along with that expose everything desired as CLA. |
I though of this E.g. SSH We offering PuTTY as default terminal. Some users may want to use something named XuTTY.
This is less flexible, but simpler. |
That depends on UX. It could be there as advanced option that can be used internally mostly or by advanced users that know what to do.
You understand that this is basically unlimited feature request potential (there are so many tools) ? With the feature offered, you can always say to users please try to configure it on your own and just provide us config that you are happy with so we can copy/paste it into the project to be supported officially. You don't block such users if they are willing enough, and you can immediately use all their successful work.
Yeah, they can if they have this protocol to cmd line map feature. How would they do it without it ? How do you know what of number options such tools have to expose in PRM config ? Just take putty as an example. You exposed few options only. |
I will close this since most of it is released in v0.6. |
Third-party external program isn't part of 0.6 release, but it could be handled via another ticket if needed. The benefit is IMO very small compared to random launcher in Windows (you could pass details of 'current connection' as parameters of external tools). |
In order to achieve new requirements #59, we need a system that that can config external programs. like mRemoteNG did:
The difference between this system and mRemoteNG is that we need to implement two sets of external program manager.
Protocol Program Manager: It can only specify external programs for specific protocol settings. For example, ssh can only set the KiTTY path, and FTP can only set the WinSCP path.
Third-party external program manager: It has basically the same as mRemoteNG did, you can set all exe as external programs, configure their paths, transfer parameters, etc.
In fact, in my opinion, the above scheme does not look very flexible, and I am still considering other implementations.
The text was updated successfully, but these errors were encountered: