qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH] qemu-doc, help: update options/k


From: Peter Wu
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] qemu-doc, help: update options/keys for GTK/SDL
Date: Tue, 04 Jun 2013 11:54:12 +0200
User-agent: KMail/4.10.3 (Linux/3.9.1-1-custom; KDE/4.10.3; x86_64; ; )

Thanks for your feedback, replies are inlined below.

On Tuesday 04 June 2013 07:57:38 Michael Tokarev wrote:
> 03.06.2013 14:54, Peter Wu wrote:
> > The GTK display type has been introduced in 1.5, replacing SDL as default.
> > Some options only work with SDL and not GTK. This patch tries to address
> > them.
> > 
> > The `-display` option is updated with the new `gtk` option.
> > 
> > The `-alt-grab` and `-ctrl-alt` options are not possible in GTK according
> > to commit 5104a1f65088285ddf870aa641b9061064e8757d, this is now mentioned
> > explicitly. Another related change is that only Ctrl-Alt-G can be used
> > for (un)grbabing.
> > 
> > Window scaling seems also to be a SDL-specific feature and has been marked
> > as such.
> 
> This is a clear improvement.  However, we fail to mention VNC everywhere,
> which actually works pretty much like SDL.  This might go as a separate
> change however...

I did not know that the monitor could be used inside the VNC UI. I will try to 
update the docs with it. Aside, the `-display vnc=:0` option looks odd and 
inconsistent with other options. It would look saner if something like `-
display vnc,display=:0` was possible.

While we are at it, the `-display sdl` option contains:

    "...see the SDL documentation for other possibilities..."

Which documentation is meant? External documentation on the sdl website? The 
part about Ctrl-Alt-F? The `-sdl` option, which is extensively documented? 
("Enable SDL."). Or.. the `qemu-system-x86_64 --help` output? Shall I change 
something like address@hidden sdl` to address@hidden sdl[,frame=on|off],...` 
for clarity in the 
manual page?

> >  During the graphical emulation, you can use special key combinations to
> >  change> 
> > -modes. The default key mappings are shown below, but if you use
> > @code{-alt-grab} -then the modifier is Ctrl-Alt-Shift (instead of
> > Ctrl-Alt) and if you use address@hidden then the modifier is the
> > right Ctrl key (instead of Ctrl-Alt): +modes. The default key mappings
> > are shown below. If you are using SDL display +mode instead of GTK, you
> > can use @code{-alt-grab} to change the modifier to +Ctrl-Alt-Shift
> > (instead of Ctrl-Alt) and @code{-ctrl-grab} to change it to right
> > +Ctrl key (instead of Ctrl-Alt):
> I'd made a reference to -display option here, and s/SDL display mode/SDL
> display/.
Done, I now explicitly note that it was made for sdl and mentioned the `-
display sdl` option.

