support for ESC % G

Marc Lehmann schmorp at schmorp.de
Fri Apr 16 10:42:47 CEST 2010


On Fri, Apr 16, 2010 at 09:11:21AM +0200, Michal Svoboda <michal.svoboda at agents.felk.cvut.cz> wrote:
> > Uhm, then don't print it? Any program that uses comamnd sequences destined
> > for a totally different type of terminal is seriously broken and needs to be
> > fixed.
> 
> It's not like that, the program will check for TERM=linux. The linux
> console understands that command, urxvt doesn't. I want to use urxvt
> with TERM=linux instead the 'rxvt-unicode' or whatever it uses by
> default.

That is, of course, entirely your problem, and I wonder what it has to do
with rxvt-unicode?

The solution for your problem is to use the correct TERM setting,
obviously.

> Note that ESC % G is not linux specific. It just happens that linux VT
> understands it. 

Sicne it's not standardised anywhere with that meaning, it'S quite
obviously linux-specific.

> Urxvt is already pretty much compatible with TERM=linux (and perhaps
> others, such as xterm). For example the 'civis' sequence of linux

Yes, and with hundreds of other terminals, but it it is still different,
like those hundreds of other terminals.

> This is where you're wrong, for a change, because linux VT DOES switch
> its locale on that sequence

Bullshit - the kernel doesn't have any access to your locale info, so it
simply is incapable of this, it can only be done in userspace.

> Try echoing ESC % @ and catting an utf8
> file, then the same with ESC % G.

Well, try it yourself, obviously the locale of cat or other programs will
be the same as before (including what they might or might not think about
e.g. character width).

> Plus Linux VT eats the whole sequence. Urxvt eats half of it.

Yes, and if you sent it control codes specific to hp terminals, it will also
not support it.

I fail to see your point?

> > If you claim you have a pink dragon in your garage, is it my job to
> > disprove that? Don't think so :)
> 
> All right, I get the point. Let's reverse the implication, on systems
> with utf8 locale that sequence could be a no-op.

I fail to see why - the comamnd sequence has zilch to do with locales.

> on other systems I don't know, but otoh the sequence is printed only
> when the locale is utf8 so that the VT switches to utf8 because by
> default it is in latin1.

It's printed only on deliberately misconfigured systems, i.e. yours.

Since you know quite well how to fix your config, I fail to see your
point, again.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\




More information about the rxvt-unicode mailing list