No subject


Fri Aug 14 09:09:33 EDT 2015


have a design flaw. It is imopssible to write text to a terminal without
moving the cursor (except in some weird cases, see ncurses's leaveok function,
which does not work for example on the Linux console).

Therefore when BRLTTY is reading the screen, and it happens to do so while
some program is writing on the corresponding terminal device, BRLTTY notices
that the cursor has moved to a new location in which case cursor tracking
kicks in.

Therefore it is at the moment almost impossible to use cursor tracking in
programs which update the screen frequently. I, for example, would like to
have emacs display a clock on its mode line, but I cannot activate the
feature, because it causes frequent screen updates and lots of unwanted cursor
tracking.

This could be worked around in BRLTTY perhaps if it could delay cursor
tracking by few milliseconds. This would actually be great, IMHO.

It could work like this:
1. In normal screen update handling routine:
  - If cursor has moved, make a note of it
2. If cursor was moved in last screen update, make a cursor position check
  one ms after the screen update:
  - If cursor did not move, apply cursor tracking and continue normally
  - If it did move, restart step 2 unless it is time to do a whole screen
    update

(I actually don't know how BRLTTY does screen update handling, so my idea
might need quite a bit of adaptation.)

-- 
Aura


More information about the BRLTTY mailing list