On Tue, Jan 08, 2008 at 11:21:00PM +0100, Christian Garbs wrote:
> I've repatched against the current master:
> https://www.cgarbs.de/tmp/0001-enable-escaped-keystrokes.patch
> 
> > > I'd also need a way to send CTRL+s.  My terminal reacts to the
> > > combination and I don't know a way to escape it.  Under screen, I
> > > can use ^as instead.
>  
> > Ok doubling ^s wouldn't work as the terminal would react two times
> > so a special function is needed, but wouldn't it be better to read
> > the key which should be escaped via getch()?
> 
> I've changed the escapekey() function to read its argument via
> getch().  This makes for some long commands (open a new client in an
> inner dvtm now is ^g G g c -- if you start another dvtm inside that,
> you'll be in trouble counting your escapes...), but to me that's ok.
> I don't need the ^s very often and I don't plan to run dvtm inside
> dvtm.
> 
> https://www.cgarbs.de/tmp/0002-escaped-keystroke-with-getch.patch

I have applied it, thanks. Note that you can use ^g ^g c (doubling the
modifier will send it to the underlying application).

> > > When I run a dvtm inside a dvtm, ^g works as well, but the inner
> > > dvtm only displays garbled borders.
>  
> > The garbled borders are on a non UTF-8 system, right? If not then
> > make sure you have compiled dvtm with "make unicode".
> 
> d'oh, as in D'OH.  make unicode fixes it, of course.

I will add a check to the Makefile which prints a warning when you do a
simple make on a UTF-8 system. But writing portable Makefiles which also
work with BSD-make turned out to be non trivial for me.

> There is another issue I can't solve by myself:  When the screen gets
> garbled (e.g. the system logger writing an important message to my
> terminal - it's the system console), I can't get dvtm to redraw the
> whole screen.  ^l only works for a client inside its own window.
> 
> To reproduce this, start up dvtm and start a client shell.
> Then do something like this:
> $ ls -l > /proc/`pidof -s dvtm`/fd/1
> 
> You can partially clear the screen by opening new clients, but there
> should be a single keystroke to redraw everything on screen.  madtty
> or curses seem to be doing some kind of caching and become confused
> because they don't realise that somebody wrote directly to their
> terminal.  Their internal state diverges from the displayed screen.

Checkout current master, i have added a redraw command it is bound to ^g
L by default.

Regards,
Marc

-- 
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0

Reply via email to