[virt-tools-list] [virt-manager] [PATCH] Use changed instead of value-changed signal in spinbutton in vsockdetails ui

2019-03-04 Thread Lin Ma
Signed-off-by: Lin Ma 
---
 ui/vsockdetails.ui | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui/vsockdetails.ui b/ui/vsockdetails.ui
index 7f607b2b..2a8ee73a 100644
--- a/ui/vsockdetails.ui
+++ b/ui/vsockdetails.ui
@@ -67,7 +67,7 @@
 True
 if-valid
 5900
-
+
 
   
 vsock-cid
-- 
2.19.0

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


Re: [virt-tools-list] [PATCH v4] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Marc-André Lureau
On Mon, Mar 4, 2019 at 3:39 PM Aleksei Nikiforov  wrote:
>
> Signed-off-by: Aleksei Nikiforov 

Reviewed-by: Marc-André Lureau 

> ---
>  man/remote-viewer.pod   |  3 +
>  src/resources/ui/virt-viewer-preferences.ui | 16 +++-
>  src/virt-viewer-app.c   | 93 +
>  src/virt-viewer-app.h   |  6 ++
>  src/virt-viewer-session-spice.c |  9 +-
>  5 files changed, 125 insertions(+), 2 deletions(-)
>
> diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
> index 4b683cf..ed76af5 100644
> --- a/man/remote-viewer.pod
> +++ b/man/remote-viewer.pod
> @@ -360,6 +360,9 @@ The monitor-mapping must contain ids of all displays from 
> 1 to the last
>  desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
>  for displays 1 and 2 are not specified.
>
> +Configuration key B contains a boolean value. If it's 
> "true",
> +then clipboard is shared with guests if clipboard sharing is supported by 
> used protocol.
> +
>  =head1 EXAMPLES
>
>  To connect to SPICE server on host "makai" with port 5900
> diff --git a/src/resources/ui/virt-viewer-preferences.ui 
> b/src/resources/ui/virt-viewer-preferences.ui
> index f9738c5..0b88da4 100644
> --- a/src/resources/ui/virt-viewer-preferences.ui
> +++ b/src/resources/ui/virt-viewer-preferences.ui
> @@ -61,7 +61,7 @@
>  True
>  False
>  6
> -2
> +3
>  2
>  12
>  6
> @@ -91,6 +91,20 @@
>  2
>
>  
> +
> +  
> +Share 
> clipboard
> +True
> +True
> +False
> +True
> +  
> +  
> +2
> +2
> +3
> +  
> +
>  
> id="fcsharefolder">
>  True
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index 2684263..da8cfa9 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -157,6 +157,7 @@ struct _VirtViewerAppPrivate {
>  guint remove_smartcard_accel_key;
>  GdkModifierType remove_smartcard_accel_mods;
>  gboolean quit_on_disconnect;
> +gboolean supports_share_clipboard;
>  };
>
>
> @@ -176,6 +177,8 @@ enum {
>  PROP_UUID,
>  PROP_VM_UI,
>  PROP_VM_RUNNING,
> +PROP_CONFIG_SHARE_CLIPBOARD,
> +PROP_SUPPORTS_SHARE_CLIPBOARD,
>  };
>
>  void
> @@ -1588,6 +1591,14 @@ virt_viewer_app_get_property (GObject *object, guint 
> property_id,
>  g_value_set_boolean(value, priv->vm_running);
>  break;
>
> +case PROP_CONFIG_SHARE_CLIPBOARD:
> +g_value_set_boolean(value, 
> virt_viewer_app_get_config_share_clipboard(self));
> +break;
> +
> +case PROP_SUPPORTS_SHARE_CLIPBOARD:
> +g_value_set_boolean(value, 
> virt_viewer_app_get_supports_share_clipboard(self));
> +break;
> +
>  default:
>  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
>  }
> @@ -1650,6 +1661,14 @@ virt_viewer_app_set_property (GObject *object, guint 
> property_id,
>  priv->vm_running = g_value_get_boolean(value);
>  break;
>
> +case PROP_CONFIG_SHARE_CLIPBOARD:
> +virt_viewer_app_set_config_share_clipboard(self, 
> g_value_get_boolean(value));
> +break;
> +
> +case PROP_SUPPORTS_SHARE_CLIPBOARD:
> +virt_viewer_app_set_supports_share_clipboard(self, 
> g_value_get_boolean(value));
> +break;
> +
>  default:
>  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
>  }
> @@ -1867,6 +1886,9 @@ virt_viewer_app_on_application_startup(GApplication 
> *app)
>  gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
> GDK_CONTROL_MASK);
>  gtk_accel_map_add_entry("/send/secure-attention", 
> GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
>
> +// Restore initial state of config-share-clipboard property from config 
> and notify about it
> +virt_viewer_app_set_config_share_clipboard(self, 
> virt_viewer_app_get_config_share_clipboard(self));
> +
>  if (!virt_viewer_app_start(self, )) {
>  if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
> VIRT_VIEWER_ERROR_CANCELLED))
>  virt_viewer_app_simple_message_dialog(self, error->message);
> @@ -2061,6 +2083,24 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
>   FALSE,
>   G_PARAM_READWRITE |
>   
> G_PARAM_STATIC_STRINGS));
> +
> +

[virt-tools-list] [virt-manager PATCH 6/6] addhardware: Don't prevent ppc64/pseries from using virtio-scsi

2019-03-04 Thread Andrea Bolognani
This doesn't seem to do anything, as we end up with with a
virtio-scsi controller anyway both when using virt-install and
when using the GUI, and it's not correct anyway because there's
nothing preventing ppc64/pseries guests from using virtio-scsi.

Signed-off-by: Andrea Bolognani 
---
 virtManager/addhardware.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
