[Konsole-devel] Re: Patch for konsole

Éric Brunet ebrunet at lps.ens.fr
Fri Jun 28 12:15:10 UTC 2002


On Wednesday 26 June 2002, Stephan Binner wrote:
> On Wednesday 26 June 2002 15:58, Éric Brunet wrote:
> > I propose to remove the line 888 from
> > kdebase/konsole/konsole/TEmuVt102.cpp
> 
> Do not this without doubling *every* "key" entry in all *five* keytables.

Hmmm, I am not sure we are speaking about the same thing.

I propose to change the C++ code in kdebase/konsole/konsole/TEmuVt102.cpp
in order to correct a bug that prevents konsole users from configuring
konsole as they wish. I don't want to change the default configuration,
as described in the four keytables (the four standard
/usr/share/apps/konsole/*.keytab files. Did you say five ?  Maybe I
misunderstood you.)

> > doesn't want the <Escape> character, konsole is unusable for his
> > purpose.
> To be honest, I like the idea to make it an option like in xterm more.
> 
> > code will add the <Escape> prefix, and emacs users will still be happy.
> Don't forget bash users who will cry if Alt-Backspace or Alt-Cursor
> breaks.

I fully agree. Once more, the default behaviour is fine by me, and I
don't propose to change it. But because of the bug I describe, a user
cannot change the behaviour of the meta key the way he wishes; even if he
gives in his .keytab file a specific string to send for a given meta-key
combination, konsole will wrongly prepend an escape character. Konsole
should prepend an escape character only if nothing is specified in the
.keytab file.

Actually, I see on webcvs.kde.org that you are actually the developper
who changed the behaviour in the CVS. (from revision 1.72 to revision
1.73, on 2001 Nov 29.)  Could you revert it ? It really looks like a bug !

Here is a regular patch:
----------------------------------------------------------------
--- TEmuVt102.cpp.orig  Fri Jun 28 14:03:58 2002
+++ TEmuVt102.cpp       Fri Jun 28 14:04:49 2002
@@ -889,7 +889,6 @@
     scr->setHistCursor(scr->getHistLines());

   if (cmd==CMD_send) {
-    if (ev->state() & AltButton) sendString("\033");
     emit sndBlock(txt,len);
     return;
   }
-----------------------------------------------------------------

(Note: cmd == CMD_send only if the user specified something in the .keytab
file. Later in the code is handled the case where nothing was specified
in the .keytab file:
------------------------------
  if (!ev->text().isEmpty())
  {
    if (ev->state() & AltButton) sendString("\033"); // ESC, this is the ALT prefix
-------------------------------
)

Thanks,
	
	Éric Brunet



More information about the konsole-devel mailing list