Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This addon aims to provide a convenient method for using TDSR with NVDA.
## Rationale:

When using ssh with NVDA, cursor tracking is immediately problemmatic.
NVDA tracks the cursor in a syncronous fassion.
NVDA tracks the cursor in a synchronous fashion.
While this has benefits in that it doesn't chance double speaking or other strange behavior, it becomes problematic in terminals because NVDA waits a certain amount of time before giving up on the hope of a cursor move, and simply reporting the same character again.
Assuming the user presses right arrow while focused on "p" in vim, NVDA waits .03 seconds, and then gives up on a cursor move; it then says "p" again instead of "e".
To solve this problem, I invented [console timer][3]. This was a good start, but still requires user configuration, and is still an annoyance.
Expand All @@ -18,13 +18,13 @@ Second, NVDA must diff the entire screen, even if only one character has changed
This is not a problem NVDA can fix easily.
However, TDSR is the shell on the remote machine, (Client), therefore, it doesn't have to do any diffing. It just sees the characters that have changed, and works with them directly.

Thirdly, in the future, TDSR is in a much better possition than NVDA to allow modules or plugins to exist for terminals only.
While I have done work on console modules for NVDA, it is sort of out of scope, and may or may not be easily dueable in NVDA without serious performance hits to users who never will use a terminal.
Thirdly, in the future, TDSR is in a much better position than NVDA to allow modules or plugins to exist for terminals only.
While I have done work on console modules for NVDA, it is sort of out of scope, and may or may not be easily doable in NVDA without serious performance hits to users who never will use a terminal.
I'm about 90% confident that it is possible to do console module support in NVDA as a plugin. However, TDSR is in a better position to do this because of point 1.
It is likely I'll write plugin support for TDSR, and then write a Vi plugin.

When using TDSR, NVDA simply acts as a server, and becomes TDSR's slave. It simply speaks whatever TDSR tells it to speak.
This means that it becomes possible to more efficiently do a hole load of things, as outlined in points 1, 2 and 3.
This means that it becomes possible to more efficiently do a whole load of things, as outlined in points 1, 2 and 3.
To finalize, review cursor support in the terminal is still possible, and is more efficient than using TDSR for review since that happens over the connection.
The combination of TDSR disabling automatic live region support and cursor tracking, along with still being able to use the review cursor makes NVDA and TDSR a good combination.
This global plugin should make this easier.
Expand Down Expand Up @@ -78,7 +78,7 @@ If NVDA talked, you're good to go, try running this next command to make sure it
```
yes sHello | head -n 1000 | ./server_sock.sh; sleep 10; echo 'x' | ./server_sock.sh; sleep 5
```
If you got a bunch of hello's, and then it abruptly shut up, good.
If you got a bunch of hellos, and then it abruptly shut up, good.

### Now, run it:

Expand All @@ -100,9 +100,9 @@ If you want, create an alias like
Pressing nvda+f5 will kill console support. Review cursor still works, but bye bye editing commands and dynamic content changes.
Note: There are still bugs here, if you know how to fix them, tell me, otherwise, I'll investigate them sometime.

## Caviots
## Caveats

* If you are doing something with a boat load of text in the bakground like a linux kernel compile, and switch to another window, TDSR will still communicate with NVDA, because focus doesn't matter. You need to turn on quiet mode in TDSR to fix this. This is *bye design*
* If you are doing something with a boatload of text in the bakground like a linux kernel compile, and switch to another window, TDSR will still communicate with NVDA, because focus doesn't matter. You need to turn on quiet mode in TDSR to fix this. This is *bye design*
* Copy in TDSR doesn't work, It only works in tdsr on mac.

[1]: https://github.com/tspivey/tdsr
Expand Down