From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1L55O1-000821-Vv for mharc-grub-devel@gnu.org; Tue, 25 Nov 2008 16:23:58 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L55Nz-00081s-O4 for grub-devel@gnu.org; Tue, 25 Nov 2008 16:23:55 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L55Nz-00081Y-EY for grub-devel@gnu.org; Tue, 25 Nov 2008 16:23:55 -0500 Received: from [199.232.76.173] (port=34159 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L55Nz-00081V-71 for grub-devel@gnu.org; Tue, 25 Nov 2008 16:23:55 -0500 Received: from ns39764.ovh.net ([91.121.25.85]:56615 helo=nexedi.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L55Ny-0003Ha-Nj for grub-devel@gnu.org; Tue, 25 Nov 2008 16:23:55 -0500 Received: from [10.8.0.46] (unknown [10.8.0.46]) by nexedi.com (Postfix) with ESMTP id 3760F3DA32 for ; Tue, 25 Nov 2008 22:23:54 +0100 (CET) From: "Yoshinori K. Okuji" Organization: enbug.org To: The development of GRUB 2 Date: Tue, 25 Nov 2008 22:23:52 +0100 User-Agent: KMail/1.9.9 References: <20081102181132.GA24737@thorin> <200811221842.54928.okuji@enbug.org> <20081122195457.GA7779@thorin> In-Reply-To: <20081122195457.GA7779@thorin> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200811252223.53090.okuji@enbug.org> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: Re: [RFC] Multi-terminal support (Re: [PATCH] terminal split) X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2008 21:23:56 -0000 On Saturday 22 November 2008 20:54:57 Robert Millan wrote: > On Sat, Nov 22, 2008 at 06:42:54PM +0100, Yoshinori K. Okuji wrote: > > However, whenever you want to do more than that, you must control each > > terminal differently. In particular, the menu code. The menu interface > > may not be uniform with all terminals. A terminal might have the size > > 80x25. Another might have 120x40. This is more complex with graphical > > terminals. > > This problem does only happen with output terminals, right? My primary > concern are input terminals, because if we want to support USB keyboards > we need to probe from both USB and AT ones at the same time. Yes. > > I like the idea that GRUB displays the user interface simultaneously. But > > this requires a lot of refactoring. Probably, the menu code will have to > > iterate all terminals explicitly, and make actions differently for each > > terminal, based on the capabilities. With the menu editor, how should the > > cursor be managed? We need to think a lot. > > I've been thinking... what if we make this generic? I.e. with an event > loop, then terminals can register their poll functions to it, and write > their stuff to a shared resource the rest of GRUB can read from. For inputs, this is trivial for me. But, for outputs, not simple. For example, although we don't support yet in GRUB 2, if we have a dumb terminal, the menu interface must be very different from others. Regards, Okuji