[gtk-vnc] examples: wire up to handle desktop renames



commit 77f88c5e273eb100952ebcdddc9fb0587c7e97a4
Author: Daniel P. Berrangé <dan berrange com>
Date:   Fri Dec 11 16:28:41 2020 +0000

    examples: wire up to handle desktop renames
    
    Signed-off-by: Daniel P. Berrangé <berrange redhat com>

 examples/gvncviewer.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/examples/gvncviewer.c b/examples/gvncviewer.c
index 52da3eb..9c9667b 100644
--- a/examples/gvncviewer.c
+++ b/examples/gvncviewer.c
@@ -109,9 +109,9 @@ GtkAccelGroup *accel_group;
 gboolean accel_enabled = TRUE;
 GValue accel_setting;
 GSList *accel_list;
+gboolean grabbed = FALSE;
 
-static void set_title(VncDisplay *vncdisplay, GtkWidget *window,
-                      gboolean grabbed)
+static void set_title(VncDisplay *vncdisplay, GtkWidget *window)
 {
     const gchar *name = vnc_display_get_name(VNC_DISPLAY(vncdisplay));
     VncGrabSequence *seq = vnc_display_get_grab_keys(vncdisplay);
@@ -219,12 +219,14 @@ static void vnc_key_ungrab(GtkWidget *vncdisplay G_GNUC_UNUSED, GtkWidget *windo
 
 static void vnc_mouse_grab(GtkWidget *vncdisplay, GtkWidget *window)
 {
-    set_title(VNC_DISPLAY(vncdisplay), window, TRUE);
+    grabbed = TRUE;
+    set_title(VNC_DISPLAY(vncdisplay), window);
 }
 
 static void vnc_mouse_ungrab(GtkWidget *vncdisplay, GtkWidget *window)
 {
-    set_title(VNC_DISPLAY(vncdisplay), window, FALSE);
+    grabbed = FALSE;
+    set_title(VNC_DISPLAY(vncdisplay), window);
 }
 
 static void vnc_power_control_init(GtkWidget *vncdisplay G_GNUC_UNUSED, GtkWidget *power)
@@ -254,7 +256,7 @@ static void vnc_error(GtkWidget *vncdisplay G_GNUC_UNUSED,
 static void vnc_initialized(GtkWidget *vncdisplay, GtkWidget *window)
 {
     printf("Connection initialized\n");
-    set_title(VNC_DISPLAY(vncdisplay), window, FALSE);
+    set_title(VNC_DISPLAY(vncdisplay), window);
     gtk_widget_show_all(window);
 
 #ifdef HAVE_PULSEAUDIO
@@ -283,6 +285,13 @@ static void vnc_desktop_resize(GtkWidget *vncdisplay G_GNUC_UNUSED,
     printf("Remote desktop size changed to %dx%d\n", width, height);
 }
 
+static void vnc_desktop_rename(GtkWidget *vncdisplay,
+                               const char *name G_GNUC_UNUSED,
+                               GtkWidget *window)
+{
+    set_title(VNC_DISPLAY(vncdisplay), window);
+}
+
 static void vnc_disconnected(GtkWidget *vncdisplay G_GNUC_UNUSED)
 {
     if(connected)
@@ -555,7 +564,7 @@ static void do_set_grab_keys(GtkWidget *menu G_GNUC_UNUSED, GtkWidget *window)
                                     defs->keysyms);
 
         vnc_display_set_grab_keys(VNC_DISPLAY(vnc), seq);
-        set_title(VNC_DISPLAY(vnc), window, FALSE);
+        set_title(VNC_DISPLAY(vnc), window);
         vnc_grab_sequence_free(seq);
     }
     g_free(defs);
@@ -876,6 +885,8 @@ int main(int argc, char **argv)
 
     g_signal_connect(vnc, "vnc-desktop-resize",
                      G_CALLBACK(vnc_desktop_resize), NULL);
+    g_signal_connect(vnc, "vnc-desktop-rename",
+                     G_CALLBACK(vnc_desktop_rename), window);
 
     g_signal_connect(vnc, "vnc-pointer-grab",
                      G_CALLBACK(vnc_mouse_grab), window);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]