Comments (6)
Thanks for filing! Are you running QEMU-for-Windows or QEMU inside WSL? There is a standard resize message that the Windows console subsystem generates, and I would guess that qemu-for-win is not handling it.
For what it's worth, running something inside qemu's serial console is much more specific than just "unix/linux programs" 🙂
from terminal.
Hello!
I'm using QEMU-for-Windows.
As I understand QEMU just put data from emulated-for-guest COM-port to the stdout and let stdin go to the COM-port.
I think the first question is: Does the terminal resize generate special escape sequence that goes to stdin of a process attached to the terminal?
from terminal.
I think the first question is: Does the terminal resize generate special escape sequence that goes to stdin of a process attached to the terminal?
It does not. This is true of all terminal emulators on all platforms.
On Linux and POSIX-compatible equivalents, the TTY or PTY driver sends SIGWINCH
(the window change signal.) It does not generate VT.
On Windows, the console subsystem inserts a WINDOW_BUFFER_SIZE_EVENT
into the input stream, which WSL and most POSIX translation layers translate into SIGWINCH
.
I do not believe there is a standard in-band signal for window size changes. QEMU-for-Windows should be listening for WINDOW_BUFFER_SIZE_EVENT
... however: serial ports typically do not resize. There may not be an in-band signal that its serial port emulation can use to cause the guest OS to generate a SIGWINCH
.
I cannot find any window handling in QEMU's code that would give support for window resizing to the ISA or PCI serial devices. 🙂
from terminal.
PuTTY doesn't even do anything when the window size changes for a serial connection!
from terminal.
Hmm...
Really there is a separate technique of resize notification:
contour-terminal/contour#1236 (reply in thread)
But things work over ssh so I'm wondering does an ssh/telnet protocol cover this case.
Also I'm wandering was there a hardware terminal that can switch screen size and how do they do it over serial line. May be I'll ask somebodies in invisible island about this if they are reachable...
from terminal.
Really there is a separate technique of resize notification:
The comment you linked to says this:
Size change -> TE resizes PTY with syscall -> application receives SIGWINCH -> TUI queries size from TE or with a SYSCALL -> response
Which is exactly what I described above. There doesn't seem to be another way 🙂
If you find another way to handle this, please feel free to comment here and I will reopen the issue! Thanks so much!
from terminal.
Related Issues (20)
- Windows Terminal prevents you from switching the layout HOT 2
- Ctrl Clicking any link inside of quotes appends quote at the end of line HOT 1
- Terminal window jittering when resizing HOT 1
- Click-and-drag does not cause search field to lose focus HOT 1
- command palette doesnt open at all HOT 4
- Entered text can get overwritten while typing when wrapped HOT 4
- Terminal Preview Hangs after Reconnecting to DevBox HOT 3
- Application Error HOT 1
- Extraneous newlines are inserted when the window scrolls HOT 2
- PGO is failing - unpackaged preview build crashes on startup setting up quick fix menu
- Find dialog continually returns focus to found element after clicking out of the dialog
- Search resets current position while new results arrive
- Backspace in wrapped cooked read erases char on line above HOT 2
- Scroll up/down (SU/SD) don't copy wide glyph padding spaces HOT 5
- Saving action without ID immediately erases it; no warning/error HOT 4
- command line option to launch new windows in zen mode HOT 2
- new windows will only attach to previously used window if terminal is already running HOT 1
- Add an option to see "widthxheight" while resizing a window HOT 3
- Add an option to show notification when copying content
- Unable to find the selected font HOT 1
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 terminal.