From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KfJ1W-00054V-4l for qemu-devel@nongnu.org; Mon, 15 Sep 2008 14:42:10 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KfJ1U-00052Z-57 for qemu-devel@nongnu.org; Mon, 15 Sep 2008 14:42:09 -0400 Received: from [199.232.76.173] (port=41830 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KfJ1U-00052R-1K for qemu-devel@nongnu.org; Mon, 15 Sep 2008 14:42:08 -0400 Received: from wf-out-1314.google.com ([209.85.200.174]:41465) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KfJ1T-0000as-IT for qemu-devel@nongnu.org; Mon, 15 Sep 2008 14:42:07 -0400 Received: by wf-out-1314.google.com with SMTP id 27so2154106wfd.4 for ; Mon, 15 Sep 2008 11:42:06 -0700 (PDT) Message-ID: Date: Mon, 15 Sep 2008 20:42:06 +0200 From: "andrzej zaborowski" Subject: Re: [Qemu-devel] [PATCH 1/1][RESEND] v2: Fix text console size/resize when using curses In-Reply-To: <20080915173503.GT17312@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1220544638-1972-1-git-send-email-ryanh@us.ibm.com> <1220544638-1972-2-git-send-email-ryanh@us.ibm.com> <20080915173503.GT17312@us.ibm.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ryan Harper Cc: Paul Brook , qemu-devel@nongnu.org, kvm@vger.kernel.org, Ian Kirk 2008/9/15 Ryan Harper : > * andrzej zaborowski [2008-09-15 11:51]: >> Hi, > > Hello, > >> >> 2008/9/4 Ryan Harper : >> > v2: drop initial size adjustment, not needed. >> > >> > Resize events fail to ensure that both the text console and curses display areas >> > are the same size; this causes broken output like: >> >> It seems that this was broken by r4812. Your patch looks correct but > > Thanks for taking a look, > >> I think it will prevent things like -serial vc:80Cx24C from working as >> documented. There's a conflict here: either virtual consoles have >> commandline-set fixed size or they adjust to the window size like >> before r4812 and don't have parts that don't fit on the screen. The >> SDL window is not resizable but the curses window is always resizable. >> I propose to add TEXT_CONSOLE_FIXED_SIZE back, it was removed by >> r4812. I will do this unless there are better ideas. > > I'll test the -serial to see if that breaks with the current patch.. > I'm also looking at an alternative. I think that in curses.c if on > window change event we can send a qemu_console_resize() to the text > consoles with the new width,height, that does the work of getting the > width/height in sync. I'll send an update if I get that working. The TEXT_CONSOLE_FIXED_SIZE approach worked ok, too, and it's generic (i.e. if in sdl.c you make the SDL window resizable then it'll start working for SDL automatically). > >> >> Another idea would be to set the default console size to 640x400 and >> agree to not support terminals < 80x24. > > I'm not sure that would fix it completely, I'm pretty sure the output > still looks broken even if your terminal is bigger than the min size > required. Right, at the moment it is broken because curses.c assumes that text consoles automatically resized to ds->width,ds->height and they didn't, they keep the size given through vc:XxY or 800x600 if none was given. Regards