Giter Club home page Giter Club logo

Comments (6)

DHowett avatar DHowett commented on July 18, 2024

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.

ant5 avatar ant5 commented on July 18, 2024

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.

DHowett avatar DHowett commented on July 18, 2024

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.

DHowett avatar DHowett commented on July 18, 2024

PuTTY doesn't even do anything when the window size changes for a serial connection!

Image

from terminal.

ant5 avatar ant5 commented on July 18, 2024

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.

DHowett avatar DHowett commented on July 18, 2024

Really there is a separate technique of resize notification:

contour-terminal/contour#1236 (reply in thread)

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.