There are no interface between the scripting environment and SSH/Telnet consoles. But feel free to send IDM support an enhancement request. See e-mail address at the top of the page.
But imagine something like:
UltraEdit.showConsole(true/false); <- show/hide console window
- - - - Handle terminal windows - - - -
UltraEdit.terminal.length; <- number of opened terminals in console window - always at least 1
UltraEdit.terminal[0].connect("accountname"); <- Connects a disconnected terminal window
UltraEdit.addTerminal(); <- add new terminal window, then read new index (UltraEdit.terminal.length - 1) and connect to account
UltraEdit.terminal[0].name; <- account name of terminal window
UltraEdit.terminal[0].connected; <- returnes true/false - read connection status of terminal window
UltraEdit.terminal[0].disconnect(); <- disconnects but keeps terminal window open
UltraEdit.terminal[1].remove(); <-- removes terminal window. When only one terminal left UltraEdit.terminal.length=1, remove() has no effect
UltraEdit.activeTerminalIdx; <- Index of active/visible terminal (read only)
UltraEdit.terminal[0].setActive(); <- set this terminal active
- - - - Handle individual terminal - - - -
(Interface for terminal uses existing interface based on select/copy/paste)
UltraEdit.terminal[0].copyAll(); <- copy all content of terminal window buffer (as much as are available) to active clipboard
UltraEdit.terminal[0].copy(); <- copy only content on terminal window buffer (as much as are available) since last action (paste() or connect())
(You can then access the content on the clipboard in the script and evaluate/parse the
result of your last command or your login).
(You then place next full command and "LF" on the clipboard - like: UltraEdit.clipboardContent = "cd /tmp"+ "\n"; )
UltraEdit.terminal[0].paste(); <- Paste contents of active clipboard to terminal window
Example: Where have we landed after login ?
Code: Select all
UltraEdit.clipboardContent = "pwd"+ "\n"; /* construct command */
UltraEdit.terminal[0].paste(); /* send command */
UltraEdit.terminal[0].copy(); /* read screen since last action to this action */
var terminalOutputLines = UltraEdit.clipboardContent.split("\n");
if(terminalOutputLines.length>0) {
if(terminalOutputLines[0]=="/home/myhome/") {
...in the right place...
}
else {
... then what ?...
}
}
else { ... error handling ...}
I think I will send this suggestion to IDM. But everybody else who thinks it is a good idea should do the same since the more people who request a feature the more likely it is that the feature is implemented in future versions of UE.
Cheers!