index eb6967f9..6d1f7cce 100644
--- a/virtManager/addhardware.py
+++ b/virtManager/addhardware.py
@@ -1225,8 +1225,7 @@ class vmmAddHardware(vmmGObjectUI):
 controller_model = None
 if (bus == "scsi" and
 self.vm.get_hv_type() in ["qemu", "kvm", "test"] and
-not self.vm.xmlobj.os.is_pseries() and not
-any([c.type == "scsi"
+not any([c.type == "scsi"
  for c in self.vm.xmlobj.devices.controller])):
 controller_model = "virtio-scsi"
 
-- 
2.20.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 1/6] guest: Remove some SCSI-related dead code

2019-03-04 Thread Andrea Bolognani
The code in _add_implied_controllers() tries to add an ibmvscsi
controller if any disk with spapr-vio address type is found;
however, regardless of the specific SCSI controller in use, all
SCSI disks will use the drive address type, so that condition
will never be triggered - which is actually for the best, since
we want to use virtio-scsi on ppc64 anyway.

Signed-off-by: Andrea Bolognani 
---
 virtinst/guest.py | 14 --
 1 file changed, 14 deletions(-)

diff --git a/virtinst/guest.py b/virtinst/guest.py
index 6e05b5b5..3478acc7 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -793,24 +793,10 @@ class Guest(XMLBuilder):
 self.add_device(dev)
 
 def _add_implied_controllers(self):
-has_spapr_scsi = False
 has_any_scsi = False
 for dev in self.devices.controller:
 if dev.type == "scsi":
 has_any_scsi = True
-if dev.address.type == "spapr-vio":
-has_spapr_scsi = True
-
-# Add spapr-vio controller if needed
-if not has_spapr_scsi:
-for dev in self.devices.disk:
-if dev.address.type == "spapr-vio":
-ctrl = DeviceController(self.conn)
-ctrl.type = "scsi"
-ctrl.address.set_addrstr("spapr-vio")
-ctrl.set_defaults(self)
-self.add_device(ctrl)
-break
 
 # Add virtio-scsi controller if needed
 if ((self.os.is_arm_machvirt() or self.os.is_pseries()) and
-- 
2.20.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 4/6] devices: disk: Use virtio-scsi for CDROMs where supported

2019-03-04 Thread Andrea Bolognani
We already use virtio-blk for regular disks whenever possible,
and there's no good reason not to do the same with virtio-scsi
when dealing with CDROMs instead of artificially limiting its
use to s390x and ppc64/pseries guests.

Signed-off-by: Andrea Bolognani 
---
 .../compare/virt-install-kvm-session-defaults.xml   | 6 --
 tests/cli-test-xml/compare/virt-install-location-iso.xml| 6 --
 virtinst/devices/disk.py| 4 +---
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/tests/cli-test-xml/compare/virt-install-kvm-session-defaults.xml 
b/tests/cli-test-xml/compare/virt-install-kvm-session-defaults.xml
index cee1e513..fa1ca470 100644
--- a/tests/cli-test-xml/compare/virt-install-kvm-session-defaults.xml
+++ b/tests/cli-test-xml/compare/virt-install-kvm-session-defaults.xml
@@ -40,10 +40,11 @@
 
   
   
-  
+  
   
 
 
+
 
   
   
@@ -109,10 +110,11 @@
   
 
 
-  
+  
   
 
 
+
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-location-iso.xml 
b/tests/cli-test-xml/compare/virt-install-location-iso.xml
index 5bccab2a..880f37b1 100644
--- a/tests/cli-test-xml/compare/virt-install-location-iso.xml
+++ b/tests/cli-test-xml/compare/virt-install-location-iso.xml
@@ -40,7 +40,7 @@
 
   
   
-  
+  
   
 
 
@@ -53,6 +53,7 @@
 
   
 
+
 
 
   
@@ -114,7 +115,7 @@
   
 
 
-  
+  
   
 
 
@@ -127,6 +128,7 @@
 
   
 
+
 
 
   
diff --git a/virtinst/devices/disk.py b/virtinst/devices/disk.py
index 533631eb..5ed95b51 100644
--- a/virtinst/devices/disk.py
+++ b/virtinst/devices/disk.py
@@ -955,14 +955,12 @@ class DeviceDisk(Device):
 return "scsi"
 if self.is_disk() and guest.supports_virtiodisk():
 return "virtio"
-if guest.os.is_pseries() and self.is_cdrom():
+if self.is_cdrom() and guest.supports_virtioscsi():
 return "scsi"
 if guest.os.is_arm():
 return "sd"
 if guest.os.is_q35():
 return "sata"
-if self.is_cdrom() and guest.os.is_s390x():
-return "scsi"
 return "ide"
 
 def set_defaults(self, guest):
-- 
2.20.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 5/6] devices: disk: Don't prefer virtio-scsi for aarch64/virt

2019-03-04 Thread Andrea Bolognani
Back when this was introduced in 2014 (commit aa772f01e124) using
virtio-scsi instead of virtio-blk made sense, because virtio-pci
support on aarch64/virt was still not widely available and
virtio-mmio couldn't do hotplug.

These days, however, virtio-pci availability is something that
we can assume is present on any remotely reasonable deployment
target, so it's better to no longer behave differently than
other architectures.

Signed-off-by: Andrea Bolognani 
---
 tests/cli-test-xml/compare/virt-install-aarch64-cdrom.xml | 8 
 .../cli-test-xml/compare/virt-install-aarch64-kvm-gic.xml | 2 +-
 .../compare/virt-install-aarch64-kvm-import.xml   | 3 +--
 .../compare/virt-install-aarch64-machdefault.xml  | 3 +--
 .../compare/virt-install-aarch64-machvirt.xml | 3 +--
 .../compare/virt-install-arm-defaultmach-f20.xml  | 3 +--
 .../cli-test-xml/compare/virt-install-arm-kvm-import.xml  | 3 +--
 tests/cli-test-xml/compare/virt-install-arm-virt-f20.xml  | 3 +--
 virtinst/devices/disk.py  | 4 
 9 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-cdrom.xml 
b/tests/cli-test-xml/compare/virt-install-aarch64-cdrom.xml
index 212c47fd..eb6439fe 100644
--- a/tests/cli-test-xml/compare/virt-install-aarch64-cdrom.xml
+++ b/tests/cli-test-xml/compare/virt-install-aarch64-cdrom.xml
@@ -20,12 +20,12 @@
 
   
   
-  
+  
 
 
   
   
-  
+  
   
 
 
@@ -63,10 +63,10 @@
 
   
   
-  
+  
 
 
-  
+  
   
 
 
diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-kvm-gic.xml 
b/tests/cli-test-xml/compare/virt-install-aarch64-kvm-gic.xml
index 96175f87..0a5a71aa 100644
--- a/tests/cli-test-xml/compare/virt-install-aarch64-kvm-gic.xml
+++ b/tests/cli-test-xml/compare/virt-install-aarch64-kvm-gic.xml
@@ -24,7 +24,7 @@
 
   
   
-  
+  
 
 
   
diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-kvm-import.xml 
b/tests/cli-test-xml/compare/virt-install-aarch64-kvm-import.xml
index f4fc88e0..9006d4e5 100644
--- a/tests/cli-test-xml/compare/virt-install-aarch64-kvm-import.xml
+++ b/tests/cli-test-xml/compare/virt-install-aarch64-kvm-import.xml
@@ -21,10 +21,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-machdefault.xml 
b/tests/cli-test-xml/compare/virt-install-aarch64-machdefault.xml
index 27494db4..5f06f35e 100644
--- a/tests/cli-test-xml/compare/virt-install-aarch64-machdefault.xml
+++ b/tests/cli-test-xml/compare/virt-install-aarch64-machdefault.xml
@@ -19,10 +19,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-machvirt.xml 
b/tests/cli-test-xml/compare/virt-install-aarch64-machvirt.xml
index 27494db4..5f06f35e 100644
--- a/tests/cli-test-xml/compare/virt-install-aarch64-machvirt.xml
+++ b/tests/cli-test-xml/compare/virt-install-aarch64-machvirt.xml
@@ -19,10 +19,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-arm-defaultmach-f20.xml 
b/tests/cli-test-xml/compare/virt-install-arm-defaultmach-f20.xml
index 5194c344..be1c21f5 100644
--- a/tests/cli-test-xml/compare/virt-install-arm-defaultmach-f20.xml
+++ b/tests/cli-test-xml/compare/virt-install-arm-defaultmach-f20.xml
@@ -21,10 +21,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml 
b/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml
index d613b33e..5ca50869 100644
--- a/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml
+++ b/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml
@@ -21,10 +21,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-arm-virt-f20.xml 
b/tests/cli-test-xml/compare/virt-install-arm-virt-f20.xml
index e94de3d1..485aeeb2 100644
--- a/tests/cli-test-xml/compare/virt-install-arm-virt-f20.xml
+++ b/tests/cli-test-xml/compare/virt-install-arm-virt-f20.xml
@@ -21,10 +21,9 @@
 
   
   
-  
+  
 
 
-
 
   
   
diff --git a/virtinst/devices/disk.py b/virtinst/devices/disk.py
index 5ed95b51..a2717760 100644
--- a/virtinst/devices/disk.py
+++ b/virtinst/devices/disk.py
@@ -949,10 +949,6 @@ class DeviceDisk(Device):
 # This likely isn't correct, but it's kind of a catch all
 # for virt types we don't know how to handle.
 return "ide"
-
-if guest.os.is_arm_machvirt():
-# We prefer virtio-scsi for machvirt, gets us hotplug
-return "scsi"
 if self.is_disk() and guest.supports_virtiodisk():
 

