summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Set the remote-viewer binary application nameDaniel P. Berrange2012-04-231-0/+2
| | | | | | | Currently the window titles for remote-view have 'remote-viewer' appended them. This is based off the argv[0] name. We should be setting the GLib application name though, so we can get a localized 'Remote Viewer' string in the titlebar
* Add support for raw IPv6 addresses in VNC & libvirt URIsDaniel P. Berrange2012-04-232-4/+27
| | | | | | Support vnc://[x:y:z:]:5901/ for raw IPv6 addresses in URIs, and qemu+ssh://root@[x:y:x:]:22/ for raw IPv6 addresses in libvirt URIs
* Fix scaling of window to avoid integer truncationDaniel P. Berrange2012-04-192-2/+5
| | | | | Use round() instead of integer truncation when scaling the window, to avoid floating point precision problems on i386
* Add a desktop file for launching remote-viewerDaniel P. Berrange2012-04-182-0/+11
| | | | | | Enable automagic handling of spice:// URLs in firefox by registering a desktop handler for remote-viewer with the SPICE URI scheme
* Fix automatic usb redir through controllerChristophe Fergeau2012-04-171-5/+5
| | | | | | | | | | | | | | | | | | remote-viewer is currently trying to use SpiceUsbDeviceManager::auto-connect to control whether USB devices should be automatically connected or not. However, this property is more or less an internal spice-gtk property which is toggled by SpiceGtkSession when the SPICE widget gets/loses focus. SpiceGtkSession has an "auto-usbredir" property which can be used by applications to enable/disable automatic usb redirection through SPICE. Since this property is helpfully bound to VirtViewerSession::auto-usbredir, use this when the controller is told to enable/disable USB redirection. Without this change, automatic USB redirection will always get reenabled as soon as there's a focus change since SpiceGtkSession::auto-usbredir defaults to be enabled in spice-gtk.
* Minor simplification/optimization of VirtViewerDisplayZeeshan Ali (Khattak)2012-04-051-9/+5
|
* Fix typo in variable names for Win32 command helperDaniel P. Berrange2012-04-041-2/+2
|
* Fix close of VNC displaysDaniel P. Berrange2012-04-047-3/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When clicking the close button on a virt-viewer window with a VNC session open, while the VNC session terminates, the window does not go away. The problem is that the virt_viewer_session_vnc_disconnected method never gets invoked. The close button triggers a call to virt_viewer_session_clear_displays which unrefs the VirtViewerDisplayVnc instance. This in turn triggers a call to gtk_container_destroy, which destroys all widgets it contains, ie the VncDisplay * object. With the VncDisplay object in its dispose phase, no signals will ever be emitted, thus the 'vnc-disconnected' signal never gets seen. The design issue is that VirtViewerDisplayVnc is assuming it owns the VncDisplay, whereas in fact the real owner is the VirtViewerSessionVnc object. The solution is to introduce a new virt_viewer_display_close method which can be used to de-parent the widget before VirtViewerDisplay is unref'd. The VirtViewerSessionVnc object also needs to hold a full ref on the VncDisplay object, not merely a floating reference * virt-viewer-display-spice.c, virt-viewer-display.c, virt-viewer-display.h: Add virt_viewer_display_close * virt-viewer-display-vnc.c: Deparent VNC widget in virt_viewer_display_close impl * virt-viewer-session-vnc.c: Improve logging * virt-viewer-session.c: Call virt_viewer_display_close before unrefing display * virt-viewer-window.c: Improve logging Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Propagate USB redirection controller messagesChristophe Fergeau2012-04-041-1/+16
|
* Add support for the SPICE properties disable-effects & color-depthYonit Halperin2012-04-031-1/+3
| | | | | Signed-off-by: Yonit Halperin <yhalperi@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* build-sys: fix Windows specific LDFLAGS on non-mingwChristophe Fergeau2012-04-031-1/+3
|
* remote-viewer: make it a GUI/windows application with hybrid consoleMarc-André Lureau2012-04-022-0/+16
| | | | | If the application can attach to its parent console, redirect input/output. So that will work nicely with the command line wrapper.
* Add a Windows command line wrapperMarc-André Lureau2012-04-022-0/+95
| | | | Add a small command line wrapper, to be able to call GUI/windows application from the console
* Disable mnemonics via gtk-enable-mnemonics settingsMarc-André Lureau2012-04-011-33/+10
| | | | | | | This has 2 advantages, and I can't figure any drawback: - it fixes the issue of mnemonic hints being draw when pressing Alt key (character underlined), even when they were disabled. - it simplifies the code :)
* Disable menu items that would fail when there is no displayMarc-André Lureau2012-04-011-0/+18
|
* build-sys: use git.mk to generate gitignoreMarc-André Lureau2012-03-301-0/+2
| | | | | | | | This makefile is just fantastic, it forces you into good practices, support various build targets (my windows builddir ignore the right files etc..) The more I use it, the more I like it.
* win32: add a few Windows sepecific dataMarc-André Lureau2012-03-303-0/+55
| | | | Add application icon and manifest
* Fix recent --spice-controller regression, add error messageMarc-André Lureau2012-03-301-3/+10
| | | | | | | | | The current code will attempt to dereference args if --spice-controller, even if args is NULL. Let's not accept any extra argument/uri on the command line if using the controller. Beside, the conditionnal block looks better outside of the if condition.
* usbredir: listen for device-error signalHans de Goede2012-03-291-1/+4
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* remote-viewer: press Enter to connect in dialogMarc-André Lureau2012-03-291-0/+1
|
* Remove unused variable iMarc-André Lureau2012-03-291-3/+3
|
* remote-viewer: add a simple connection dialogMarc-André Lureau2012-03-293-4/+141
| | | | | | If the user doesn't provide URI, let's show a simple dialog to enter it. Also save & list recently used URLs in that dialog.
* Fix g_thread_init deprecation warningMarc-André Lureau2012-03-292-0/+4
| | | | | Although the doc says it is only deprecated since >2.32, it's actually >2.31 according to glib git log.
* Do not warn if the display is shown and not readyMarc-Andre Lureau2012-03-221-2/+4
| | | | | | | Lower warning message to debug level. There are various racy ways it ends up calling show_display although the display is not yet ready. This is not such a big problem, although it would be nice to handle this case better
* Notify focus state when the foreign menu title is setMarc-Andre Lureau2012-03-221-6/+26
| | | | | | | The current code only inform of focus state when the listener is ready. spice-gtk controller code lacks signal when a client connects, but a client will set the title when connected and send a notify signal. Use this event to notify of application focus state.
* Do not try to unref NULL menuMarc-Andre Lureau2012-03-221-1/+3
|
* Don't leak foreign menuMarc-Andre Lureau2012-03-221-0/+1
| | | | The RemoveViewer object will have its own ref.
* spice: handle switch-host eventMarc-André Lureau2012-03-211-6/+13
| | | | | | | | | Do not disconnect session when switching host (non-seamless migration method). Also, handle a bit better main channel events and do not disconnect on unknown events, however raise unhandled event message to warning level.
* spice: remove usage of deprecated audio apiMarc-André Lureau2012-03-211-8/+6
|
* Display correct key bindings to release cursorMarc-André Lureau2012-03-212-3/+34
| | | | | If the accels are enabled (with Spice controller custom bindings), show the configured keybinding in the title bar.
* spice: implement --fullscreen=auto-confMarc-André Lureau2012-03-217-21/+155
| | | | | | | - auto-conf is an optionnal argument to --fullscreen: it will set the guest display configuration to match the client display configuration, by sending the client monitors size and position to capable guests.
* Fix indentationMarc-André Lureau2012-03-181-13/+13
|
* Do not crash so easily when given invalid uriMarc-André Lureau2012-03-163-5/+7
| | | | 'remote-viewer foobar' shouldn't crash
* Make sure we call g_thread_init()Marc-André Lureau2012-03-093-6/+10
| | | | GThread is needed by spice-gtk
* Notify of focus state when a client connectsMarc-André Lureau2012-03-091-4/+6
| | | | | | The current code notifies the controller when the remote-viewer application starts, but not when the client is connected. We should do the later instead
* Add a send-key menu in fullscreenMarc-André Lureau2012-03-081-1/+57
|
* virt-viewer-window: Don't try to resize non visible windowsHans de Goede2012-03-071-0/+10
| | | | | | | | | | | Trying to resize not visible windows leads to the following being printed to the console: Gdk-CRITICAL **: IA__gdk_window_get_origin: assertion `GDK_IS_WINDOW (window)' This gets triggered by the gdk_screen_get_monitor_geometry() call in virt_viewer_window_resize() Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-window: Add show / hide utility functionsHans de Goede2012-03-073-23/+23
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-window: Move checks before resize to virt_viewer_window_resizeHans de Goede2012-03-071-5/+5
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-window: Remove useless tests for priv->window != NULLHans de Goede2012-03-071-7/+1
| | | | | | | priv->window gets set on init and never unset, so there is no need to check for it. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-window: Add a USB device selection to the fullscreen menu (v2)Hans de Goede2012-03-061-0/+10
| | | | | | | | | Note this button only gets shown on USB redir capable virtual machines. Changes in v2: -Use gtk_widget_set_visible for simpler code Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* window: Call virt_viewer_app_quit instead of gtk_main_quitHans de Goede2012-03-061-1/+1
| | | | | | | When quiting from the fullscreen menu call virt_viewer_app_quit instead of gtk_main_quit so that the session gets properly disconnected before quiting. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt_viewer_app_quit: Cleanly close the connection before quitingHans de Goede2012-03-061-1/+11
| | | | | | | | | Even though the previous patches in this series ensure that the session gets properly finalized, we still need to wait for the disconnect signal, as spice-glib uses co-routines which need some time to cleanly close the connection / session. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* session-spice: Delay the disconnected signal till all channels are closedHans de Goede2012-03-061-4/+13
| | | | | | | | | | | | | | | | | | | | Before this patch session-spice would emit the disconnected signal as soon as the main channel is closed, but other channels may still be open at that time and raising the disconnected signal usally leads to the app class calling gtk_main_quit, at which point the other channels never get properly finalized (as there co-routines still hold a reference to them). This is esp. bad for usbredir channels as these re-attach the kernel driver for redirected devices when finalized. So exiting without properly finalizing them leads to the formerly redirected devices not being usuable until the driver is manually reloaded or the device is unplugged and re-plugged (the kernel does not automatically re-bind kernel drivers when userspace closes a usbfs node). This patch fixes this by delaying the emitting of the disconnect signal until the last channel has been destroyed. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-app: unref the session on disposeHans de Goede2012-03-061-0/+5
| | | | | | | With this patch combined with the previous patches in this series, the VirtViewerSession (finally) gets properly finalized on exit. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-display: Use a borrowed reference to sessionHans de Goede2012-03-061-1/+1
| | | | | | | | | | | | | | Before this patch there was a cyclic reference between VirtViewerSesion and VirtViewerDisplay, since all VirtViewerDisplays are created / destroyed by VirtViewerSession it is safe to assume that lifetime of VirtViewerSession >= VirtViewerDisplay, so VirtViewerDisplay can take a borrowed reference breaking the circle, and allowing proper cleanup on exit. Note that there is no g_object_unref removed from virt-viewer-display, this because there is no finalize / dispose and before this patch VirtViewerDisplay never unref-ed the reference it hold to the session. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-window: Use a borrowed reference to appHans de Goede2012-03-061-6/+1
| | | | | | | | | | Before this patch there was a cyclic reference between VirtViewerApp and VirtViewerWindow, since all VirtViewerWindows are created / destroyed by VirtViewerApp it is safe to assume that lifetime of VirtViewerApp >= VirtViewerWindow, so VirtViewerWindow can take a borrowed reference breaking the circle, and allowing proper cleanup on exit. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* virt-viewer-app: main_window is part of our windows hashtableHans de Goede2012-03-061-5/+0
| | | | | | | | | | | | | This means that: 1) There is no need to explictly set its title separately 2) It is unref-ed when we do g_hash_table_unref(priv->windows), so it should not be unref-ed separately otherwise it is unref-ed twice! Notice that 2 was never a problem because of circular references between VirtViewerApp and VirtViewerWindow, but once the follow up patch to this one breaks the circle 2 becomes an issue. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* session-spice: dispose should chain up to dispose not finalize!!Hans de Goede2012-03-061-1/+1
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* usbredir: Gnome HIG-ify USB device selection dialogHans de Goede2012-03-061-1/+4
| | | | | | | These changes match the changes already made to the spice-gtk usb device selection widget to match the spacing advised by the Gnome HIG. Signed-off-by: Hans de Goede <hdegoede@redhat.com>