summaryrefslogtreecommitdiffstats
path: root/ui
Commit message (Collapse)AuthorAgeFilesLines
...
* | vnc: refuse to set a password with VNC_AUTH_NONEGerd Hoffmann2014-06-021-28/+6
|/ | | | | | | | | | | | Current code silently changes the authentication settings in case you try to set a password without password authentication turned on. This is bad. Return an error instead. If we want allow changing auth settings at runtime this should be done explicitly using a separate monitor command, not as side effect of set_passwd. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Merge remote-tracking branch 'remotes/kraxel/tags/pull-console-1' into stagingPeter Maydell2014-05-281-116/+117
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | console: multiwindow support for text terminal QemuConsoles console: small fixes # gpg: Signature made Mon 26 May 2014 09:17:27 BST using RSA key ID D3E87138 # gpg: Can't check signature: public key not found * remotes/kraxel/tags/pull-console-1: console: add kbd_put_keysym_console console: rework text terminal cursor logic console: update text terminal surface unconditionally console: nicer initial screen console: Abort on property access errors Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * console: add kbd_put_keysym_consoleGerd Hoffmann2014-05-261-3/+6
| | | | | | | | | | | | So you can send keysyms to a specific (text terminal) console. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: rework text terminal cursor logicGerd Hoffmann2014-05-261-18/+32
| | | | | | | | | | | | | | | | | | | | Have a global timer. Update all visible terminal windows syncronously. Right now this can be the active_console only, but that will change soon. The global timer will disable itself if not needed, so we only have to care start it if needed. Which might be at console switch time or when a new displaychangelistener is registered. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: update text terminal surface unconditionallyGerd Hoffmann2014-05-261-71/+56
| | | | | | | | | | | | | | These days each QemuConsole has its own private DisplaySurface, so we can simply render updates all the time. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: nicer initial screenGerd Hoffmann2014-05-261-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have a function to create a fancy DisplaySurface with a message for the user, to handle non-existing graphics hardware, we can make it more generic and use it for other things too. This patch adds a text line to the in initial DisplaySurface, notifying the user that the display isn't initialized yet by the guest. You can see this in action when starting qemu with '-S'. Also when booting ovmf in qemu (which needs a few moments to initialize itself before it initializes the vga). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: Abort on property access errorsKirill Batuzov2014-05-261-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All defined properties of QemuConsole are mandatory and no access to them should fail. Nevertheless not checking returned errors is bad because in case of unexpected failure it will hide the bug and cause a memory leak. Abort in case of unexpected property access errors. This change exposed a bug where an attempt was made to write to a read-only property "head". Set "head" property's value at creation time and do not attempt to change it later. This fixes the bug mentioned above. Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-7' into stagingPeter Maydell2014-05-281-374/+734
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gtk: ui overhaul, multiwindow support. # gpg: Signature made Mon 26 May 2014 08:54:55 BST using RSA key ID D3E87138 # gpg: Can't check signature: public key not found * remotes/kraxel/tags/pull-gtk-7: (24 commits) gtk: workaround gtk2 vte resize issue gtk: window sizing overhaul gtk: zap unused global_state gtk: Add handling for the xfree86 keycodes gtk: enable untabify for gfx gtk: detached window pointer grabs gtk: update all windows on mouse mode changes gtk: fix grab checks gtk: update gd_update_caption gtk: skip keyboard grab when hover autograb is active gtk: keep track of grab owner gtk: add gd_grab trace event gtk: add tab to trace events gtk: allow moving tabs to windows and back. gtk: simplify resize gtk: use device type as label gtk: support multiple gfx displays gtk: move vga state into VirtualGfxConsole gtk: VirtualConsole restruction gtk: remove page numbering assumtions from the code ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * | gtk: workaround gtk2 vte resize issueGerd Hoffmann2014-05-261-0/+40
| | | | | | | | | | | | | | | | | | | | | Hack isn't pretty, but gets the job done. See source code comment for details. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: window sizing overhaulGerd Hoffmann2014-05-261-30/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major overhaul for window size handling. This basically switches qemu over to use geometry hints for the window manager instead of trying to get the job done with widget resize requests. This allows to specify better what we need and also avoids window resizes. FIXME: on gtk2 someone overwrites the geometry hints :( Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: zap unused global_stateGerd Hoffmann2014-05-261-4/+0
| | | | | | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: Add handling for the xfree86 keycodesBruce Rogers2014-05-261-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently only evdev keycodes are handled by the gtk-ui. SDL has code to handle both. This patch adds similar processing so that both keycode types will be handled via the gtk-ui. Signed-off-by: Bruce Rogers <brogers@suse.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: enable untabify for gfxGerd Hoffmann2014-05-261-3/+7
| | | | | | | | | | | | | | | | | | | | | Now we have all grab fixes in place, so we can allow detaching graphic display tabs too. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: detached window pointer grabsGerd Hoffmann2014-05-261-3/+21
| | | | | | | | | | | | | | | | | | | | | Make ungrab hotkey work with detached windows. Enable pointer grabs for detached windows. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: update all windows on mouse mode changesGerd Hoffmann2014-05-261-1/+5
| | | | | | | | | | | | | | | | | | We might have multiple graphic displays now which all need a cursor update. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: fix grab checksGerd Hoffmann2014-05-261-12/+23
| | | | | | | | | | | | | | | | | | Make it handle multiple windows case correctly. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: update gd_update_captionGerd Hoffmann2014-05-261-17/+28
| | | | | | | | | | | | | | | | | | Adapt to recent changes, handle multiple windows. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: skip keyboard grab when hover autograb is activeGerd Hoffmann2014-05-261-1/+3
| | | | | | | | | | | | | | | | | | | | | It's pointless. With grab on hover enabled the keyboard grab is already active when you press Ctrl-Alt-G ;) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: keep track of grab ownerGerd Hoffmann2014-05-261-5/+23
| | | | | | | | | | | | | | | | | | Simplifies grab state tracking and makes ungrab more reliable. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: add gd_grab trace eventGerd Hoffmann2014-05-261-0/+4
| | | | | | | | | | | | | | | | | | Input grab code is tricky, add some debug & trouble shooting aid. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: add tab to trace eventsGerd Hoffmann2014-05-261-3/+3
| | | | | | | | | | | | | | | | | | So you can see which of multiple displays (if present) was resized ;) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: allow moving tabs to windows and back.Gerd Hoffmann2014-05-261-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "View->Detach tab" will move to tab to a new window. Simply closing the window will move it back into a notebook tab. The label will be permamently stored in VirtualConsole->label, so it can easily be reused to (re-)label tabs and windows. Works for vte tabs only for now. pointer/kbd grab code needs adaptions before we can enable it for gfx tabs too. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: simplify resizeGerd Hoffmann2014-05-261-26/+14
| | | | | | | | | | | | | | | | | | | | | | | | Simply ask for a small window size. When the widgets don't fit in gtk will automatically make the window large enougth to make things fit, no need to try (and fail) duplicate that logic in qemu. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: use device type as labelGerd Hoffmann2014-05-261-2/+12
| | | | | | | | | | | | | | | | | | | | | IMO useful than showing VGA for any graphic device even in case it is something completely different. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: support multiple gfx displaysGerd Hoffmann2014-05-261-37/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | Each display gets its own tab. Tab switching continues to work like it did, just the hotkeys of the vte consoles changes in case a secondary display is present as it will get ctrl-alt-2 assigned and the vtes are shifted by one. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: move vga state into VirtualGfxConsoleGerd Hoffmann2014-05-261-278/+337
| | | | | | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: VirtualConsole restructionGerd Hoffmann2014-05-261-46/+73
| | | | | | | | | | | | | | | | | | Move all vte-related items into VirtualVteConsole substruct. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: remove page numbering assumtions from the codeGerd Hoffmann2014-05-261-10/+30
| | | | | | | | | | | | | | | | | | Lookup page numbers using gtk_notebook_page_num() instead. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: Add a scrollbar for text consolesCole Robinson2014-05-261-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Only show the scrollbar if the content doesn't fit on the visible space. [ kraxel: fix box packing ] Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: cleanup CONFIG_VTE ifdef a bit.Gerd Hoffmann2014-05-261-19/+26
| | | | | | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: zap vte size requestsGerd Hoffmann2014-05-261-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vte tabs simply get the size of the vga tab then, with whatever cols and lines are fitting in. I find this bahavior more useful than resizing the qemu window all day long. YMMV. Comments are welcome. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | gtk: zap scrolled_windowGerd Hoffmann2014-05-261-17/+2
| |/ | | | | | | | | | | | | | | The vte widget implements the scrollable interface, placing it into a scrolled window is pointless and creates a bunch of strange effects. Zap it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | sdl: pass key event source to input layerGerd Hoffmann2014-05-261-9/+12
| | | | | | | | | | | | | | So the input layer knows where the input is coming from and input routing works correctly. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | input: bind devices and input routingGerd Hoffmann2014-05-261-3/+40
| | | | | | | | | | | | | | | | Add function to bind input devices to display devices. Implementing input routing on top of this: Events coming from the display device in question are routed to the input device bound to it (if there is one). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | input: keymap: add meta keysGerd Hoffmann2014-05-261-0/+2
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | input: add name to input_event_key_numberGerd Hoffmann2014-05-261-2/+4
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | input: add qemu_input_key_number_to_qcodeGerd Hoffmann2014-05-261-3/+8
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | input (curses): mask keycodes to remove modifier bitsAndrew Oates2014-05-261-2/+2
|/ | | | | | | | | Without the mask, control bits are passed on in the keycode, generating incorrect PS/2 sequences when SHIFT, ALT, etc are held down. Cc: qemu-stable@nongnu.org Signed-off-by: Andrew Oates <andrew@aoates.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: remove sparc keymap hackGerd Hoffmann2014-05-161-19/+0
| | | | | | | With sparc keyboard going directly from QKeyValue to sparc keycodes this should not be needed any more. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: use KeyValue directly in sendkey monitor commandGerd Hoffmann2014-05-161-24/+23
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: add qemu_input_handler_deactivateGerd Hoffmann2014-05-161-0/+7
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: key mapping helpersGerd Hoffmann2014-05-163-175/+219
| | | | | | | | Add helper functions to translate KeyValue (qapi key representation) into other representations: traditional qemu key numbers, qapi key codes (Q_KEY_CODE_*) and scancode sequences. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* build: convert some obj-specific CFLAGS to use new foo.o-cflags syntaxMichael Tokarev2014-05-081-1/+1
| | | | | | | | | | | Current Makefile system allows using foo.o-cflags variables to store object-specific CFLAGS. Convert some usages of old syntax (using QEMU_CFLAGS += construct) to the new syntax. Do not touch multifile modules for now, as build system isn't ready for this. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* spice: fix libvirt snapshotsGerd Hoffmann2014-05-081-0/+8
| | | | | | | | | Only notify spice-server about migration events in case we got target host information beforehand. So we kick the seamless spice client migration only in case a actual live migration happens, not when libvirt uses live-migration-to-file for snapshotting. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* spice: fix "info spice"Gerd Hoffmann2014-05-081-1/+1
| | | | | | | | | | | | | | In case no listening address was specified, "info spice" reports "0.0.0.0" as address. Which is incorrect in case spice is listening on ipv6. Replace it by a wildcard "*" to indicate it is not limited to a specific address. Note: Being more specific is not possible without extending the spice-server api. The socket is handled by spice-server not qemu, so qemu can't easily figure the actual socket address. Reported-by: David Jaša <djasa@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* ui: Add missing 'static' attributeStefan Weil2014-05-071-1/+1
| | | | | | | | | | There was already a forward declaration using 'static', but the attribute was missing in the implementation. This fixes a warning from the static code analysis (smatch). Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-6' into stagingPeter Maydell2014-05-011-65/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gtk: collection of fixes and cleanups by Cole Robinson # gpg: Signature made Tue 29 Apr 2014 10:44:44 BST using RSA key ID D3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" * remotes/kraxel/tags/pull-gtk-6: gtk: Fix accelerators being triggered twice with gtk3 gtk: Fix -serial vc gtk: Use ctrl+alt+q for quit accelerator gtk: Remove use of deprecated stock items gtk: Don't use deprecated vte_terminal_get_adjustment gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic configure: Re-run make if gtkabi/sdlabi is changed configure: Document --with-gtkabi Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * gtk: Fix accelerators being triggered twice with gtk3Cole Robinson2014-04-291-22/+0
| | | | | | | | | | | | | | | | | | | | | | When keyboard focus is grabbed, current qemu wants to pass every keypress to the VM, unless the user is pressing a UI accelerator. That's exactly how things work without any of the fancy handling. Drop the special handling, which seems to trigger accelerators twice on gtk3. Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * gtk: Fix -serial vcCole Robinson2014-04-291-32/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try kicking off a rhel5 text install over serial, the text menu navigation is all messed up, and some of the kernel boot messages are randomly corrupted. Drop use of a pty and just use vte infrastructure for reading and writing. This fixes the above corruption, and is simpler to boot. (I don't know what was wrong with the original code though. FWIW this is what virt-manager has done for years). Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * gtk: Use ctrl+alt+q for quit acceleratorCole Robinson2014-04-291-1/+2
| | | | | | | | | | | | | | | | | | Using the standard ctrl+q makes it too easy to kill the whole VM. Using ctrl+alt+FOO is consistent with our other accelerators. https://bugzilla.redhat.com/show_bug.cgi?id=1062393 Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
OpenPOWER on IntegriCloud