@ -789,6 +789,11 @@ void Vt102Emulation::processToken(int token, int p, int q)
case TY_CSI_PR ( ' h ' , 1049 ) : saveCursor ( ) ; _screen [ 1 ] - > clearEntireScreen ( ) ; setMode ( MODE_AppScreen ) ; break ; //XTERM
case TY_CSI_PR ( ' h ' , 1049 ) : saveCursor ( ) ; _screen [ 1 ] - > clearEntireScreen ( ) ; setMode ( MODE_AppScreen ) ; break ; //XTERM
case TY_CSI_PR ( ' l ' , 1049 ) : resetMode ( MODE_AppScreen ) ; restoreCursor ( ) ; break ; //XTERM
case TY_CSI_PR ( ' l ' , 1049 ) : resetMode ( MODE_AppScreen ) ; restoreCursor ( ) ; break ; //XTERM
case TY_CSI_PR ( ' h ' , 2004 ) : setMode ( MODE_BracketedPaste ) ; break ; //XTERM
case TY_CSI_PR ( ' l ' , 2004 ) : resetMode ( MODE_BracketedPaste ) ; break ; //XTERM
case TY_CSI_PR ( ' s ' , 2004 ) : saveMode ( MODE_BracketedPaste ) ; break ; //XTERM
case TY_CSI_PR ( ' r ' , 2004 ) : restoreMode ( MODE_BracketedPaste ) ; break ; //XTERM
//FIXME: weird DEC reset sequence
//FIXME: weird DEC reset sequence
case TY_CSI_PE ( ' p ' ) : /* IGNORED: reset ( ) */ break ;
case TY_CSI_PE ( ' p ' ) : /* IGNORED: reset ( ) */ break ;
@ -1196,6 +1201,7 @@ void Vt102Emulation::resetModes()
resetMode ( MODE_Mouse1005 ) ; saveMode ( MODE_Mouse1005 ) ;
resetMode ( MODE_Mouse1005 ) ; saveMode ( MODE_Mouse1005 ) ;
resetMode ( MODE_Mouse1006 ) ; saveMode ( MODE_Mouse1006 ) ;
resetMode ( MODE_Mouse1006 ) ; saveMode ( MODE_Mouse1006 ) ;
resetMode ( MODE_Mouse1015 ) ; saveMode ( MODE_Mouse1015 ) ;
resetMode ( MODE_Mouse1015 ) ; saveMode ( MODE_Mouse1015 ) ;
resetMode ( MODE_BracketedPaste ) ; saveMode ( MODE_BracketedPaste ) ;
resetMode ( MODE_AppScreen ) ; saveMode ( MODE_AppScreen ) ;
resetMode ( MODE_AppScreen ) ; saveMode ( MODE_AppScreen ) ;
resetMode ( MODE_AppCuKeys ) ; saveMode ( MODE_AppCuKeys ) ;
resetMode ( MODE_AppCuKeys ) ; saveMode ( MODE_AppCuKeys ) ;
@ -1221,6 +1227,10 @@ void Vt102Emulation::setMode(int m)
emit programUsesMouseChanged ( false ) ;
emit programUsesMouseChanged ( false ) ;
break ;
break ;
case MODE_BracketedPaste :
emit programBracketedPasteModeChanged ( true ) ;
break ;
case MODE_AppScreen :
case MODE_AppScreen :
_screen [ 1 ] - > clearSelection ( ) ;
_screen [ 1 ] - > clearSelection ( ) ;
setScreen ( 1 ) ;
setScreen ( 1 ) ;
@ -1249,6 +1259,10 @@ void Vt102Emulation::resetMode(int m)
emit programUsesMouseChanged ( true ) ;
emit programUsesMouseChanged ( true ) ;
break ;
break ;
case MODE_BracketedPaste :
emit programBracketedPasteModeChanged ( false ) ;
break ;
case MODE_AppScreen :
case MODE_AppScreen :
_screen [ 0 ] - > clearSelection ( ) ;
_screen [ 0 ] - > clearSelection ( ) ;
setScreen ( 0 ) ;
setScreen ( 0 ) ;