> Not a comment about this particular patch, but I think we should disallow
> -alt-grab for modes where it makes no sense (or at least warn about that
> usage).  For example, as stated, -alt-grab does not work for gtk, so we
> may as well warn in case `-display gtk -alt-grab'.  Ditto for -display none
> maybe.
A warning message would be nice indeed. The option should be ignored, not 
abort the startup as it may break configurations (in theory).

> -alt-grab is also ignored by vnc -- should we change/fix that?
As is -ctrl-grab, what about keeping it as-is? VNC is remote anyway, if -*-
grab does not change the default ctrl-alt modifier, it will provide a 
consistent experience. I have no strong preference on this though.

> >  @table @key
> >  @item Ctrl-Alt-f
> > 
> > @@ -294,7 +295,8 @@ Shrink the screen
> > 
> >  @item Ctrl-Alt-u
> >  @kindex Ctrl-Alt-u
> > 
> > -Restore the screen's un-scaled dimensions
> > +Restore the screen's un-scaled dimensions (SDL windows only, GTK does not
> > +feature window scaling)
> > 
> >  @item Ctrl-Alt-n
> >  @kindex Ctrl-Alt-n
> > 
> > @@ -308,16 +310,20 @@ Monitor
> > 
> >  Serial port
> >  @end table
> > 
> > address@hidden Ctrl-Alt-G
> > address@hidden Ctrl-Alt-G
> > +Toggle mouse and keyboard grab in GTK mode.
> > +
> > 
> >  @item Ctrl-Alt
> >  @kindex Ctrl-Alt
> > 
> > -Toggle mouse and keyboard grab.
> > +Toggle mouse and keyboard grab in SDL windows.
> > 
> >  @end table
> >  
> >  @kindex Ctrl-Up
> >  @kindex Ctrl-Down
> >  @kindex Ctrl-PageUp
> >  @kindex Ctrl-PageDown
> > 
> > -In the virtual consoles, you can use @key{Ctrl-Up}, @key{Ctrl-Down},
> > +In the virtual consoles of SDL, you can use @key{Ctrl-Up},
> > @key{Ctrl-Down},> 
> >  @key{Ctrl-PageUp} and @key{Ctrl-PageDown} to move in the back log.
> 
> is it sdl-specific?
Apparently yes. In GTK, Ctrl-Up results in "5A" being inserted, Ctrl-Down in 
"5B" and similar results for PageUp/PageDown. In VNC, pressing those keys have  
no effect.

> >  @kindex Ctrl-a h
> > 
> > diff --git a/qemu-options.hx b/qemu-options.hx
> > index bf94862..f7b0172 100644
> > --- a/qemu-options.hx
> > +++ b/qemu-options.hx
> > @@ -338,7 +338,7 @@ STEXI
> > 
> >  @item -name @var{name}
> >  @findex -name
> >  Sets the @var{name} of the guest.
> > 
> > -This name will be displayed in the SDL window caption.
> > +This name will be displayed in the SDL and GTK window captions.
> > 
> >  The @var{name} will also be used for the VNC server.
> >  Also optionally set the top visible process name in Linux.
> >  ETEXI
> > 
> > @@ -804,7 +804,7 @@ ETEXI
> > 
> >  DEF("display", HAS_ARG, QEMU_OPTION_display,
> >  
> >      "-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
> > 
> > -    "            [,window_close=on|off]|curses|none|\n"
> > +    "            [,window_close=on|off]|gtk|curses|none|\n"
> > 
> >      "            vnc=<display>[,<optargs>]\n"
> >      "                select display type\n", QEMU_ARCH_ALL)
> >  
> >  STEXI
> > 
> > @@ -813,6 +813,8 @@ STEXI
> > 
> >  Select type of display to use. This option is a replacement for the
> >  old style -sdl/-curses/... options. Valid values for @var{type} are
> >  @table @option
> > 
> > address@hidden gtk
> > +Display video output via GTK which includes a menu bar.
> 
> s/which includes a menu bar/in a separate window/ (maybe mention
> the menu bar but this IMHO isn't an important detail).
I think most users do not care about the technology (SDL vs GTK), the menu bar 
is the most obvious difference. I have changed it to:

    "Display video output via GTK in a separate window which includes a menu 
bar."

> >  @item sdl
> >  Display video output via SDL (usually in a separate graphics
> >  window; see the SDL documentation for other possibilities).
> > 
> > @@ -839,7 +841,7 @@ DEF("nographic", 0, QEMU_OPTION_nographic,
> > 
> >  STEXI
> >  @item -nographic
> >  @findex -nographic
> > 
> > -Normally, QEMU uses SDL to display the VGA output. With this option,
> > +Normally, QEMU uses GTK to display the VGA output. With this option,
> > 
> >  you can totally disable graphical output so that QEMU is a simple
> >  command line application. The emulated serial port is redirected on
> >  the console. Therefore, you can still use QEMU to debug a Linux kernel
> > 
> > @@ -852,7 +854,7 @@ DEF("curses", 0, QEMU_OPTION_curses,
> > 
> >  STEXI
> >  @item -curses
> >  @findex -curses
> > 
> > -Normally, QEMU uses SDL to display the VGA output.  With this option,
> > +Normally, QEMU uses GTK to display the VGA output.  With this option,
> > 
> >  QEMU can display the VGA output when in text mode using a
> >  curses/ncurses interface.  Nothing is displayed in graphical mode.
> >  ETEXI
> > 
> > @@ -869,27 +871,29 @@ workspace more convenient.
> > 
> >  ETEXI
> >  
> >  DEF("alt-grab", 0, QEMU_OPTION_alt_grab,
> > 
> > -    "-alt-grab       use Ctrl-Alt-Shift to grab mouse (instead of
> > Ctrl-Alt)\n", +    "-alt-grab       use Ctrl-Alt-Shift to grab mouse in
> > SDL (instead of Ctrl-Alt)\n",> 
> >      QEMU_ARCH_ALL)
> >  
> >  STEXI
> >  @item -alt-grab
> >  @findex -alt-grab
> > 
> > -Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt). Note that this
> > also -affects the special keys (for fullscreen, monitor-mode switching,
> > etc). +Use Ctrl-Alt-Shift to grab mouse in SDL windows (instead of
> > Ctrl-Alt). Note that +this also affects the special keys (for fullscreen,
> > monitor-mode switching, +etc).
> > 
> >  ETEXI
> >  
> >  DEF("ctrl-grab", 0, QEMU_OPTION_ctrl_grab,
> > 
> > -    "-ctrl-grab      use Right-Ctrl to grab mouse (instead of
> > Ctrl-Alt)\n", +    "-ctrl-grab      use Right-Ctrl to grab mouse in SDL
> > (instead of Ctrl-Alt)\n",> 
> >      QEMU_ARCH_ALL)
> >  
> >  STEXI
> >  @item -ctrl-grab
> >  @findex -ctrl-grab
> > 
> > -Use Right-Ctrl to grab mouse (instead of Ctrl-Alt). Note that this also
> > -affects the special keys (for fullscreen, monitor-mode switching, etc).
> > +Use Right-Ctrl to grab mouse in SDL windows (instead of Ctrl-Alt). Note
> > that +this also affects the special keys (for fullscreen, monitor-mode
> > switching, +etc).
> > 
> >  ETEXI
> >  
> >  DEF("no-quit", 0, QEMU_OPTION_no_quit,
> > 
> > -    "-no-quit        disable SDL window close capability\n",
> > QEMU_ARCH_ALL) +    "-no-quit        disable SDL and GTK window close
> > capability\n", QEMU_ARCH_ALL)> 
> >  STEXI
> >  @item -no-quit
> >  @findex -no-quit
> > 
> > @@ -1080,7 +1084,7 @@ DEF("vnc", HAS_ARG, QEMU_OPTION_vnc ,
> > 
> >  STEXI
> >  @item -vnc @var{display}[,@var{option}[,@var{option}[,...]]]
> >  @findex -vnc
> > 
> > -Normally, QEMU uses SDL to display the VGA output.  With this option,
> > +Normally, QEMU uses GTK to display the VGA output.  With this option,
> > 
> >  you can have QEMU listen on VNC display @var{display} and redirect the
> >  VGA
> >  display over the VNC session.  It is very useful to enable the usb
> >  tablet device when using this option (option @option{-usbdevice

I have added the "(GTK and SDL)" note to Ctrl-Alt-[f+-] to make clear that it 
is not available in other displays such as VNC. (VNC clients may have their 
own shortcuts for toggling fullscreen though). There seems also a bug in the 
C-A-[-+[ handling in SDL that needs some attention 
(https://bugs.launchpad.net/qemu/+bug/1187319)

Once I get more feedback on this I will send v2.

Thanks,
Peter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]