On Thu, Apr 09, 2009 at 05:14:25 +0200, Marc Lehmann wrote:
> rxvt-unicode contains a workaround against common ncurses bugs: it sends a
> sigwinch as soon as it receives some input *iff* there has been a resize
> operation. No other terminal does this currently, and it help a lot under
> tiling window managers.

No offense meant, but I doubt that fixing problems of other
programs in a terminal application is a good approach in an open
source world. I am aware that - especially at the time this
behaviour had been included - there was probably a large amount
of applications with problems like that. It helped, it was easy
to do, and it solved a lot problems with one strike - but -
that's a workaround not a fix. We should do better in an open
source world.

IMHO it would be much better to contact the authors of these
programs and just say "hey, you are installing your SIGWINCH
handler after getting terminal-size - this can lead to trouble,
you should do this the other way around" - and therefore fix the
problems instead of putting workarounds that might cause new
problems elsewhere (although I agree any clean application 
should be able to handle SIGWINCH at any time and and even 
twice in a row - I agree, the problems with bash4 are problem
inside bash4 and should be fixed there - but problems in 
e.g. jed are problems in jed, and should be fixed there, too - 
not in urxvt)

As local tests has shown, there aren't really that much
applications left with these problems. Actually I couldn't find
any. Probably also a consequence of tiled WMs had become more 
popular and so the bug reports must have reached the authors of
these programs.
Especially the example given in the sourcecode of urxvt - namely
jed - behaves very well here even without this resended-SIGWINCH, 
I also found mutt behaving well (I know it behaved not that 
well in tiled WMs some years ago) 

I wonder how many applications actually still suffer from this 
problems. But even if the number would be high, I still dont 
think it should be fixed in the terminal. This approach might
be good when application's code and authors are not in range 
and cannot be changed, but in a free open source world, I'd 
rather fix problems than writing workarounds.

I would suggest to remove that few lines - or - make them
optional with a configure-option --enable-sigwinch-workaround.

At least you should remove "jed" as example for "badly written"
code as the current version does not have any problems like that.

I've removed the lines that resend the SIGWINCH from my local
version of rxvt-unicode, as this makes bash4 working okay 
and is more acceptable to me than starting a subshell just 
to be able to use ctrl-c. Of course, I still have reported the
problem to the bash-hackers, as it should be fixed anyway.

For anyone interested, the code in question is in ./src/command.C
lines 2208-2220 (most of this is comment, of course)

Thanks for developing urxvt.

_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode

Reply via email to