[virt-tools-list] [virt-manager PATCH 3/6] guest: Use virtio-scsi where supported

2019-03-04 Thread Andrea Bolognani
Right now we're limiting use of virtio-scsi to ppc64/pseries
and aarch64/virt guests, but there's really no reason not to
use it wherever it's available.

This results in virtio-scsi being now used on s390x, where no
other sensible SCSI controller implementation is available
anyway, and x86, where you alreayd didn't want end up using
lsilogic.

Signed-off-by: Andrea Bolognani 
---
 tests/cli-test-xml/compare/virt-install-many-devices.xml   | 1 +
 tests/cli-test-xml/compare/virt-install-s390x-cdrom-KVMIBM.xml | 1 +
 tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml| 1 +
 virtinst/guest.py  | 3 +--
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/cli-test-xml/compare/virt-install-many-devices.xml 
b/tests/cli-test-xml/compare/virt-install-many-devices.xml
index b7386003..efd321e4 100644
--- a/tests/cli-test-xml/compare/virt-install-many-devices.xml
+++ b/tests/cli-test-xml/compare/virt-install-many-devices.xml
@@ -184,6 +184,7 @@
   
   
 
+
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-s390x-cdrom-KVMIBM.xml 
b/tests/cli-test-xml/compare/virt-install-s390x-cdrom-KVMIBM.xml
index 58a836c5..0941003c 100644
--- a/tests/cli-test-xml/compare/virt-install-s390x-cdrom-KVMIBM.xml
+++ b/tests/cli-test-xml/compare/virt-install-s390x-cdrom-KVMIBM.xml
@@ -28,6 +28,7 @@
   
   
 
+
 
   
   
diff --git a/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml 
b/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml
index 10b0ddc1..7b23ed76 100644
--- a/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml
+++ b/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml
@@ -28,6 +28,7 @@
   
   
 
+
 
   
   
diff --git a/virtinst/guest.py b/virtinst/guest.py
index 4e7bcd41..1753d44d 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -801,8 +801,7 @@ class Guest(XMLBuilder):
 has_any_scsi = True
 
 # Add virtio-scsi controller if needed
-if ((self.os.is_arm_machvirt() or self.os.is_pseries()) and
-not has_any_scsi):
+if not has_any_scsi and self.supports_virtioscsi():
 for dev in self.devices.disk:
 if dev.bus == "scsi":
 ctrl = DeviceController(self.conn)
-- 
2.20.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [virt-manager PATCH 0/6] Various SCSI fixes

2019-03-04 Thread Andrea Bolognani
This series ensures we use virtio-scsi much more than we're
currently doing, assuming of course it's supported by the guest
OS; additionally, it improves consistency between architectures
by using virtio-blk for aarch64/virt, same as we're doing
everywhere else.

Andrea Bolognani (6):
  guest: Remove some SCSI-related dead code
  guest: Add supports_virtioscsi()
  guest: Use virtio-scsi where supported
  devices: disk: Use virtio-scsi for CDROMs where supported
  devices: disk: Don't prefer virtio-scsi for aarch64/virt
  addhardware: Don't prevent ppc64/pseries from using virtio-scsi

 .../compare/virt-install-aarch64-cdrom.xml|  8 
 .../compare/virt-install-aarch64-kvm-gic.xml  |  2 +-
 .../virt-install-aarch64-kvm-import.xml   |  3 +--
 .../virt-install-aarch64-machdefault.xml  |  3 +--
 .../compare/virt-install-aarch64-machvirt.xml |  3 +--
 .../virt-install-arm-defaultmach-f20.xml  |  3 +--
 .../compare/virt-install-arm-kvm-import.xml   |  3 +--
 .../compare/virt-install-arm-virt-f20.xml |  3 +--
 .../virt-install-kvm-session-defaults.xml |  6 --
 .../compare/virt-install-location-iso.xml |  6 --
 .../compare/virt-install-many-devices.xml |  1 +
 .../virt-install-s390x-cdrom-KVMIBM.xml   |  1 +
 .../compare/virt-install-s390x-cdrom.xml  |  1 +
 virtManager/addhardware.py|  3 +--
 virtinst/devices/disk.py  |  8 +---
 virtinst/guest.py | 19 +++
 virtinst/osdict.py|  6 ++
 17 files changed, 33 insertions(+), 46 deletions(-)

-- 
2.20.1

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list


[virt-tools-list] [PATCH v4] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Aleksei Nikiforov
Signed-off-by: Aleksei Nikiforov 
---
 man/remote-viewer.pod   |  3 +
 src/resources/ui/virt-viewer-preferences.ui | 16 +++-
 src/virt-viewer-app.c   | 93 +
 src/virt-viewer-app.h   |  6 ++
 src/virt-viewer-session-spice.c |  9 +-
 5 files changed, 125 insertions(+), 2 deletions(-)

diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
index 4b683cf..ed76af5 100644
--- a/man/remote-viewer.pod
+++ b/man/remote-viewer.pod
@@ -360,6 +360,9 @@ The monitor-mapping must contain ids of all displays from 1 
to the last
 desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
 for displays 1 and 2 are not specified.
 
+Configuration key B contains a boolean value. If it's "true",
+then clipboard is shared with guests if clipboard sharing is supported by used 
protocol.
+
 =head1 EXAMPLES
 
 To connect to SPICE server on host "makai" with port 5900
diff --git a/src/resources/ui/virt-viewer-preferences.ui 
b/src/resources/ui/virt-viewer-preferences.ui
index f9738c5..0b88da4 100644
--- a/src/resources/ui/virt-viewer-preferences.ui
+++ b/src/resources/ui/virt-viewer-preferences.ui
@@ -61,7 +61,7 @@
 True
 False
 6
-2
+3
 2
 12
 6
@@ -91,6 +91,20 @@
 2
   
 
+
+  
+Share 
clipboard
+True
+True
+False
+True
+  
+  
+2
+2
+3
+  
+
 
   
 True
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 2684263..da8cfa9 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -157,6 +157,7 @@ struct _VirtViewerAppPrivate {
 guint remove_smartcard_accel_key;
 GdkModifierType remove_smartcard_accel_mods;
 gboolean quit_on_disconnect;
+gboolean supports_share_clipboard;
 };
 
 
@@ -176,6 +177,8 @@ enum {
 PROP_UUID,
 PROP_VM_UI,
 PROP_VM_RUNNING,
+PROP_CONFIG_SHARE_CLIPBOARD,
+PROP_SUPPORTS_SHARE_CLIPBOARD,
 };
 
 void
@@ -1588,6 +1591,14 @@ virt_viewer_app_get_property (GObject *object, guint 
property_id,
 g_value_set_boolean(value, priv->vm_running);
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_config_share_clipboard(self));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_supports_share_clipboard(self));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1650,6 +1661,14 @@ virt_viewer_app_set_property (GObject *object, guint 
property_id,
 priv->vm_running = g_value_get_boolean(value);
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+virt_viewer_app_set_config_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+virt_viewer_app_set_supports_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1867,6 +1886,9 @@ virt_viewer_app_on_application_startup(GApplication *app)
 gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
GDK_CONTROL_MASK);
 gtk_accel_map_add_entry("/send/secure-attention", 
GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 
+// Restore initial state of config-share-clipboard property from config 
and notify about it
+virt_viewer_app_set_config_share_clipboard(self, 
virt_viewer_app_get_config_share_clipboard(self));
+
 if (!virt_viewer_app_start(self, )) {
 if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
VIRT_VIEWER_ERROR_CANCELLED))
 virt_viewer_app_simple_message_dialog(self, error->message);
