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
