qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Ongoing changes to the displaying code
Date: Thu, 08 Jan 2009 21:04:36 -0600	[thread overview]
Message-ID: <4966BEC4.7080903@codemonkey.ws> (raw)
In-Reply-To: <4966BB7A.3090303@codemonkey.ws>

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

  reply	other threads:[~2009-01-09  3:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-09  1:52 [Qemu-devel] Ongoing changes to the displaying code Daniel Gutson
2009-01-09  2:50 ` Anthony Liguori
2009-01-09  3:04   ` Anthony Liguori [this message]
2009-01-09  9:28     ` David Turner
2009-01-09 15:20       ` Anthony Liguori
2009-01-09 16:53         ` David Turner
2009-01-09 17:16         ` Ian Jackson
2009-01-09 17:24           ` Anthony Liguori
2009-01-09 17:42             ` Riku Voipio
2009-01-09 18:59               ` Anthony Liguori
2009-01-10  0:01                 ` Jamie Lokier
2009-01-10  1:39                   ` Anthony Liguori
2009-01-12 15:25                 ` Ian Jackson
2009-01-15  8:53                 ` Mark McLoughlin
2009-01-09 17:26           ` David Turner
2009-01-09 19:02             ` Anthony Liguori
2009-01-12 15:31             ` Ian Jackson
2009-01-11  8:22     ` Avi Kivity
2009-01-12 15:33       ` Ian Jackson
2009-01-12 15:57         ` Avi Kivity
2009-01-09 12:04 ` Stefano Stabellini

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=4966BEC4.7080903@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --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).