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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.