Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/vtterm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3483 by doda, Mon Jun 15 00:44:12 2009 UTC revision 3485 by doda, Mon Jun 15 02:39:48 2009 UTC
# Line 1496  void CSScreenErase() Line 1496  void CSScreenErase()
1496        case 4:   // IRM        case 4:   // IRM
1497          InsertMode = TRUE; break;          InsertMode = TRUE; break;
1498        case 12:  // SRM        case 12:  // SRM
1499          ts.LocalEcho = 0;          ts.LocalEcho = 0;
1500          if (cv.Ready && cv.TelFlag && (ts.TelEcho>0))          if (cv.Ready && cv.TelFlag && (ts.TelEcho>0))
1501            TelChangeEcho();            TelChangeEcho();
1502          break;          break;
1503        case 20:  // LF/NL        case 20:  // LF/NL
1504          LFMode = TRUE;          LFMode = TRUE;
1505          ts.CRSend = IdCRLF;          ts.CRSend = IdCRLF;
1506          cv.CRSend = IdCRLF;          cv.CRSend = IdCRLF;
1507          break;          break;
1508        case 33:  // WYSTCURM        case 33:  // WYSTCURM
1509          ts.NonblinkingCursor = TRUE;          if (ts.WindowFlag & WF_CURSORCHANGE) {
1510          ChangeCaret();            ts.NonblinkingCursor = TRUE;
1511          break;            ChangeCaret();
1512            }
1513            break;
1514        case 34:  // WYULCURM        case 34:  // WYULCURM
1515          ts.CursorShape = IdHCur;          if (ts.WindowFlag & WF_CURSORCHANGE) {
1516          ChangeCaret();            ts.CursorShape = IdHCur;
1517          break;            ChangeCaret();
1518            }
1519            break;
1520      }      }
1521    }    }
1522    
# Line 1544  void CSScreenErase() Line 1548  void CSScreenErase()
1548        case 4:   // IRM        case 4:   // IRM
1549          InsertMode = FALSE; break;          InsertMode = FALSE; break;
1550        case 12:  // SRM        case 12:  // SRM
1551          ts.LocalEcho = 1;          ts.LocalEcho = 1;
1552          if (cv.Ready && cv.TelFlag && (ts.TelEcho>0))          if (cv.Ready && cv.TelFlag && (ts.TelEcho>0))
1553            TelChangeEcho();            TelChangeEcho();
1554          break;          break;
1555        case 20:  // LF/NL        case 20:  // LF/NL
1556          LFMode = FALSE;          LFMode = FALSE;
1557          ts.CRSend = IdCR;          ts.CRSend = IdCR;
1558          cv.CRSend = IdCR;          cv.CRSend = IdCR;
1559          break;          break;
1560        case 33:  // WYSTCURM        case 33:  // WYSTCURM
1561          ts.NonblinkingCursor = FALSE;          if (ts.WindowFlag & WF_CURSORCHANGE) {
1562          ChangeCaret();            ts.NonblinkingCursor = FALSE;
1563          break;            ChangeCaret();
1564            }
1565            break;
1566        case 34:  // WYULCURM        case 34:  // WYULCURM
1567          ts.CursorShape = IdBlkCur;          if (ts.WindowFlag & WF_CURSORCHANGE) {
1568          ChangeCaret();            ts.CursorShape = IdBlkCur;
1569          break;            ChangeCaret();
1570            }
1571            break;
1572      }      }
1573    }    }
1574    
# Line 1783  void CSSetAttr() Line 1791  void CSSetAttr()
1791    
1792      switch (Param[1]) {      switch (Param[1]) {
1793        case 1: // De-iconify window        case 1: // De-iconify window
1794          DispShowWindow(WINDOW_RESTORE);          if (ts.WindowFlag & WF_WINDOWCHANGE)
1795              DispShowWindow(WINDOW_RESTORE);
1796          break;          break;
1797        case 2: // Iconify window        case 2: // Iconify window
1798          DispShowWindow(WINDOW_MINIMIZE);          if (ts.WindowFlag & WF_WINDOWCHANGE)
1799              DispShowWindow(WINDOW_MINIMIZE);
1800          break;          break;
1801        case 3: // set window position        case 3: // set window position
1802          if (NParam < 2) Param[2] = 0;          if (ts.WindowFlag & WF_WINDOWCHANGE) {
1803          if (NParam < 3) Param[3] = 0;            if (NParam < 2) Param[2] = 0;
1804          DispMoveWindow(Param[2], Param[3]);            if (NParam < 3) Param[3] = 0;
1805              DispMoveWindow(Param[2], Param[3]);
1806            }
1807          break;          break;
1808        case 4: // set window size        case 4: // set window size
1809          if (NParam < 2) Param[2] = 0;          if (ts.WindowFlag & WF_WINDOWCHANGE) {
1810          if (NParam < 3) Param[3] = 0;            if (NParam < 2) Param[2] = 0;
1811          DispResizeWin(Param[3], Param[2]);            if (NParam < 3) Param[3] = 0;
1812              DispResizeWin(Param[3], Param[2]);
1813            }
1814          break;          break;
1815        case 5: // Raise window        case 5: // Raise window
1816          DispShowWindow(WINDOW_RAISE);          if (ts.WindowFlag & WF_WINDOWCHANGE)
1817              DispShowWindow(WINDOW_RAISE);
1818          break;          break;
1819        case 6: // Lower window        case 6: // Lower window
1820          DispShowWindow(WINDOW_LOWER);          if (ts.WindowFlag & WF_WINDOWCHANGE)
1821              DispShowWindow(WINDOW_LOWER);
1822          break;          break;
1823        case 7: // Refresh window        case 7: // Refresh window
1824          DispShowWindow(WINDOW_REFRESH);          if (ts.WindowFlag & WF_WINDOWCHANGE)
1825              DispShowWindow(WINDOW_REFRESH);
1826          break;          break;
1827        case 8: /* set terminal size */        case 8: /* set terminal size */
1828          if ((Param[2]<=1) || (NParam<2)) Param[2] = 24;          if (ts.WindowFlag & WF_WINDOWCHANGE) {
1829          if ((Param[3]<=1) || (NParam<3)) Param[3] = 80;            if ((Param[2]<=1) || (NParam<2)) Param[2] = 24;
1830          ChangeTerminalSize(Param[3],Param[2]);            if ((Param[3]<=1) || (NParam<3)) Param[3] = 80;
1831              ChangeTerminalSize(Param[3],Param[2]);
1832            }
1833          break;          break;
1834        case 9: // Maximize/Restore window        case 9: // Maximize/Restore window
1835          if (NParam < 2 || Param[2] == 0) {          if (ts.WindowFlag & WF_WINDOWCHANGE) {
1836            DispShowWindow(WINDOW_RESTORE);            if (NParam < 2 || Param[2] == 0) {
1837          }              DispShowWindow(WINDOW_RESTORE);
1838          else {            }
1839            DispShowWindow(WINDOW_MAXIMIZE);            else {
1840                DispShowWindow(WINDOW_MAXIMIZE);
1841              }
1842          }          }
1843          break;          break;
1844        case 11: // Report window state        case 11: // Report window state
1845          len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%dt", CLocale, DispWindowIconified()?2:1);          if (ts.WindowFlag & WF_WINDOWREPORT) {
1846          SendCSIstr(Report, len);            len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "%dt", CLocale, DispWindowIconified()?2:1);
1847              SendCSIstr(Report, len);
1848            }
1849          break;          break;
1850        case 13: // Report window position        case 13: // Report window position
1851          DispGetWindowPos(&x, &y);          if (ts.WindowFlag & WF_WINDOWREPORT) {
1852          len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "3;%d;%dt", CLocale, x, y);            DispGetWindowPos(&x, &y);
1853          SendCSIstr(Report, len);            len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "3;%d;%dt", CLocale, x, y);
1854              SendCSIstr(Report, len);
1855            }
1856          break;          break;
1857        case 14: /* get window size??? */        case 14: /* get window size??? */
1858          /* this is not actual window size */          if (ts.WindowFlag & WF_WINDOWREPORT) {
1859          SendCSIstr("4;640;480t", 10);            /* this is not actual window size */
1860              SendCSIstr("4;640;480t", 10);
1861            }
1862          break;          break;
1863        case 18: /* get terminal size */        case 18: /* get terminal size */
1864          len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "8;%u;%u;t", CLocale, NumOfLines-StatusLine, NumOfColumns);          if (ts.WindowFlag & WF_WINDOWREPORT) {
1865          SendCSIstr(Report, len);            len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "8;%u;%u;t", CLocale,
1866                                  NumOfLines-StatusLine, NumOfColumns);
1867              SendCSIstr(Report, len);
1868            }
1869          break;          break;
1870        case 19: // Report display size (character)        case 19: // Report display size (character)
1871          DispGetRootWinSize(&x, &y);          if (ts.WindowFlag & WF_WINDOWREPORT) {
1872          len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "9;%d;%dt", CLocale, y, x);            DispGetRootWinSize(&x, &y);
1873          SendCSIstr(Report, len);            len = _snprintf_s_l(Report, sizeof(Report), _TRUNCATE, "9;%d;%dt", CLocale, y, x);
1874              SendCSIstr(Report, len);
1875            }
1876          break;          break;
1877      }      }
1878    }    }
# Line 1957  void CSSetAttr() Line 1989  void CSSetAttr()
1989                CSQExchangeColor(); /* Exchange text/back color */                CSQExchangeColor(); /* Exchange text/back color */
1990              break;              break;
1991            case 6:            case 6:
1992              if ((StatusLine>0) &&              if ((StatusLine>0) && (CursorY==NumOfLines-1))
                 (CursorY==NumOfLines-1))  
