Comments (13)
And here is what we get in the case where we hang:
^[_far2lok^G ^[_far2lBA==^G // reply to ping ^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down ^[_f2lAQBYAAAAAgAAAFgAAABL^G // alt x <ERR> // wgetch returns -1 f // ? <ERR> // wgetch returns -1Therefore, I think far2l is acting strangely but we should use a timeout when doing this. If despite all of this there's still garbage in the command line, then there's nothing else we can do.
I experienced the same behaviour while testing the win32-input-mode support, so I figured out this had nothing to do with far2l. That strange trace was caused by a problem with the way I was debugging the input characters, and the fact that the application got frozen was entirely a bug in Turbo Vision (which is now fixed).
from turbo.
I can't look into it right now, but that looks like an input event sent at the very end of the program's duration, maybe when the far2l extensions have already been disabled.
from turbo.
When I run turbo with some command line params, like turbo 1 2 3
, garbage string starts not with executable file name, but with last param, 3f2lAQAmAAAAIAEAAAAAAABr
from turbo.
also reproduced under far2l if you run turbo not directly, but from bash shell
from turbo.
but reproduces only on remote (ssh) systems. so possibly some timing issue
from turbo.
AQAmAAAAIAEAAAAAAABr
That's a FARTTY_INPUT_KEYUP
event.
from turbo.
That should fix it. If the connection is slow, then far2l will very likely send us events before extensions get disabled. The only way to consume these events without blocking forever is to send far2l a request right before disabling extensions so that we can keep discarding events until we get the response to that request.
This works with far2l since it replies to invalid requests. I don't know if putty4far2l supports it too, but if it doesn't you'll have to add support for it.
from turbo.
Now turbo often hangs with green screen when trying to exit, both under far2l and putty4far2l:
simplescreenrecorder-2023-01-07_00.38.39.mp4
from turbo.
from turbo.
Btw, putty4far2l is indeed capable of replying to invalid requests, see https://github.com/unxed/putty4far2l/blob/master/terminal.c#L3639
from turbo.
Okay, here is what far2l replies in the normal case:
^[_far2lok^G
^[_far2lBA==^G // reply to ping
^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down
^[_f2lAQBYAAAAAgAAAFgAAABL^G // x down
^[_f2lAQASAAAAAAAAAAAAAABr^G // alt up
^[_f2lAQBYAAAAAAAAAFgAAABr^G // x up
^[_far2lBA==^G // reply to ping
<ERR> // wgetch returns -1
And here is what we get in the case where we hang:
^[_far2lok^G
^[_far2lBA==^G // reply to ping
^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down
^[_f2lAQBYAAAAAgAAAFgAAABL^G // alt x
<ERR> // wgetch returns -1
f // ?
<ERR> // wgetch returns -1
Therefore, I think far2l is acting strangely but we should use a timeout when doing this. If despite all of this there's still garbage in the command line, then there's nothing else we can do.
from turbo.
@elfmz maybe you can suggest something?
from turbo.
Bug not reproduced any more, thanks!
from turbo.
Related Issues (20)
- Korean input support HOT 6
- Shift+Arrow_keys text selection is not working under putty4far2l HOT 2
- copy to clipboard from turbo in far2l extensions mode not working under putty4far2l HOT 1
- System clipboard integration HOT 2
- icon HOT 6
- Feature Request: Load a specific directory tree in the document tree. HOT 2
- Scrolling down using mouse wheel problem HOT 2
- install TARGETS given target "fmt" which does not exist. HOT 1
- Feature request: highlighting for text files
- consider switching from Alt-X to Ctrl-X as exit hotkey HOT 7
- Make the first release. HOT 2
- segfault HOT 2
- Can't change tab size. HOT 4
- Run on docker HOT 2
- macOS PowerPC: all tests pass, but in terminal no output upon launching the app HOT 36
- Store and load settings HOT 1
- Line numbers / OCD issue HOT 1
- [Feature request] LSP support? HOT 1
- artifacts during window resize HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from turbo.