@@ -2061,6 +2083,24 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
  FALSE,
  G_PARAM_READWRITE |
  
G_PARAM_STATIC_STRINGS));
+
+g_object_class_install_property(object_class,
+PROP_CONFIG_SHARE_CLIPBOARD,
+
g_param_spec_boolean("config-share-clipboard",
+ "Share clipboard",
+ "Indicates whether to 
share clipboard",
+  

Re: [virt-tools-list] [PATCH v3] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Marc-André Lureau
Hi Aleksei,

On Mon, Mar 4, 2019 at 1:13 PM Aleksei Nikiforov  wrote:
>
> Signed-off-by: Aleksei Nikiforov 
> ---
>  man/remote-viewer.pod   |  3 +
>  src/resources/ui/virt-viewer-preferences.ui | 16 +++-
>  src/virt-viewer-app.c   | 93 +
>  src/virt-viewer-app.h   |  6 ++
>  src/virt-viewer-session-spice.c |  9 +-
>  5 files changed, 125 insertions(+), 2 deletions(-)
>

The patch doesn't seem to apply on master, could you rebase?

thanks

> diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
> index 8cf5ee4..c009fb9 100644
> --- a/man/remote-viewer.pod
> +++ b/man/remote-viewer.pod
> @@ -354,6 +354,9 @@ The monitor-mapping must contain ids of all displays from 
> 1 to the last
>  desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
>  for displays 1 and 2 are not specified.
>
> +Configuration key B contains a boolean value. If it's 
> "true",
> +then clipboard is shared with guests if clipboard sharing is supported by 
> used protocol.
> +
>  =head1 EXAMPLES
>
>  To connect to SPICE server on host "makai" with port 5900
> diff --git a/src/resources/ui/virt-viewer-preferences.ui 
> b/src/resources/ui/virt-viewer-preferences.ui
> index f9738c5..0b88da4 100644
> --- a/src/resources/ui/virt-viewer-preferences.ui
> +++ b/src/resources/ui/virt-viewer-preferences.ui
> @@ -61,7 +61,7 @@
>  True
>  False
>  6
> -2
> +3
>  2
>  12
>  6
> @@ -91,6 +91,20 @@
>  2
>
>  
> +
> +  
> +Share 
> clipboard
> +True
> +True
> +False
> +True
> +  
> +  
> +2
> +2
> +3
> +  
> +
>  
> id="fcsharefolder">
>  True
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index e0e6e63..c91a828 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -153,6 +153,7 @@ struct _VirtViewerAppPrivate {
>  guint remove_smartcard_accel_key;
>  GdkModifierType remove_smartcard_accel_mods;
>  gboolean quit_on_disconnect;
> +gboolean supports_share_clipboard;
>  };
>
>
> @@ -172,6 +173,8 @@ enum {
>  PROP_KIOSK,
>  PROP_QUIT_ON_DISCONNECT,
>  PROP_UUID,
> +PROP_CONFIG_SHARE_CLIPBOARD,
> +PROP_SUPPORTS_SHARE_CLIPBOARD,
>  };
>
>  void
> @@ -1549,6 +1552,14 @@ virt_viewer_app_get_property (GObject *object, guint 
> property_id,
>  g_value_set_string(value, priv->uuid);
>  break;
>
> +case PROP_CONFIG_SHARE_CLIPBOARD:
> +g_value_set_boolean(value, 
> virt_viewer_app_get_config_share_clipboard(self));
> +break;
> +
> +case PROP_SUPPORTS_SHARE_CLIPBOARD:
> +g_value_set_boolean(value, 
> virt_viewer_app_get_supports_share_clipboard(self));
> +break;
> +
>  default:
>  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
>  }
> @@ -1603,6 +1614,14 @@ virt_viewer_app_set_property (GObject *object, guint 
> property_id,
>  virt_viewer_app_set_uuid_string(self, g_value_get_string(value));
>  break;
>
> +case PROP_CONFIG_SHARE_CLIPBOARD:
> +virt_viewer_app_set_config_share_clipboard(self, 
> g_value_get_boolean(value));
> +break;
> +
> +case PROP_SUPPORTS_SHARE_CLIPBOARD:
> +virt_viewer_app_set_supports_share_clipboard(self, 
> g_value_get_boolean(value));
> +break;
> +
>  default:
>  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
>  }
> @@ -1815,6 +1834,9 @@ virt_viewer_app_on_application_startup(GApplication 
> *app)
>  gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
> GDK_CONTROL_MASK);
>  gtk_accel_map_add_entry("/send/secure-attention", 
> GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
>
> +// Restore initial state of config-share-clipboard property from config 
> and notify about it
> +virt_viewer_app_set_config_share_clipboard(self, 
> virt_viewer_app_get_config_share_clipboard(self));
> +
>  if (!virt_viewer_app_start(self, )) {
>  if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
> VIRT_VIEWER_ERROR_CANCELLED))
>  virt_viewer_app_simple_message_dialog(self, error->message);
> @@ -1994,6 +2016,24 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
>  G_PARAM_READABLE |
>  G_PARAM_WRITABLE |
>  

Re: [virt-tools-list] [virt-manager PATCH] virtinst: cli: fix ParserBoot to return the parsed object

2019-03-04 Thread Marc Hartmayer
On Fri, Mar 01, 2019 at 04:50 PM +0100, Pavel Hrdina  wrote:
> This fixes virt-xml to return an XML for command:
>
> virt-xml --build-xml --boot os_type=hvm
>
> The VirtCLIParser.parse() expects the _parse() method to return
> the parsed object.
>
> Signed-off-by: Pavel Hrdina 
> ---
>
> Pushed
>
>  virtinst/cli.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/virtinst/cli.py b/virtinst/cli.py
> index d56fade8..7a406eb4 100644
> --- a/virtinst/cli.py
> +++ b/virtinst/cli.py
> @@ -1912,7 +1912,7 @@ class ParserBoot(VirtCLIParser):
>  if boot_order:
>  inst.bootorder = boot_order
>  
> -super()._parse(inst)
> +return super()._parse(inst)
>  
>  @classmethod
>  def __init_class__(cls, **kwargs):
> -- 
> 2.20.1
>
> ___
> virt-tools-list mailing list
> virt-tools-list@redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
>

Reviewed-by: Marc Hartmayer 

-- 
Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Matthias Hartmann
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [virt-viewer PATCH v2 3/3] Switch to gnulib's compiler warning flags

2019-03-04 Thread Christophe Fergeau
On Tue, Feb 19, 2019 at 03:00:11PM +, Daniel P. Berrangé wrote:
> diff --git a/m4/virt-viewer-warnings.m4 b/m4/virt-viewer-warnings.m4
> new file mode 100644
> index 000..4036b75
> --- /dev/null
> +++ b/m4/virt-viewer-warnings.m4
> [...]
> +# List of warnings that are not relevant / wanted
> +
> +# Don't care about C++ compiler compat
> +dontwarn="$dontwarn -Wc++-compat"
> +dontwarn="$dontwarn -Wabi"
> +dontwarn="$dontwarn -Wdeprecated"
> +# Don't care about ancient C standard compat
> +dontwarn="$dontwarn -Wtraditional"
> +# Don't care about ancient C standard compat
> +dontwarn="$dontwarn -Wtraditional-conversion"
> +# Ignore warnings in /usr/include
> +dontwarn="$dontwarn -Wsystem-headers"
> +# Happy for compiler to add struct padding
> +dontwarn="$dontwarn -Wpadded"
> +# GCC very confused with -O2
> +dontwarn="$dontwarn -Wunreachable-code"
> +# Too many to deal with
> +dontwarn="$dontwarn -Wconversion"
> +# Too many to deal with
> +dontwarn="$dontwarn -Wsign-conversion"
> +# We need to use long long in many places
> +dontwarn="$dontwarn -Wlong-long"
> +# Not a problem since we don't use -fstrict-overflow
> +dontwarn="$dontwarn -Wstrict-overflow"
> +# Not a problem since we don't use -funsafe-loop-optimizations
> +dontwarn="$dontwarn -Wunsafe-loop-optimizations"
> +# gcc 4.4.6 complains this is C++ only; gcc 4.7.0 implies this from -Wall
> +dontwarn="$dontwarn -Wenum-compare"
> +# /usr/include/spice-1/spice/protocol.h triggers violations
> +dontwarn="$dontwarn -Wpacked"
> +
> +# g_clear_object & G_ATOMIC_OP_USE_GCC_BUILTINS causes
> +# violations with this. XXX Fix glib ?
> +dontwarn="$dontwarn -Wbad-function-cast"
> +
> +# Due to gutils.h bug in g_bit_storage
> +wantwarn="$wantwarn -Wno-sign-conversion"
> +wantwarn="$wantwarn -Wno-conversion"
> +# We can't enable this due to horrible spice_usb_device_get_description
> +# signature
> +#wantwarn="$wantwarn -Wno-format-nonliteral"

I'd remove this, spice_usb_device_get_description is not marked as using
a format string, and uncommenting this line/changing it to
-Wformat-nonliteral did not trigger any additional warnings.

> +
> +# Get all possible GCC warnings
> +gl_MANYWARN_ALL_GCC([maybewarn])
> +
> +# Remove the ones we don't want, blacklisted earlier
> +gl_MANYWARN_COMPLEMENT([wantwarn], [$maybewarn], [$dontwarn])
> +
> +# GNULIB uses '-W' (aka -Wextra) which includes a bunch of stuff.
> +# Unfortunately, this means you can't simply use '-Wsign-compare'
> +# with gl_MANYWARN_COMPLEMENT
> +# So we have -W enabled, and then have to explicitly turn off...
> +wantwarn="$wantwarn -Wno-sign-compare"
> +
> +# GNULIB expects this to be part of -Wc++-compat, but we turn
> +# that one off, so we need to manually enable this again
> +wantwarn="$wantwarn -Wjump-misses-init"
> +
> +# We do "bad" function casts all the time for event callbacks
> +wantwarn="$wantwarn -Wno-cast-function-type"
> +
> +# GNULIB turns on -Wformat=2 which implies -Wformat-nonliteral,
> +# so we need to manually re-exclude it.
> +wantwarn="$wantwarn -Wno-format-nonliteral"

This on can be removed too if we enable -Wformat-nonliteral.


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [virt-viewer PATCH v2 1/3] Annotate message dialog helpers with format(gnu_printf)

2019-03-04 Thread Christophe Fergeau
The shortlog should mention G_GNUC_PRINTF rather than format(printf)

On Tue, Feb 19, 2019 at 03:00:09PM +, Daniel P. Berrangé wrote:
> This allows the compiler to validate the format string and args passed
> to the function.
> 
> Signed-off-by: Daniel P. Berrangé 
> ---
>  src/virt-viewer-app.c  | 38 +++---
>  src/virt-viewer-notebook.c |  4 ++--
>  2 files changed, 25 insertions(+), 17 deletions(-)
> 
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index 2592484..15e7b3d 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -197,19 +197,16 @@ virt_viewer_app_set_debug(gboolean debug)
>  doDebug = debug;
>  }
>  
> -static GtkWidget*
> -virt_viewer_app_make_message_dialog(VirtViewerApp *self,
> -const char *fmt, ...)
> +G_GNUC_PRINTF(2, 0) static GtkWidget*
> +virt_viewer_app_make_message_dialogv(VirtViewerApp *self,
> + const char *fmt, va_list vargs)

