You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2012/05/31 17:19:37 UTC

svn commit: r1344768 - /karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java

Author: cschneider
Date: Thu May 31 15:19:36 2012
New Revision: 1344768

URL: http://svn.apache.org/viewvc?rev=1344768&view=rev
Log:
KARAF-536 Setting the terminal columns when doing ssh:ssh

Modified:
    karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java

Modified: karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java?rev=1344768&r1=1344767&r2=1344768&view=diff
==============================================================================
--- karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java (original)
+++ karaf/trunk/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshAction.java Thu May 31 15:19:36 2012
@@ -22,6 +22,8 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.List;
 
+import jline.Terminal;
+
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
@@ -160,6 +162,7 @@ public class SshAction
                 } else {
                     channel = sshSession.createChannel("shell");
                     channel.setIn(new NoCloseInputStream(System.in));
+                    ((ChannelShell) channel).setPtyColumns(getTermWidth());
                     ((ChannelShell) channel).setupSensibleDefaultPty();
                     ((ChannelShell) channel).setAgentForwarding(true);
                 }
@@ -178,6 +181,11 @@ public class SshAction
         return null;
     }
 
+    private int getTermWidth() {
+        Terminal term = (Terminal) session.get(".jline.terminal");
+        return term != null ? term.getWidth() : 80;
+    }
+
     public String readLine(String msg) throws IOException {
         StringBuffer sb = new StringBuffer();
         System.err.print(msg);