Add ESC code to change tab text color. Since t has to do with window


			
			
				wilder-portage
			
			
		
Kurt Hindenburg 21 years ago
parent 12ee30ea40
commit 381d65aec2
  1. 3
      konsole/TEmuVt102.cpp
  2. 1
      konsole/TEmulation.h
  3. 17
      konsole/konsole.cpp
  4. 1
      konsole/konsole.h

@ -511,6 +511,9 @@ switch( N )
// resize = \e[8;<row>;<col>t
case TY_CSI_PS('t', 8) : changeColLin( q /* col */, p /* lin */ ); break;
// change tab text color : \e[28;<color>t color: 0-16,777,215
case TY_CSI_PS('t', 28) : emit changeTabTextColor ( p ); break;
case TY_CSI_PS('K', 0) : scr->clearToEndOfLine ( ); break;
case TY_CSI_PS('K', 1) : scr->clearToBeginOfLine ( ); break;
case TY_CSI_PS('K', 2) : scr->clearEntireLine ( ); break;

@ -72,6 +72,7 @@ signals:
void changeTitle(int arg, const char* str);
void notifySessionState(int state);
void zmodemDetected();
void changeTabTextColor(int color);
public:

@ -1983,6 +1983,18 @@ void Konsole::reparseConfiguration()
}
}
// Called from emulation
void Konsole::changeTabTextColor( int rgb )
{
QColor color;
color.setRgb( rgb );
if ( !color.isValid() ) {
kdWarning()<<" Invalid RGB color "<<rgb<<endl;
return;
}
tabwidget->setTabColor( se->widget(), color );
}
// Called from emulation
void Konsole::changeColLin(int columns, int lines)
{
@ -2685,6 +2697,8 @@ QString Konsole::newSession(KSimpleConfig *co, QString program, const QStrList &
this, SLOT(slotGetSessionSchema(TESession*, QString &)));
connect( s, SIGNAL(setSessionSchema(TESession*, const QString &)),
this, SLOT(slotSetSessionSchema(TESession*, const QString &)));
connect( s->getEmulation(),SIGNAL(changeTabTextColor(int)),
this,SLOT(changeTabTextColor(int)) );
s->widget()->setVTFont(defaultFont);// Hack to set font again after newSession
s->setSchemaNo(schmno);
@ -3387,6 +3401,7 @@ void Konsole::detachSession(TESession* _se) {
disconnect( _se->getEmulation(),SIGNAL(ImageSizeChanged(int,int)), this,SLOT(notifySize(int,int)));
disconnect( _se->getEmulation(),SIGNAL(changeColLin(int, int)), this,SLOT(changeColLin(int,int)) );
disconnect( _se->getEmulation(),SIGNAL(changeColumns(int)), this,SLOT(changeColumns(int)) );
disconnect( _se->getEmulation(),SIGNAL(changeTabTextColor(int)), this,SLOT(changeTabTextColor(int)) );
disconnect( _se,SIGNAL(updateTitle()), this,SLOT(updateTitle()) );
disconnect( _se,SIGNAL(notifySessionState(TESession*,int)), this,SLOT(notifySessionState(TESession*,int)) );
@ -3486,6 +3501,8 @@ void Konsole::attachSession(TESession* session)
connect( session->getEmulation(),SIGNAL(changeColumns(int)), this,SLOT(changeColumns(int)) );
connect( session->getEmulation(),SIGNAL(changeColLin(int, int)), this,SLOT(changeColLin(int,int)) );
connect( session->getEmulation(),SIGNAL(changeTabTextColor(int)), this,SLOT(changeTabTextColor(int)) );
activateSession(session);
}

@ -156,6 +156,7 @@ private slots:
void updateKeytabMenu();
void updateRMBMenu();
void changeTabTextColor(int);
void changeColumns(int);
void changeColLin(int columns, int lines);
void notifySessionState(TESession* session,int state);

Loading…
Cancel
Save