summaryrefslogtreecommitdiffstats
path: root/ui
Commit message (Collapse)AuthorAgeFilesLines
* qemu-char: introduce qemu_chr_allocPaolo Bonzini2014-06-231-1/+1
| | | | | | | | | The next patch will modify this function to initialize state that is common to all backends. Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* qapi event: convert SPICE eventsWenchao Xia2014-06-231-34/+36
| | | | | | | | | | | | | | | SPICE_INITIALIZED, SPICE_CONNECTED, SPICE_DISCONNECTED and SPICE_MIGRATE_COMPLETED are converted in one patch, since they use some common functions. inet_strfamily() is removed since no callers exist anymore. Note that there is no existing doc for SPICE_MIGRATE_COMPLETED in docs/qmp/qmp-events.txt before this patch. Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* qapi event: convert VNC eventsWenchao Xia2014-06-232-56/+59
| | | | | | | | | | Since VNC_CONNECTED, VNC_DISCONNECTED, VNC_INITIALIZED share some common functions, convert them in one patch. Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* qapi: adjust existing definesWenchao Xia2014-06-232-7/+9
| | | | | | | | | | | | | | | In order to let event defines use existing types later, instead of redefine new ones, some old type defines for spice and vnc are changed, and BlockErrorAction is moved from block.h to qapi schema. Note that BlockErrorAction is not merged with BlockdevOnError. At this point, VncInfo is not made a child of VncBasicInfo, because VncBasicInfo has mandatory fields where VncInfo makes them optional. Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-20140619-1' into ↵Peter Maydell2014-06-202-15/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | staging vnc: cleanups and fixes # gpg: Signature made Thu 19 Jun 2014 12:02:09 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-vnc-20140619-1: vnc: fix screen updates vnc: Drop superfluous conditionals around g_strdup() vnc: Drop superfluous conditionals around g_free() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * vnc: fix screen updatesGerd Hoffmann2014-06-191-0/+3
| | | | | | | | | | | | | | | | Bug was added by 38ee14f4f33f8836fc0e209ca59c6ae8c6edf380. vnc_jobs_join call is missing in one code path. Reported-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * vnc: Drop superfluous conditionals around g_strdup()Markus Armbruster2014-06-191-4/+1
| | | | | | | | | | Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * vnc: Drop superfluous conditionals around g_free()Markus Armbruster2014-06-192-12/+6
| | | | | | | | | | Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | spice: fix 32bit buildGerd Hoffmann2014-06-201-1/+1
|/ | | | | | | Tested-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1403244764-8622-1-git-send-email-kraxel@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* spice: add mouse cursor supportGerd Hoffmann2014-06-131-11/+118
| | | | | | | So you'll have a mouse pointer when running non-qxl gfx cards with mouse pointer support (virtio-gpu, IIRC vmware too). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* gtk: update window size after showing/hiding tabsGerd Hoffmann2014-06-111-0/+2
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* gtk: factor out gtk3 grab into the new gd_grab_devices functionGerd Hoffmann2014-06-111-64/+36
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* gtk: cleanup backend dependenciesGerd Hoffmann2014-06-111-28/+42
| | | | | | | | | | | | | | Make configure detect gtk x11 backend and link libX11 then. Make gtk backend specific code properly #ifdef'ed on the GTK_WINDOWING_* backends at runtime). Our gtk ui code should build and run fine on any platform now. This also fixes the linker failute due to the new XkbGetKeyboard call added by commit 3158a3482b0093e41f2b2596fba50774ea31ae08. Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
* gtk: factor out keycode mappingGerd Hoffmann2014-06-111-7/+16
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* console: fix -vga none -sdl crashGerd Hoffmann2014-06-101-4/+1
| | | | | | | Call get_alloc_displaystate() for proper initialization instead of allocating with g_new(). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* console: kill MAX_CONSOLES, alloc consoles dynamicallyGerd Hoffmann2014-06-101-9/+4
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input/vnc: use kbd delays in press_keyGerd Hoffmann2014-06-041-0/+2
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input/curses: add kbd delay between keydown and keyup eventsGerd Hoffmann2014-06-041-0/+10
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: use kbd delays for send_key monitor commandGerd Hoffmann2014-06-041-39/+6
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* input: add support for kbd delaysGerd Hoffmann2014-06-041-3/+105
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Merge remote-tracking branch 'remotes/kraxel/tags/pull-sdl-3' into stagingPeter Maydell2014-06-022-2/+99
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sdl2: add support for text consoles # gpg: Signature made Mon 02 Jun 2014 15:35:20 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-sdl-3: sdl2: textinput + terminal sdl2: make Ctrl-Alt-<nr> hotkeys show and hide windows console: add kbd_put_string_console console: add kbd_put_qcode_console Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * sdl2: textinput + terminalGerd Hoffmann2014-06-021-1/+40
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * sdl2: make Ctrl-Alt-<nr> hotkeys show and hide windowsGerd Hoffmann2014-06-021-1/+26
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: add kbd_put_string_consoleGerd Hoffmann2014-06-021-0/+9
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * console: add kbd_put_qcode_consoleGerd Hoffmann2014-06-021-0/+24
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | vnc-enc-tight: Fix divide-by-zero in tight_detect_smooth_image{16,24,32}Gonglei2014-06-021-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spotted by Coverity: (1) Event assignment: Assigning: "pixels" = "0". (2) Event cond_true: Condition "y < h", taking true branch (3) Event cond_false: Condition "x < w", taking false branch (4) Event loop_end: Reached end of loop (5) Event divide_by_zero: In expression "(stats[0] + stats[1]) * 100U / pixels", division by expression "pixels" which may be zero has undefined behavior. 290 DEFINE_DETECT_FUNCTION(16) 291 DEFINE_DETECT_FUNCTION(32) Signed-off-by: Gonglei <arei.gonglei@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | vnc: add trace events for key eventsGerd Hoffmann2014-06-021-4/+23
| | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | 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>
OpenPOWER on IntegriCloud