From: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] ncurses: resize console if required
Date: Mon, 28 Apr 2008 12:56:31 -0500 [thread overview]
Message-ID: <20080428175631.GC8787@tapir> (raw)
In-Reply-To: <20080428085827.GA4537@implementation.uk.xensource.com>
On Mon, Apr 28, 2008 at 09:58:27AM +0100, Samuel Thibault wrote:
> Hello,
>
> Carlo Marcelo Arenas Belon, le Sun 27 Apr 2008 22:54:45 -0500, a écrit :
> > The following patch instructs qemu to print an escape command to resize the
> > curses console to 80x25 if detected to have a different geometry (xterm and
> > friends use 80x24 by default).
>
> > + /* check size of console and try to adjust if needed */
> > + getmaxyx(stdscr, gheight, gwidth);
> > + if ((gwidth != 80) || (gheight != 25)) {
> > + printf("\033[8;25;80t");
> > + }
>
> You can not just spit out escape sequences like this without know the
> kind of terminal you're in, you know :)
my original patch was checking the TERM variable for xterm or rxvt but since
CSI Window manipulation comes from dtterm I would expect most terminal
emulators to support that, do you have one that does not?
in the case of xterm with allowWindowOps = false the escape string gets just
ignored with no visible output, so expected the same from a terminal that
doesn't support it, but since it seems all the terminals I have access to do,
wasn't able to test that.
> At least check the TERM environment variable for those kind you know
> support it. Also, this should probably go inside the curses_resize()
> function, so that when the guest resizes to e.g. 80x50, the xterm window
> gets resized too.
from my tests, while booting a linux guest, curses_resize will be called with
a 66 x 3 geometry at least once, and a first attempt to make the guest use a
resized console of 80x50 didn't reflect correctly in the curses side either so
I settled for this different implementation as a starting point, and that
solves the problem with default sized xterm used as a curses console.
my intention with this patch was to propose a simple solution to this problem
and hopefully get someone else with more experience in curses and terminal
emulations intrigued enough to give it a more complete spin.
Carlo
next prev parent reply other threads:[~2008-04-28 17:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-28 3:54 [Qemu-devel] [PATCH] ncurses: resize console if required Carlo Marcelo Arenas Belon
2008-04-28 8:58 ` Samuel Thibault
2008-04-28 17:56 ` Carlo Marcelo Arenas Belon [this message]
2008-04-28 23:16 ` Samuel Thibault
2008-04-28 10:14 ` Thiemo Seufer
2008-04-28 17:31 ` Carlo Marcelo Arenas Belon
2008-04-28 17:20 ` Samuel Thibault
2008-04-28 19:17 ` andrzej zaborowski
2008-04-28 23:18 ` Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080428175631.GC8787@tapir \
--to=carenas@sajinet.com.pe \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).