From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LL7fz-0003rP-B7 for qemu-devel@nongnu.org; Thu, 08 Jan 2009 22:04:47 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LL7fx-0003rD-GZ for qemu-devel@nongnu.org; Thu, 08 Jan 2009 22:04:46 -0500 Received: from [199.232.76.173] (port=43614 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LL7fx-0003rA-8P for qemu-devel@nongnu.org; Thu, 08 Jan 2009 22:04:45 -0500 Received: from an-out-0708.google.com ([209.85.132.245]:6447) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LL7fw-0006qt-Jp for qemu-devel@nongnu.org; Thu, 08 Jan 2009 22:04:44 -0500 Received: by an-out-0708.google.com with SMTP id c38so3853954ana.37 for ; Thu, 08 Jan 2009 19:04:44 -0800 (PST) Message-ID: <4966BEC4.7080903@codemonkey.ws> Date: Thu, 08 Jan 2009 21:04:36 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Ongoing changes to the displaying code References: <4966ADD4.5090102@codesourcery.com> <4966BB7A.3090303@codemonkey.ws> In-Reply-To: <4966BB7A.3090303@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Anthony Liguori wrote: > Daniel Gutson wrote: >> Hi, >> I'm doing some development related with the displaying bits, and >> wanted to give an early notice for syncing purposes (specially in >> terms of Stefano's work). >> >> The development I'm doing intends to add a GUI, which the following >> abilities: >> - show more than one DisplayState in a single VT (I think this >> was previously referred as 'DS multiplexing'), capable of being a mix >> of graphic/text (see below) >> - add a skin to each VT >> - provide "buttons" with associated actions (such as keyboard input) >> - define all these attributes from an XML file >> - in the case of VNC, the ability to show a different VT in each >> connection. > > I don't think any of this is a good idea with the exception of > supporting multiple DisplayStates. > > If you want skins and such, you should just build an external GUI than > connects to QEMU via VNC. I should explain myself a bit further. I assume you're looking to do this in order to support functionality like in the Android simulator. So that if you're using QEMU to emulator a hand held device (cell phone, whatever), you can have something that looks like that device. The problem is, your GUI is going to want all the feature of a normal GUI. Context menus, perhaps a tool bar, etc. Maybe you want animated button clicks or even the buttons to make noises when clicked. Inevitably, it'll bloat to a full blown GUI. Not very useful for us virtualization folks so we'll also want our own GUI. Then things get ugly because should it be one GUI or two separate ones? Another way to do this is to separate out the GUI logic so it's not directly tied to QEMU. This has been discussed many times and there are a lot of advantages to using an external GUI. Namely, you can close the window without exiting the simulation. If you build a simple app that exec()'s and connects to QEMU via VNC, and use something like gtk-vnc, you could build just what you're looking for very easily. It's all portable to Windows too and LGPL licensed. You could even develop in a higher level language like Python and you'd get to use file dialog widgets, context menus, and all that good stuff without worrying about recreating that in SDL. I think that's a better route to go for this sort of thing. If you think it's generally useful, I think it'd also be worthwhile to host within the QEMU project. I just don't think it's the right thing to add into QEMU directly. Regards, Anthony Liguori > Regards, > > Anthony Liguori