Is the addition of this helper required?
I'd put G_GNUC_PRINTF after the declaration:
https://developer.gnome.org/glib/unstable/glib-Miscellaneous-Macros.html#G-GNUC-PRINTF:CAPS
« Place the attribute after the function declaration, just before the
semicolon. »

We don't have a semi-colon here, but at the end of the declaration seems
more consistent with this documentation.


>  {
>  g_return_val_if_fail(VIRT_VIEWER_IS_APP(self), NULL);
>  GtkWindow *window = 
> GTK_WINDOW(virt_viewer_window_get_window(self->priv->main_window));
>  GtkWidget *dialog;
>  char *msg;
> -va_list vargs;
>  
> -va_start(vargs, fmt);
>  msg = g_strdup_vprintf(fmt, vargs);
> -va_end(vargs);
>  
>  dialog = gtk_message_dialog_new(window,
>  GTK_DIALOG_MODAL |
> @@ -224,23 +221,34 @@ virt_viewer_app_make_message_dialog(VirtViewerApp *self,
>  return dialog;
>  }
>  
> -void
> +G_GNUC_PRINTF(2, 3) static GtkWidget*
> +virt_viewer_app_make_message_dialog(VirtViewerApp *self,
> +const char *fmt, ...)
> +{
> +g_return_val_if_fail(VIRT_VIEWER_IS_APP(self), NULL);
> +GtkWidget *dialog;
> +va_list vargs;
> +
> +va_start(vargs, fmt);
> +dialog = virt_viewer_app_make_message_dialogv(self, fmt, vargs);
> +va_end(vargs);
> +
> +return dialog;
> +}
> +
> +G_GNUC_PRINTF(2, 3) void
>  virt_viewer_app_simple_message_dialog(VirtViewerApp *self,
>const char *fmt, ...)

This should be done in the .h file, and same comment about putting this
after the declaration.
Same comments throughout the rest of this file.

Christophe

>  {
>  GtkWidget *dialog;
> -char *msg;
>  va_list vargs;
>  
>  va_start(vargs, fmt);
> -msg = g_strdup_vprintf(fmt, vargs);
> +dialog = virt_viewer_app_make_message_dialogv(self, fmt, vargs);
>  va_end(vargs);
>  
> -dialog = virt_viewer_app_make_message_dialog(self, msg);
>  gtk_dialog_run(GTK_DIALOG(dialog));
>  gtk_widget_destroy(dialog);
> -
> -g_free(msg);
>  }
>  
>  static void
> @@ -668,7 +676,7 @@ virt_viewer_app_open_unix_sock(const char *unixsock, 
> GError **error)
>  
>  #endif /* defined(HAVE_SOCKETPAIR) && defined(HAVE_FORK) */
>  
> -void
> +G_GNUC_PRINTF(2, 3) void
>  virt_viewer_app_trace(VirtViewerApp *self,
>const char *fmt, ...)
>  {
> @@ -1871,7 +1879,7 @@ virt_viewer_app_on_application_startup(GApplication 
> *app)
>  
>  if (!virt_viewer_app_start(self, )) {
>  if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
> VIRT_VIEWER_ERROR_CANCELLED))
> -virt_viewer_app_simple_message_dialog(self, error->message);
> +virt_viewer_app_simple_message_dialog(self, "%s", 
> error->message);
>  
>  g_clear_error();
>  g_application_quit(app);
> @@ -2477,7 +2485,7 @@ show_status_cb(gpointer value,
>  virt_viewer_notebook_show_status(nb, text);
>  }
>  
> -void
> +G_GNUC_PRINTF(2, 3) void
>  virt_viewer_app_show_status(VirtViewerApp *self, const gchar *fmt, ...)
>  {
>  va_list args;
> diff --git a/src/virt-viewer-notebook.c b/src/virt-viewer-notebook.c
> index 3a74e9f..310ea12 100644
> --- a/src/virt-viewer-notebook.c
> +++ b/src/virt-viewer-notebook.c
> @@ -82,7 +82,7 @@ virt_viewer_notebook_init (VirtViewerNotebook *self)
>  gtk_notebook_append_page(GTK_NOTEBOOK(self), priv->status, NULL);
>  }
>  
> -void
> +G_GNUC_PRINTF(2, 0) void
>  virt_viewer_notebook_show_status_va(VirtViewerNotebook *self, const gchar 
> *fmt, va_list args)
>  {
>  VirtViewerNotebookPrivate *priv;
> @@ -99,7 +99,7 @@ virt_viewer_notebook_show_status_va(VirtViewerNotebook 
> *self, const gchar *fmt,
>  g_free(text);
>  }
>  
> -void
> +G_GNUC_PRINTF(2, 3) void
>  virt_viewer_notebook_show_status(VirtViewerNotebook *self, const gchar *fmt, 
> ...)
>  {
>  va_list args;
> -- 
> 2.20.1
> 
> 

Re: [virt-tools-list] [virt-viewer PATCH v2 2/3] Fix warning about missing nul terminator with strncpy

2019-03-04 Thread Christophe Fergeau

Reviewed-by: Christophe Fergeau 

On Tue, Feb 19, 2019 at 03:00:10PM +, Daniel P. Berrangé wrote:
> We're intentionally not copying the nul terminator, but gcc rightly
> worries that this could be a coding mistake
> 
> windows-cmdline-wrapper.c: In function 'main':
> windows-cmdline-wrapper.c:65:9: warning: 'strncpy' output truncated before 
> terminating nul copying 3 bytes from a string of the same length 
> [-Wstringop-truncation]
>  strncpy(name + len - 3, "exe", 3);
>  ^
> 
> Use memcpy() to make it clear we don't care about the nul terminator in
> the data we're copying.
> 
> Signed-off-by: Daniel P. Berrangé 
> ---
>  src/windows-cmdline-wrapper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/windows-cmdline-wrapper.c b/src/windows-cmdline-wrapper.c
> index 704e2d7..7299ab2 100644
> --- a/src/windows-cmdline-wrapper.c
> +++ b/src/windows-cmdline-wrapper.c
> @@ -62,7 +62,7 @@ int main(int argc, char *argv[])
>  // We expect our helper to end with .com
>  assert(strncmp(name + len - 3, "com", 4) == 0);
>  // replace .com with .exe
> -strncpy(name + len - 3, "exe", 3);
> +memcpy(name + len - 3, "exe", 3);
>  }
>  
>  si.cb = sizeof(si);
> -- 
> 2.20.1
> 
> ___
> virt-tools-list mailing list
> virt-tools-list@redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [virt-manager PATCH] virtManager: clone: check which storage pools supports volume cloning

2019-03-04 Thread Pavel Hrdina
On Sat, Mar 02, 2019 at 07:01:35PM -0500, Cole Robinson wrote:
> On 3/1/19 6:18 AM, Pavel Hrdina wrote:
> > When cloning a guest in virt-manager the GUI shows a list of disks and
> > select default cloning policy for every disk.  For storage pools where
> > we know that cloning is not possible we should not select that option
> > as default one.
> > 
> > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1463066
> > 
> > Signed-off-by: Pavel Hrdina 
> > ---
> >  virtManager/clone.py   | 11 ++-
> >  virtManager/storagepool.py |  4 ++--
> >  virtinst/storage.py| 24 ++--
> >  3 files changed, 26 insertions(+), 13 deletions(-)
> > 
> > diff --git a/virtManager/clone.py b/virtManager/clone.py
> > index 895d258a..cd991f6b 100644
> > --- a/virtManager/clone.py
> > +++ b/virtManager/clone.py
> > @@ -64,6 +64,11 @@ def can_we_clone(conn, vol, path):
> >  elif not os.path.exists(path):
> >  msg = _("Path does not exist.")
> >  
> > +else:
> > +pool = vol.get_parent_pool()
> > +if not pool.supports_volume_creation(clone=True):
> > +msg = _("Cannot clone {} storage 
> > pool.".format(pool.get_type()))
> > +
> 
> Ugh I know this is what the python world is pushing these days but I
> personally find that format to be ugly and far less readable. Please use
> the traditional format for this patch. If you feel strongly about using
> that format in the code base let's have a top level thread about it.

OK, I'll change the formatting back to the old style before pushing.

> Otherwise:
> 
> Reviewed-by: Cole Robinson 

Thanks,

Pavel


signature.asc
Description: PGP signature
___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

[virt-tools-list] [PATCH v3] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Aleksei Nikiforov
Signed-off-by: Aleksei Nikiforov 
---
 man/remote-viewer.pod   |  3 +
 src/resources/ui/virt-viewer-preferences.ui | 16 +++-
 src/virt-viewer-app.c   | 93 +
 src/virt-viewer-app.h   |  6 ++
 src/virt-viewer-session-spice.c |  9 +-
 5 files changed, 125 insertions(+), 2 deletions(-)

diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
index 8cf5ee4..c009fb9 100644
--- a/man/remote-viewer.pod
+++ b/man/remote-viewer.pod
@@ -354,6 +354,9 @@ The monitor-mapping must contain ids of all displays from 1 
to the last
 desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
 for displays 1 and 2 are not specified.
 
+Configuration key B contains a boolean value. If it's "true",
+then clipboard is shared with guests if clipboard sharing is supported by used 
protocol.
+
 =head1 EXAMPLES
 
 To connect to SPICE server on host "makai" with port 5900
diff --git a/src/resources/ui/virt-viewer-preferences.ui 
b/src/resources/ui/virt-viewer-preferences.ui
index f9738c5..0b88da4 100644
--- a/src/resources/ui/virt-viewer-preferences.ui
+++ b/src/resources/ui/virt-viewer-preferences.ui
@@ -61,7 +61,7 @@
 True
 False
 6
-2
+3
 2
 12
 6
@@ -91,6 +91,20 @@
 2
   
 
+
+  
+Share 
clipboard
+True
+True
+False
+True
+  
+  
+2
+2
+3
+  
+
 
   
 True
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index e0e6e63..c91a828 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -153,6 +153,7 @@ struct _VirtViewerAppPrivate {
 guint remove_smartcard_accel_key;
 GdkModifierType remove_smartcard_accel_mods;
 gboolean quit_on_disconnect;
+gboolean supports_share_clipboard;
 };
 
 
@@ -172,6 +173,8 @@ enum {
 PROP_KIOSK,
 PROP_QUIT_ON_DISCONNECT,
 PROP_UUID,
+PROP_CONFIG_SHARE_CLIPBOARD,
+PROP_SUPPORTS_SHARE_CLIPBOARD,
 };
 
 void
@@ -1549,6 +1552,14 @@ virt_viewer_app_get_property (GObject *object, guint 
property_id,
 g_value_set_string(value, priv->uuid);
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_config_share_clipboard(self));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_supports_share_clipboard(self));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1603,6 +1614,14 @@ virt_viewer_app_set_property (GObject *object, guint 
property_id,
 virt_viewer_app_set_uuid_string(self, g_value_get_string(value));
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+virt_viewer_app_set_config_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+virt_viewer_app_set_supports_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1815,6 +1834,9 @@ virt_viewer_app_on_application_startup(GApplication *app)
 gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
GDK_CONTROL_MASK);
 gtk_accel_map_add_entry("/send/secure-attention", 
GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 
+// Restore initial state of config-share-clipboard property from config 
and notify about it
+virt_viewer_app_set_config_share_clipboard(self, 
virt_viewer_app_get_config_share_clipboard(self));
+
 if (!virt_viewer_app_start(self, )) {
 if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
VIRT_VIEWER_ERROR_CANCELLED))
 virt_viewer_app_simple_message_dialog(self, error->message);
@@ -1994,6 +2016,24 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
 G_PARAM_READABLE |
 G_PARAM_WRITABLE |
 
G_PARAM_STATIC_STRINGS));
+
+g_object_class_install_property(object_class,
+PROP_CONFIG_SHARE_CLIPBOARD,
+
g_param_spec_boolean("config-share-clipboard",
+ "Share clipboard",
+ "Indicates whether to 
share clipboard",
+  

Re: [virt-tools-list] [PATCH v2] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Aleksei Nikiforov

04.03.2019 14:54, Aleksei Nikiforov пишет:

Signed-off-by: Aleksei Nikiforov 
---
  man/remote-viewer.pod   |   3 +
  src/resources/ui/virt-viewer-preferences.ui |  16 +++-
  src/virt-viewer-app.c   | 100 
  src/virt-viewer-app.h   |   6 ++
  src/virt-viewer-session-spice.c |   9 +-
  5 files changed, 132 insertions(+), 2 deletions(-)

diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
index 8cf5ee4..c009fb9 100644
--- a/man/remote-viewer.pod
+++ b/man/remote-viewer.pod
@@ -354,6 +354,9 @@ The monitor-mapping must contain ids of all displays from 1 
to the last
  desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
  for displays 1 and 2 are not specified.
  
+Configuration key B contains a boolean value. If it's "true",

+then clipboard is shared with guests if clipboard sharing is supported by used 
protocol.
+
  =head1 EXAMPLES
  
  To connect to SPICE server on host "makai" with port 5900

diff --git a/src/resources/ui/virt-viewer-preferences.ui 
b/src/resources/ui/virt-viewer-preferences.ui
index f9738c5..0b88da4 100644
--- a/src/resources/ui/virt-viewer-preferences.ui
+++ b/src/resources/ui/virt-viewer-preferences.ui
@@ -61,7 +61,7 @@
  True
  False
  6
-2
+3
  2
  12
  6
@@ -91,6 +91,20 @@
  2

  
+
+  
+Share 
clipboard
+True
+True
+False
+True
+  
+  
+2
+2
+3
+  
+
  

  True
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index e0e6e63..2458e3e 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -153,6 +153,7 @@ struct _VirtViewerAppPrivate {
  guint remove_smartcard_accel_key;
  GdkModifierType remove_smartcard_accel_mods;
  gboolean quit_on_disconnect;
+gboolean supports_share_clipboard;
  };
  
  
@@ -172,6 +173,8 @@ enum {

  PROP_KIOSK,
  PROP_QUIT_ON_DISCONNECT,
  PROP_UUID,
+PROP_CONFIG_SHARE_CLIPBOARD,
+PROP_SUPPORTS_SHARE_CLIPBOARD,
  };
  
  void

@@ -1071,6 +1074,13 @@ virt_viewer_app_create_session(VirtViewerApp *self, 
const gchar *type, GError **
  
  g_signal_connect(priv->session, "notify::software-smartcard-reader",

   (GCallback)notify_software_reader_cb, self);
+
+g_object_bind_property(self,
+   "config-share-clipboard",
+   priv->session,
+   "share-clipboard",
+   G_BINDING_BIDIRECTIONAL|G_BINDING_SYNC_CREATE);
+


I've just noticed that I've forgot to remove these lines. I'll send new 
patch.



  return TRUE;
  }
  
@@ -1549,6 +1559,14 @@ virt_viewer_app_get_property (GObject *object, guint property_id,

  g_value_set_string(value, priv->uuid);
  break;
  
+case PROP_CONFIG_SHARE_CLIPBOARD:

+g_value_set_boolean(value, 
virt_viewer_app_get_config_share_clipboard(self));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_supports_share_clipboard(self));
+break;
+
  default:
  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
  }
@@ -1603,6 +1621,14 @@ virt_viewer_app_set_property (GObject *object, guint 
property_id,
  virt_viewer_app_set_uuid_string(self, g_value_get_string(value));
  break;
  
+case PROP_CONFIG_SHARE_CLIPBOARD:

+virt_viewer_app_set_config_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+virt_viewer_app_set_supports_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
  default:
  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
  }
@@ -1815,6 +1841,9 @@ virt_viewer_app_on_application_startup(GApplication *app)
  gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
GDK_CONTROL_MASK);
  gtk_accel_map_add_entry("/send/secure-attention", 
GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
  
+// Restore initial state of config-share-clipboard property from config and notify about it

+virt_viewer_app_set_config_share_clipboard(self, 
virt_viewer_app_get_config_share_clipboard(self));
+
  if (!virt_viewer_app_start(self, )) {
  if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
VIRT_VIEWER_ERROR_CANCELLED))
  

[virt-tools-list] [PATCH v2] remote-viewer: Allow toggling shared clipboard

2019-03-04 Thread Aleksei Nikiforov
Signed-off-by: Aleksei Nikiforov 
---
 man/remote-viewer.pod   |   3 +
 src/resources/ui/virt-viewer-preferences.ui |  16 +++-
 src/virt-viewer-app.c   | 100 
 src/virt-viewer-app.h   |   6 ++
 src/virt-viewer-session-spice.c |   9 +-
 5 files changed, 132 insertions(+), 2 deletions(-)

diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
index 8cf5ee4..c009fb9 100644
--- a/man/remote-viewer.pod
+++ b/man/remote-viewer.pod
@@ -354,6 +354,9 @@ The monitor-mapping must contain ids of all displays from 1 
to the last
 desired display id, e.g. "monitor-mapping=3:3" is invalid because mappings
 for displays 1 and 2 are not specified.
 
+Configuration key B contains a boolean value. If it's "true",
+then clipboard is shared with guests if clipboard sharing is supported by used 
protocol.
+
 =head1 EXAMPLES
 
 To connect to SPICE server on host "makai" with port 5900
diff --git a/src/resources/ui/virt-viewer-preferences.ui 
b/src/resources/ui/virt-viewer-preferences.ui
index f9738c5..0b88da4 100644
--- a/src/resources/ui/virt-viewer-preferences.ui
+++ b/src/resources/ui/virt-viewer-preferences.ui
@@ -61,7 +61,7 @@
 True
 False
 6
-2
+3
 2
 12
 6
@@ -91,6 +91,20 @@
 2
   
 
+
+  
+Share 
clipboard
+True
+True
+False
+True
+  
+  
+2
+2
+3
+  
+
 
   
 True
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index e0e6e63..2458e3e 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -153,6 +153,7 @@ struct _VirtViewerAppPrivate {
 guint remove_smartcard_accel_key;
 GdkModifierType remove_smartcard_accel_mods;
 gboolean quit_on_disconnect;
+gboolean supports_share_clipboard;
 };
 
 
@@ -172,6 +173,8 @@ enum {
 PROP_KIOSK,
 PROP_QUIT_ON_DISCONNECT,
 PROP_UUID,
+PROP_CONFIG_SHARE_CLIPBOARD,
+PROP_SUPPORTS_SHARE_CLIPBOARD,
 };
 
 void
@@ -1071,6 +1074,13 @@ virt_viewer_app_create_session(VirtViewerApp *self, 
const gchar *type, GError **
 
 g_signal_connect(priv->session, "notify::software-smartcard-reader",
  (GCallback)notify_software_reader_cb, self);
+
+g_object_bind_property(self,
+   "config-share-clipboard",
+   priv->session,
+   "share-clipboard",
+   G_BINDING_BIDIRECTIONAL|G_BINDING_SYNC_CREATE);
+
 return TRUE;
 }
 
@@ -1549,6 +1559,14 @@ virt_viewer_app_get_property (GObject *object, guint 
property_id,
 g_value_set_string(value, priv->uuid);
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_config_share_clipboard(self));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+g_value_set_boolean(value, 
virt_viewer_app_get_supports_share_clipboard(self));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1603,6 +1621,14 @@ virt_viewer_app_set_property (GObject *object, guint 
property_id,
 virt_viewer_app_set_uuid_string(self, g_value_get_string(value));
 break;
 
+case PROP_CONFIG_SHARE_CLIPBOARD:
+virt_viewer_app_set_config_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
+case PROP_SUPPORTS_SHARE_CLIPBOARD:
+virt_viewer_app_set_supports_share_clipboard(self, 
g_value_get_boolean(value));
+break;
+
 default:
 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 }
@@ -1815,6 +1841,9 @@ virt_viewer_app_on_application_startup(GApplication *app)
 gtk_accel_map_add_entry("/view/zoom-in", GDK_KEY_plus, 
GDK_CONTROL_MASK);
 gtk_accel_map_add_entry("/send/secure-attention", 
GDK_KEY_End, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 
+// Restore initial state of config-share-clipboard property from config 
and notify about it
+virt_viewer_app_set_config_share_clipboard(self, 
virt_viewer_app_get_config_share_clipboard(self));
+
 if (!virt_viewer_app_start(self, )) {
 if (error && !g_error_matches(error, VIRT_VIEWER_ERROR, 
VIRT_VIEWER_ERROR_CANCELLED))
 virt_viewer_app_simple_message_dialog(self, error->message);
@@ -1994,6 +2023,24 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
 G_PARAM_READABLE |
  

Re: [virt-tools-list] [virt-viewer PATCH] Add a git-publish configuration file

2019-03-04 Thread Daniel P . Berrangé
On Tue, Feb 19, 2019 at 03:10:33PM +, Daniel P. Berrangé wrote:
> On Tue, Feb 19, 2019 at 04:05:00PM +0100, Marc-André Lureau wrote:
> > Hi
> > On Tue, Feb 19, 2019 at 4:03 PM Daniel P. Berrangé  
> > wrote:
> > >
> > > Signed-off-by: Daniel P. Berrangé 
> > > ---
> > >  .gitpublish | 4 
> > >  1 file changed, 4 insertions(+)
> > >  create mode 100644 .gitpublish
> > >
> > > diff --git a/.gitpublish b/.gitpublish
> > > new file mode 100644
> > > index 000..bf82571
> > > --- /dev/null
> > > +++ b/.gitpublish
> > > @@ -0,0 +1,4 @@
> > > +[gitpublishprofile "default"]
> > > +base = master
> > > +to = virt-tools-list@redhat.com
> > > +prefix = virt-viewer PATCH
> > 
> > In general, I believe "PATCH virt-viewer" order is more common.
> 
> When we did this for libvirt, the exact opposite was asserted, hence
> we used "$module PATCH".  I think it does make sense to have the
> "PATCH" word next to the patch sequence numbers too. I'd like to be
> consistent with libvirt in this area in any case.

virt-manager patches which also go to this list have the same format
as I proposed here, so I've pushed this as is, for consistency between
projects

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|

___
virt-tools-list mailing list
virt-tools-list@redhat.com
https://www.redhat.com/mailman/listinfo/virt-tools-list

Re: [virt-tools-list] [virt-viewer PATCH 00/14] po: improve translation handling

2019-03-04 Thread Daniel P . Berrangé
ping...

On Wed, Feb 20, 2019 at 05:50:51PM +, Daniel P. Berrangé wrote:
> This applies the same improvements previously done in libvirt:
> 
>   https://www.redhat.com/archives/libvir-list/2018-April/msg01004.html
>   
> https://www.berrange.com/posts/2018/11/29/improved-translation-po-file-handling-by-ditching-gettext-autotools-integration/
> 
> The key problems with our current approach are:
> 
>  - The pot & po files stored in GIT contain huge set of
>annotations about source file names & line numbers.
>These are out of date as soon as a change is commited
>to git following a translation refresh. This makes
>diffs impossible to meaningfully review, as they are
>98% noise, 2% signal.
> 
>  - The po file messages are sorted by source location,
>so when we move code between files, or rename files,
>the po file message order changes for no good reason.
>This makes diffs even more impossible to review.
> 
>  - The po files contain entries for all messages even
>if most have no translation, bloating size of po/
>data stored in git
> 
>  - Whenever 'make dist' is run, it alters all the pot
>and po files, so developers need to then reset their
>content to match git HEAD manually. This is caused
>by having auto-generated content (source file locations)
>mixed in with the static content (the actual translated
>strings)
> 
> After this series, we only minimized po files in git, with
> the redundated & outdated source locations info stripped.
> This stripped info is re-added automatically during build
> to create the real .po files, that we distribute, and/or
> upload to translators in Zanata.
> 
> As a result the po directory is smaller in size, and
> when refreshing from Zanata, we have git commits that
> clearly show *only* the altered translations, nothing
> else. The importance of this cannot be overstated - by
> having these clear diffs when doing this change in libvirt,
> I discovered a serious bug in the Zanata client that has
> been screwing up translations in every project that uses
> Zanata by adding bogus "fuzzy" annotations.
> 
> The particularly attractive statistic:
> 
>  193 files changed, 11904 insertions(+), 80334 deletions(-)
> 
> Daniel P. Berrangé (14):
>   po: provide custom make rules for po file management
>   po: remove language list from zanata configuration
>   po: add rules for integration with zanata
>   po: minimize & canonicalize translations stored in git
>   po: minimize af am anp ar as ast bal be bg
>   po: minimize bn_IN bn bo br brx bs ca cs cy da
>   po: minimize de_CH de el en_GB eo es et eu fa fi
>   po: minimize fr gl gu he hi hr hu ia
>   po: minimize id ilo is it ja ka kk km kn ko
>   po: minimize kw_GB kw@kkcor kw kw@uccor ky lt lv mai mk ml
>   po: minimize mn mr ms nb nds ne nl nn nso
>   po: minimize or pa pl pt_BR pt ro ru si sk sl
>   po: minimize sq sr@latin sr sv ta te tg th tr tw
>   po: minimize uk ur vi wba yo zh_CN zh_HK zh_TW zu
> 
>  Makefile.am   |7 -
>  autogen.sh|1 -
>  build-aux/minimize-po.pl  |   37 +
>  configure.ac  |6 +-
>  data/Makefile.am  |   12 +-
>  data/remote-viewer.appdata.xml.in |   12 +-
>  data/remote-viewer.desktop.in |4 +-
>  ...iewer-mime.xml.in => virt-viewer-mime.xml} |0
>  m4/virt-nls.m4|   45 +
>  mingw-virt-viewer.spec.in |2 +-
>  po/Makefile.am|  115 ++
>  po/POTFILES   |   26 +
>  po/POTFILES.in|   27 -
>  po/README.md  |   76 ++
>  po/af.mini.po |   19 +
>  po/af.po  |  864 -
>  po/am.mini.po |   19 +
>  po/am.po  |  864 -
>  po/anp.mini.po|   19 +
>  po/anp.po |  864 -
>  po/ar.mini.po |   20 +
>  po/ar.po  |  869 -
>  po/as.mini.po |  327 +
>  po/as.po  |  884 -
>  po/ast.mini.po|   19 +
>  po/ast.po |  864 -
>  po/bal.mini.po|   19 +
>  po/bal.po |  863 -
>  po/be.mini.po |   20 +
>  po/be.po  |  866 -
>  po/bg.mini.po |  307 +
>  po/bg.po  |  881 -
>  po/bn.mini.po