help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: utf text console - control-g does not work any longer


From: Peter Petersen
Subject: Re: utf text console - control-g does not work any longer
Date: Sat, 14 May 2005 03:07:22 +0200
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.3 (gnu/linux)

* Alan Mackenzie <acm@muc.de> schrieb:

Hi, Alan!

> Anti-aliasing - that's that thing where all the characters are made to
> look blurred, isn't it?  YUCK!  It's always amazed me that people with
> GUIs have such trouble with fonts when a simple 8x16 pixel grid on a text
> console gives such good results.

Yes, the quality of console fonts is unbeatable (in my opinion).

As to anti-aliasing... yes, there is a strong risk of suffering from
blurred vision. On the other hand, anti-aliasing can look very good
under windows, and moreover, without anti-aliasing fonts often look very
ugly in Linux web browsers etc.

Anyway, I have now played (rather: struggled) for days (or even weeks!)
with font settings and with colour themes for XEmacs without getting a
convincing result, one that pleases my eyes and doesn't hurt them. :-(


>> I launch Gnus like this:
>
>> LC_CTYPE=de_DE.utf8 exec filterm - dynafont emacs -nw --eval
>> "(set-keyboard-coding-system 'latin-9)" -f gnus-unplugged "$@"
>
> I don't have LC_CTYPE, but when I execute the (set-keybo... thingy, I
> have no trouble with C-g.  But then, I don't use filterm (whatever it
> is).

Yes, since you are not using "filterm" (and dynafont), you don't get
that trouble with C-g.

>From the man page of "filterm":

***
FILTERM(1)                             Linux User's Manual
FILTERM(1)

NAME
       filterm - filter terminal input and/or output

SYNOPSIS
       filterm INPUT OUTPUT [COMMAND [ARGS]]

DESCRIPTION
       Execute the specified COMMAND (default is the shell), filtering
       terminal input and/or output.

       It can help e.g. when our terminal is unable to display non-ASCII
       characters or to enter them from the keyboard. It also makes
       writing various terminal filters easier.

       INPUT and OUTPUT are names of konwert's filters - they are passed
       as the first argument to the konwert(1) program.  filterm -
       OUTPUT filters only output, and filterm INPUT - only input.

       The command - executes the shell as a login shell.

       It differs from konwert INPUT | COMMAND | konwert OUTPUT in that
       the command is executed on a pseudo-terminal, so full-screen
       programs work correctly.

       The filters have to output the characters as soon as they receive
       all necessary input, without buffering.  trs(1) scripts are OK,
       but sed(1) or awk(1) or tr(1) scripts are not.  In C you may use
       read(), getchar(), fread(), and write(), but putchar() and
       fwrite() only together with fflush(stdout).  In C++: cin.get(),
       cout.put(), and cout <<.  In perl: sys- read, getc, read, and
       syswrite, but print only with $| = 1.

       The input filter will have set the environment variable
       FILTERM=in, and the output one - FILTERM=out.  This way some
       filters can slightly alter their behaviour when working for
       filterm.  
***


>> control-g doesn't work any longer! (or in other words: keyboard-quit)
>
> When you type C-g, what gets through to Emacs?  (Do C-h l
> `view-lossage').  Does _anything_ get through to Emacs?  Does C-g work if
> you leave `filterm' out?  

"view-lossage" doesn't see anything regarding C-g, C-g doesn't seem to
get through to Emacs.

But C-g DOES work and has always worked for me WITHOUT filterm.

But filterm is quite important to me, because it puts the console in utf
mode and also takes care to provide an adequate font etc.

Without filterm I would have to use a command like: "unicode_start" and
also set an utf capable font via the "consolechars" command. But
whatever font I set, it never works. filterm seems to do more than just
select a suitable font, it also appears to modify fonts temporarily
(though I am just guessing here).


>> This is very bad because I often need to abort a command.
>> In many cases (like aborting a M-x... sequence) ESC-ESC-ESC is a good
>> workaround.
>
> C-g is absolutely necessary.  You don't need any excuses for needing it.

Sure, ESC-ESC-ESC doesn't work for currently _running_ commands.


>> I tried to remap control-g to e.g. F6 (function key 6) or other keys I
>> tried, but nothing works - it looks like control-g is something very
>> special and that the code of Emacs doesn't allow for changing that!
>
> Where did you do the remapping?  In your keyboard driver (e.g.
> /etc/default.keytab) or somewhere within Emacs.

Within Emacs, via global-set-key. This works perfectly for other
commands, just not for "keyboard-quit" (provided that I use filterm).


>> This means, running commands can no longer be interrupted/aborted when I
>> use a utf-8 enabled Emacs/Gnus in a Linux text console.
>
>> Does anyone have experience with this problem - or even better have a
>> solution?
>
> What does filterm do with C-g?

Well, I am no expert here, don't have a clue.

By the way, another problem may be relevant:

If I omit that LC_CTYPE=de_DE.utf8 (see above), I am no longer able to
type Umlaute (äöü), but even worse: as soon as I type, for instance, an
"ä" or "ö" Emacs is blocked (locked up? I don't know), but since C-g
doesn't work, there is no way in hell I could unblock Emacs! It looks
like my typing an "ö" is being interpreted as a _command_! - This is
with filterm running, of course.
I have to kill Emacs from another virtual console.


Is there nobody here who also uses "filterm"?

Or alternatively:
Is there nobody here who could give me some detailled hints as to
putting my virtual console in utf mode manually?


thanks
Peter(sen)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]