[Ttssh2-commit] [5336] DSR 6( カーソル位置報告 ) で、origin mode時は上および左マージンを考慮するようにした。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2013年 6月 26日 (水) 15:03:47 JST


Revision: 5336
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5336
Author:   doda
Date:     2013-06-26 15:03:46 +0900 (Wed, 26 Jun 2013)
Log Message:
-----------
DSR 6(カーソル位置報告)で、origin mode時は上および左マージンを考慮するようにした。

Modified Paths:
--------------
    trunk/teraterm/teraterm/vtterm.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2013-06-25 12:31:20 UTC (rev 5335)
+++ trunk/teraterm/teraterm/vtterm.c	2013-06-26 06:03:46 UTC (rev 5336)
@@ -1878,7 +1878,7 @@
   void CS_n_Mode()		// DSR
   {
     char Report[16];
-    int Y, len;
+    int X, Y, len;
 
     switch (Param[1]) {
       case 5:
@@ -1887,11 +1887,19 @@
 	break;
       case 6:
 	/* Cursor Position Report */
-	if (isCursorOnStatusLine)
+	if (isCursorOnStatusLine) {
+	  X = CursorX + 1;
 	  Y = 1;
-	else
+	}
+	else if (RelativeOrgMode) {
+	  X = CursorX - CursorLeftM + 1;
+	  Y = CursorY - CursorTop + 1;
+	}
+	else {
+	  X = CursorX + 1;
 	  Y = CursorY+1;
-	len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%u;%uR", CLocale, Y, CursorX+1);
+	}
+	len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%u;%uR", CLocale, Y, X);
 	SendCSIstr(Report, len);
 	break;
     }



Ttssh2-commit メーリングリストの案内
Back to archive index