summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve remote-viewer connection dialogJonathon Jongsma2014-06-031-12/+75
| | | | Based on the new design for the 'connect to server' dialog from Nautilus.
* Fix race with metacity in fullscreenMarc-André Lureau2014-04-171-2/+9
| | | | | To avoid some races with metacity, the window should be placed as early as possible, before it is (re)allocated & mapped (rhbz#809546).
* build-sys: man Makefile.am misc improvementsMarc-André Lureau2014-04-171-3/+3
| | | | | | | Make it silent. Ship man files in tarball. Use maintainer-clean instead of distclean (which is for files generated by configure in general).
* man: remove Perl headerMarc-André Lureau2014-04-171-1/+1
| | | | Remove "User Contributed Perl Documentation" header.
* Fix gtk2 buildJonathon Jongsma2014-04-083-14/+30
| | | | | | | Previous commit accidentally broke gtk2 build by using gtk_widget_get_preferred_size(). We can't simply use gtk_widget_size_request() for the gtk2 build since this will generally return 50x50 whenever we're not in the middle of a resize, so we need to add a compatibility function.
* man: Use nicer link to GPLv2Christophe Fergeau2014-04-072-2/+2
| | | | | | | As pointed out by Eric Blake, https://www.gnu.org/licenses/gpl-2.0.html and https://www.gnu.org/licenses/old-licenses/gpl-2.0.html both point to the same location, with the former being nicer to read.
* man: Fix 'concatonated' typoChristophe Fergeau2014-04-041-1/+1
| | | | This also removes an extra 'are' in the same sentence.
* man: Fix link to GPLv2 textChristophe Fergeau2014-04-042-4/+4
| | | | | The unversionned http links point to the GLPv3 text while virt-viewer is still licensed under the GPLv2.
* man: Add missing '.' at end of one sentenceChristophe Fergeau2014-04-041-1/+1
|
* Update user-visible copyright informationChristophe Fergeau2014-04-043-3/+3
| | | | | Years in copyright notices in the about dialog and man pages is at most 2012, let's set it to 2014
* build-sys: Always prepend '-' to build idChristophe Fergeau2014-04-043-6/+7
| | | | | | | | | | | | | | | | | When using the --with-buildid configure paramater, the build id which is substituted in the MSI wxs file is automatically prepended by a '-', but the build id which is used in the C files does not get this '-' automatically. Currently, the linux and mingw spec files prepend a '-' on their own to the --with-buildid argument, but this causes the MSI installer to show 2 '-' during installation: "Please wait while Windows configures VirtViewer 0.6.0--1" This commit always prepends a '-' to the buildid strings, and removes the '-' from the spec files. This is to ensure the separator between version number and buildid is not forgotten, which could give a confusing version number.
* Fix regression with enabling additional displaysJonathon Jongsma2014-03-271-16/+20
| | | | | | | | | | | | | | | | | Commit 8fa942 broke enabling of additional displays. We don't want to send down display re-configurations due to events that happen while setting up windows for enabled displays that we recieve from the server. However, by ignoring allocations on unmapped windows, we fail to send display configurations for new displays that a user is attempting to enable via the window menu. To discriminate between these two cases, we check whether the display is in the 'ready' state or not. - Unmapped displays with the 'ready' hint set can be assumed to be displays that are enabled on the server that we are attempting to create windows for on the client. In this case, we should *not* send a display configuration to the server - Unmapped displays with the 'ready' hint cleared can be assumed to be displays that are not yet enabled on the server that we are trying to enable in the client. In this case, we *should* send a display configuration to the server
* Fix building with older spice-gtkMartin Kletzander2014-03-141-4/+9
| | | | | | | | | | | | | | | | | | | Due to spice-gtk-0.23 missing SPICE_GTK_CHECK_VERSION macro, the condition: causes the following error: virt-viewer-session-spice.c: In function 'virt_viewer_session_spice_main_channel_event': virt-viewer-session-spice.c:525:64: error: missing binary operator before token "(" #if defined(SPICE_GTK_CHECK_VERSION) && SPICE_GTK_CHECK_VERSION(0, 23, 21) ^ Also one more warning is fixed in this patch: virt-viewer-session-spice.c:476:19: warning: unused variable 'error' [-Wunused-variable] const GError *error; ^ Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
* Fix 'silentely' typo in remote-viewer man pageChristophe Fergeau2014-03-141-1/+1
|
* Don't show 'do you want to quit' dialog in kiosk modeChristophe Fergeau2014-03-141-5/+6
| | | | | | | | In some situation, (for example, guest without vdagent running), it's possible to pass key combinations to virt-viewer. When using alt+f4, this can cause the 'do you want to quit?' dialog to show while it's non-functional. This commit moves the check for kiosk mode to before we show this dialog.
* Fix broken 'release-cursor' accel when not specified in --hotkeysJonathon Jongsma2014-03-132-5/+11
| | | | | | | | | | | | | | | | | | | | | | When the --hotkeys option is given, all hotkeys that are not explicitly specified are disabled. The method used to disable hotkeys is to change the accel map entry to key=0, mods=0. However, when we decide whether to set a grab sequence on the spice dispay widget, we simply use the return value for gtk_accel_map_lookup_entry and assume that a TRUE value returned from this function means that the hotkey is enabled. In reality, this function will return TRUE for disabled hotkeys, but the 'key' variable will be set to key=0, mods=0. The result is that if I start virt-viewer like this: virt-viewer --hotkeys secure-attention=ctrl+alt+end ... and the guest that I'm attached to uses server mouse mode, it will be impossible to release the grab on the spice widget. Because we will explicitly disable the grab keys in the spice widget and handle the 'release-cursor' hotkey in virt-viewer, but the hotkey is an empty accel key. Instead of simply checking the return value of gtk_accel_map_lookup_entry, we have to inspect the return value for 'key' and check whether any keys are actually assigned.
* Don't create new windows at startup when kiosk mode is falseJonathon Jongsma2014-03-131-5/+5
| | | | | | virt_viewer_app_set_kiosk creates a new window at startup for each client monitor (regardless of whether the guest supports more than one display). This seems unnecessary. Only do this if kiosk mode is actually enabled.
* Remove special-case for getting window n=0Jonathon Jongsma2014-03-131-13/+9
| | | | | | virt_viewer_app_get_nth_window() will return the proper window when passed 0 for the 'nth' argument, so there's no need to avoid calling it in this case. It just complicates the code logic.
* Don't resize guest display on zoom changeJonathon Jongsma2014-03-131-1/+20
| | | | | | | | | | | | | | | | | | | | When the zoom level is changed, the virt-viewer window gets resized. But we don't want this to trigger a resize of the guest display. But occasionally rounding errors cause the guest display to be reconfigured when zooming out. To fix this, we first check whether the current size is the preferred size. If it is, we don't send down a resize command to the guest. In addition to preventing guest resizes in response to zooming, it also improves the behavior when the guest display resolution is changed from within the guest. Before this change, we'd have the following behavior: A. guest changes display to WxH B. client gets notified of change and resizes the window to WxH C. client responds to window resize by sending a new monitor config command to the guest With this change, the extra step C will be avoided because we're already at the preferred size. Resolves: rhbz#1004051
* Use a USB icon in the fullscreen toolbarMarc-André Lureau2014-03-135-4/+219
| | | | | | | | Replace the generic GTK_STOCK_PREFERENCES with a more appropriate USB icon. The icon was provided by Jakub Steiner <jsteiner@redhat.com> https://bugzilla.redhat.com/show_bug.cgi?id=804184
* Remove "Automatically resize" menuMarc-André Lureau2014-03-135-66/+2
| | | | | | | Remove "Automatically resize" menu item (always enabled for Spice display now) https://bugzilla.redhat.com/show_bug.cgi?id=1007649
* Silence a message about missing configuration fileMarc-André Lureau2014-03-131-2/+5
| | | | | | | Do not print a g_debug() error when the configuration file is missing, unless given the --debug option. https://bugzilla.redhat.com/show_bug.cgi?id=1006737
* Fix scaling of window upon resizeDaniel P. Berrange2014-03-121-9/+7
| | | | | | | | | The code to determine scaling of windows was incorrectly using the original desktop size instead of the host screen size. The 128 pixel fudge factor was also causing windows to be scaled when there was no need for them to be. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Revert "Don't resize guest display on zoom change"Jonathon Jongsma2014-03-061-14/+1
| | | | This reverts commit 895ef8029e794e7b74a45f27c7c741d1332bc02b.
* spec: Don't disable spice support on some archsChristophe Fergeau2014-02-271-5/+0
| | | | | Nowadays spice-gtk no longer has an ExclusiveArch: x86 x86_64 %{arm} virt-viewer can be built with spice-gtk support on all arches.
* Don't resize guest display on zoom changeJonathon Jongsma2014-02-261-1/+14
| | | | | | | | | | | | | | | | | | | | When the zoom level is changed, the virt-viewer window gets resized. But we don't want this to trigger a resize of the guest display. But occasionally rounding errors cause the guest display to be reconfigured when zooming out. To fix this, we first check whether the current size is the preferred size. If it is, we don't send down a resize command to the guest. In addition to preventing guest resizes in response to zooming, it also improves the behavior when the guest display resolution is changed from within the guest. Before this change, we'd have the following behavior: A. guest changes display to WxH B. client gets notified of change and resizes the window to WxH C. client responds to window resize by sending a new monitor config command to the guest With this change, the extra step C will be avoided because we're already at the preferred size. Resolves: rhbz#1004051
* spice: do not open in fullscreen with CONTROLLER_AUTO_DISPLAY_RESMarc-André Lureau2014-02-261-1/+1
| | | | | | This flag is always set when using the rhevm user portal. Best is probably to ignore it, now that fullscreen has simplified unique behaviour.
* spice: ask credentials for proxyMarc-André Lureau2014-02-241-5/+35
| | | | | If Spice proxy requires authentication, ask credentials and try connecting again.
* Fix a gcc warning when compiling with mingw32Marc-André Lureau2014-02-241-1/+1
|
* Fix german translation of send keyDaniel P. Berrange2014-02-241-2/+4
| | | | Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Improve docs for --attach flag in virt-viewerDaniel P. Berrange2014-02-241-4/+7
| | | | | | | People seem to have a hard time understanding the --attach flag. Rewrite the docs in the hope that people figure it out this time. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* rhbz#1007306 - Don't free session if we're re-trying authJonathon Jongsma2014-02-131-2/+3
| | | | | | | deactivate() is called in response to a failed authentication attempt. If the session is cleared here, when a user attempts to re-authenticate, it will issue a warning and will not actually work. So only clear the session here if we're not going to re-try authentication.
* Don't set VNC display to ready until vnc is initializedJonathon Jongsma2014-02-132-2/+10
| | | | | | | We were setting the show_hint to READY as soon as we got the vnc-connected signal. But there may be an authentication step between vnc-connected and vnc-initialized. In this case, we switch to an empty black display during the authentication step instead of showing the 'waiting for display N' status.
* Don't hide the main window when disconnectingJonathon Jongsma2014-02-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | The main window (display #1) is treated a bit differently from other windows, since it is opened at app start and displays status messages while we attempt to connect to the remote guest. As such, it should really stay open as long as the app is running. The impetus for this change is the following: - user attempts to connect to a remote VNC display with a password - user types the wrong password - A dialog pops up indicating that authentication failed and asking if the user would like to try to re-connect. - User clicks 'Yes' - Because the connection was disconnected, all windows are closed - remote-viewer tries to reconnect again, at which point a new display window is opened, and the window gets placed by the window manager (possibly on another monitor altogether). As a user, I expect the program to simply re-use the existing window when trying to re-authenticate, instead of having the window disappear and then re-appear at a different location. This patch accomplishes that.
* Move vnc-specific auth logic to VirtViewerSessionVncJonathon Jongsma2014-02-133-109/+86
|
* Improve window title when connected to newer spice-serverJonathon Jongsma2014-02-117-44/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent spice servers send the guest vm name and uuid to the client. We can use these values to display the proper vm name in the window title if a title is not specified on the commandline. We can also be smarter about the title in virt-viewer as well. If a title is specified on the comamndline (-t/--title=foo), we use that. If not, we fall back to the vm name. If that is empty, we fall back to the uri of the connection. Comparison between old behavior and new behavior Using new spice-server Command Old title New title ------- --------- --------- remote-viewer -t xyz spice://host:port xyz xyz remote-viewer spice://host:port spice://host:port <vmname> virt-viewer <vmname> <vmname> <vmname> virt-viewer <uuid> <uuid> <vmname> Using old spice-server Command Old title New title ------- --------- --------- remote-viewer -t xyz spice://host:port xyz xyz remote-viewer spice://host:port spice://host:port spice://host:port virt-viewer <vmname> <vmname> <vmname> virt-viewer <uuid> <uuid> <vmname>
* Display warning if UI file failsJonathon Jongsma2014-02-111-1/+6
| | | | | | | | | | | When trying to load ui files, we try to find the file in several directories. If a file is not found in one directory, try to load it from the next directory. However, if a file is found in a directory but we are not able to load it (e.g. due to unsupported versions of glade used to generate it, etc), we should print a warning to the terminal to help the developer debug the issue. This is an unexpected failure (whereas not finding the file in that directory at all is an 'expected' failure).
* Update for 0.6.0 releasev0.6.0Daniel P. Berrange2014-01-242-1/+29
| | | | Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Refresh translationsDaniel P. Berrange2014-01-24116-8872/+40636
| | | | Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Fix virt-viewer.exe on win32Daniel P. Berrange2014-01-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Libvirt uses gnulib for making winsock look like POSIX sockets. This means that in the libvirt event handle callbacks the application will be given a file descriptor rather than a winsock HANDLE object. The g_io_channel_unix_new method will detect that it is an FD and delegate to the g_io_channel_win32_new_fd method. Unfortunately the glib Win32 event loop impl is not very good at dealing with FD objects, simulating poll() by doing a read() on the FD :-( The API docs for g_io_channel_win32_new_fd say "All reads from the file descriptor should be done by this internal GLib thread. Your code should call only g_io_channel_read()." This isn't going to fly for libvirt, since it has zero knowledge of glib at all, so is just doing normal read(). Fortunately we can work around this problem by turning the FD we get from libvirt back into a HANDLE using the _get_osfhandle() method. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Don't use --nodeps for developer buildsDaniel P. Berrange2014-01-241-2/+9
| | | | | | Only use --nodeps when running under the autobuild engine Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Load ui files first from installed locationJonathon Jongsma2014-01-202-11/+19
| | | | | | | virt_viewer_util_load_ui() looks first in the current directory, and then looks in the system data dirs for a ui file to load, but if you install virt-viewer in a different prefix, it will load the system UI file rather than the one from the install prefix. Try to load the ui file from pkgdatadir first.
* Clear global zoom-reset hotkey tooMarc-André Lureau2014-01-071-0/+1
|
* Fix rebuild of accelerators menu when loading from fileMarc-André Lureau2014-01-073-4/+13
| | | | | | | | | It's not enough to set the property to notify of its change. Add a virt_viewer_app_set_enable_accel() helper, and call it after the changes to accelerators are made when loading from file. I verified the menu is correctly built when connection from controller or command line too.
* Disable mime database update during make distcheckChristophe Fergeau2013-12-191-0/+1
| | | | | | Updating the mime database creates files in the install directory, and these files are not cleaned up on make uninstall, so this causes a make distcheck failure.
* spec: Get BuildRequires min versions from configure.acChristophe Fergeau2013-12-183-24/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently duplicate the minimum requirements for the various virt-viewer dependencies in configure.ac, virt-viewer.spec.in and mingw-virt-viewer.spec.in This commit uses the versions set in configure.ac in the 2 .spec.in files so that it's easier to keep them in sync Before/after diff of the .spec files are: --- virt-viewer.spec.or 2013-12-18 14:14:14.304285905 +0100 +++ virt-viewer.spec 2013-12-18 14:19:20.217072678 +0100 @@ -47,14 +47,14 @@ BuildRequires: libtool %endif -BuildRequires: glib2-devel >= 2.22 +BuildRequires: glib2-devel >= 2.22.0 %if %{with_gtk3} -BuildRequires: gtk3-devel >= 3.0.0 +BuildRequires: gtk3-devel >= 3.0 %else -BuildRequires: gtk2-devel >= 2.12.0 +BuildRequires: gtk2-devel >= 2.18.0 %endif -BuildRequires: libvirt-devel >= 0.9.7 -BuildRequires: libxml2-devel +BuildRequires: libvirt-devel >= 0.10.0 +BuildRequires: libxml2-devel >= 2.6.0 %if %{with_gtk3} BuildRequires: gtk-vnc2-devel >= 0.4.0 %else --- mingw-virt-viewer.spec.or 2013-12-18 14:14:23.656401693 +0100 +++ mingw-virt-viewer.spec 2013-12-18 14:20:57.007270507 +0100 @@ -12,22 +12,22 @@ BuildRequires: mingw32-filesystem >= 23 BuildRequires: mingw64-filesystem >= 23 -BuildRequires: mingw32-glib2 >= 2.22 -BuildRequires: mingw64-glib2 >= 2.22 +BuildRequires: mingw32-glib2 >= 2.22.0 +BuildRequires: mingw64-glib2 >= 2.22.0 BuildRequires: mingw32-gstreamer-plugins-bad-free BuildRequires: mingw64-gstreamer-plugins-bad-free BuildRequires: mingw32-gstreamer-plugins-good BuildRequires: mingw64-gstreamer-plugins-good -BuildRequires: mingw32-gtk2 -BuildRequires: mingw64-gtk2 +BuildRequires: mingw32-gtk2 >= 2.18.0 +BuildRequires: mingw64-gtk2 >= 2.18.0 BuildRequires: mingw32-libusbx BuildRequires: mingw64-libusbx -BuildRequires: mingw32-libvirt >= 0.9.7 -BuildRequires: mingw64-libvirt >= 0.9.7 -BuildRequires: mingw32-libxml2 -BuildRequires: mingw64-libxml2 -BuildRequires: mingw32-gtk-vnc >= 0.4.3 -BuildRequires: mingw64-gtk-vnc >= 0.4.3 +BuildRequires: mingw32-libvirt >= 0.10.0 +BuildRequires: mingw64-libvirt >= 0.10.0 +BuildRequires: mingw32-libxml2 >= 2.6.0 +BuildRequires: mingw64-libxml2 >= 2.6.0 +BuildRequires: mingw32-gtk-vnc >= 0.3.8 +BuildRequires: mingw64-gtk-vnc >= 0.3.8 BuildRequires: mingw32-readline BuildRequires: mingw64-readline BuildRequires: mingw32-spice-glib
* Update spice-gtk requirement everywhereChristophe Fergeau2013-12-183-5/+5
| | | | | | d1c2bc1 updated configure.ac spice-gtk requirement to 0.22, but did not update the various places which duplicated this requirement, namely the .spec.in files and the README file.
* Update shared mime database on install/uninstallChristophe Fergeau2013-12-183-1/+25
| | | | | | | | | | | | | | remomte-viewer installs a file to $datadir/share/mime to register a mime-type for its .vv files. However, after installing this file, update-mime-database must be run in order to update the shared mime database. This commit (inspired by what Nautilus/planner are doing) adds what is needed for that. If the mime type is not correctly registered, gvfs-info console.vv will not return the correct mime type, and xdg-open console.vv will fail to start remote-viewer, and will fall back to running gedit as the .vv file is a text file. https://bugzilla.redhat.com/show_bug.cgi?id=1044209
* Enable the display before showing the windowJonathon Jongsma2013-12-161-2/+2
| | | | | | | | This ensures that the display is enabled when it gets its first Allocate event (which causes a display reconfiguration). If the display is not enabled at this point, it won't send down a new monitors_config message until the second allocation, which may result in the display being disabled until a window is resized.
* build-sys: require spice-gtk >= 0.22Marc-André Lureau2013-12-161-1/+1
| | | | Require 0.22 fro spice_uuid_to_string()