Re: [dwm] [ANNOUNCE] dvtm-0.2

From: Marc Andre Tanner <mat_AT_brain-dump.org>
Date: Wed, 9 Jan 2008 22:19:45 +0100

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
Received on Wed Jan 09 2008 - 22:19:15 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:15:17 UTC