1993                MoveCursor(0,CursorY);                MoveCursor(0,CursorY);
1994              else {              else {
1995                RelativeOrgMode = TRUE;                RelativeOrgMode = TRUE;
# Line 1971  void CSSetAttr() Line 2002  void CSSetAttr()
2002              if (ts.MouseEventTracking)              if (ts.MouseEventTracking)
2003                MouseReportMode = IdMouseTrackX10;                MouseReportMode = IdMouseTrackX10;
2004              break;              break;
2005            case 12: ts.NonblinkingCursor = FALSE; ChangeCaret(); break;            case 12:
2006                if (ts.WindowFlag & WF_CURSORCHANGE) {
2007                  ts.NonblinkingCursor = FALSE;
2008                  ChangeCaret();
2009                }
2010                break;
2011            case 19: PrintEX = TRUE; break;            case 19: PrintEX = TRUE; break;
2012            case 25: DispEnableCaret(TRUE); break; // cursor on            case 25: DispEnableCaret(TRUE); break; // cursor on
2013            case 38:            case 38:
# Line 2062  void CSSetAttr() Line 2098  void CSSetAttr()
2098                CSQExchangeColor(); /* Exchange text/back color */                CSQExchangeColor(); /* Exchange text/back color */
2099              break;              break;
2100            case 6:            case 6:
2101              if ((StatusLine>0) &&              if ((StatusLine>0) && (CursorY==NumOfLines-1))
                 (CursorY==NumOfLines-1))  
2102                MoveCursor(0,CursorY);                MoveCursor(0,CursorY);
2103              else {              else {
2104                RelativeOrgMode = FALSE;                RelativeOrgMode = FALSE;
# Line 2073  void CSSetAttr() Line 2108  void CSSetAttr()
2108            case 7: AutoWrapMode = FALSE; break;            case 7: AutoWrapMode = FALSE; break;
2109            case 8: AutoRepeatMode = FALSE; break;            case 8: AutoRepeatMode = FALSE; break;
2110            case 9: MouseReportMode = IdMouseTrackNone; break;            case 9: MouseReportMode = IdMouseTrackNone; break;
2111            case 12: ts.NonblinkingCursor = TRUE; ChangeCaret(); break;            case 12:
2112                if (ts.WindowFlag & WF_CURSORCHANGE) {
2113                  ts.NonblinkingCursor = TRUE;
2114                  ChangeCaret();
2115                }
2116                break;
2117            case 19: PrintEX = FALSE; break;            case 19: PrintEX = FALSE; break;
2118            case 25: DispEnableCaret(FALSE); break; // cursor off            case 25: DispEnableCaret(FALSE); break; // cursor off
2119            case 59:            case 59:
# Line 2202  void CSSetAttr() Line 2242  void CSSetAttr()
2242    void CSSpace(BYTE b) {    void CSSpace(BYTE b) {
2243      switch (b) {      switch (b) {
2244        case 'q':        case 'q':
2245          if (NParam > 0) {          if (ts.WindowFlag & WF_CURSORCHANGE) {
2246            if (Param[1] < 0) Param[1] = 0;            if (NParam > 0) {
2247            switch (Param[1]) {              if (Param[1] < 0) Param[1] = 0;
2248              case 0:              switch (Param[1]) {
2249              case 1:                case 0:
2250                ts.CursorShape = IdBlkCur;                case 1:
2251                ts.NonblinkingCursor = FALSE;                  ts.CursorShape = IdBlkCur;
2252                break;                  ts.NonblinkingCursor = FALSE;
2253              case 2:                  break;
2254                ts.CursorShape = IdBlkCur;                case 2:
2255                ts.NonblinkingCursor = TRUE;                  ts.CursorShape = IdBlkCur;
2256                break;                  ts.NonblinkingCursor = TRUE;
2257              case 3:                  break;
2258                ts.CursorShape = IdHCur;                case 3:
2259                ts.NonblinkingCursor = FALSE;                  ts.CursorShape = IdHCur;
2260                break;                  ts.NonblinkingCursor = FALSE;
2261              case 4:                  break;
2262                ts.CursorShape = IdHCur;                case 4:
2263                ts.NonblinkingCursor = TRUE;                  ts.CursorShape = IdHCur;
2264                break;                  ts.NonblinkingCursor = TRUE;
2265              case 5:                  break;
2266                ts.CursorShape = IdVCur;                case 5:
2267                ts.NonblinkingCursor = FALSE;                  ts.CursorShape = IdVCur;
2268                break;                  ts.NonblinkingCursor = FALSE;
2269              case 6:                  break;
2270                ts.CursorShape = IdVCur;                case 6:
2271                ts.NonblinkingCursor = TRUE;                  ts.CursorShape = IdVCur;
2272                break;                  ts.NonblinkingCursor = TRUE;
2273              default:                  break;
2274                return;                default:
2275                    return;
2276                }
2277                ChangeCaret();
2278            }            }
           ChangeCaret();  
2279          }          }
2280          break;          break;
2281      }      }

Legend:
Removed from v.3483  
changed lines
  Added in v.3485

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26