26ee820
From 203d24f1e57991340b2870b0b956922144f0152a Mon Sep 17 00:00:00 2001
26ee820
From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniojpfernandes@gmail.com>
26ee820
Date: Mon, 8 Nov 2021 18:48:47 +0000
26ee820
Subject: [PATCH] compress-dialog-controller: Fit popover fit on X11
26ee820
26ee820
Under X11, GTK3 cannot draw a GtkPopover outside of the main window area.
26ee820
26ee820
This means the popover for compress formats is clipped under X11.
26ee820
26ee820
As a workaround, make the window twice as tal when the popover is shown.
26ee820
26ee820
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2018
26ee820
---
26ee820
 src/nautilus-compress-dialog-controller.c | 15 +++++++++++++++
26ee820
 1 file changed, 15 insertions(+)
26ee820
26ee820
diff --git a/src/nautilus-compress-dialog-controller.c b/src/nautilus-compress-dialog-controller.c
26ee820
index 3f7711ccb..de83b3717 100644
26ee820
--- a/src/nautilus-compress-dialog-controller.c
26ee820
+++ b/src/nautilus-compress-dialog-controller.c
26ee820
@@ -21,6 +21,10 @@
26ee820
 #include <gnome-autoar/gnome-autoar.h>
26ee820
 #include <libhandy-1/handy.h>
26ee820
 
26ee820
+#ifdef GDK_WINDOWING_X11
26ee820
+#include <gdk/gdkx.h>
26ee820
+#endif
26ee820
+
26ee820
 #include <eel/eel-vfs-extensions.h>
26ee820
 
26ee820
 #include "nautilus-compress-dialog-controller.h"
26ee820
@@ -394,6 +398,17 @@ popover_on_show (GtkWidget *widget,
26ee820
         }
26ee820
         break;
26ee820
     }
26ee820
+
26ee820
+#ifdef GDK_WINDOWING_X11
26ee820
+    if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
26ee820
+    {
26ee820
+        int w, h;
26ee820
+
26ee820
+        /* Workaround for https://gitlab.gnome.org/GNOME/nautilus/-/issues/2018 */
26ee820
+        gtk_window_get_default_size (GTK_WINDOW (self->compress_dialog), &w, &h);
26ee820
+        gtk_window_resize (GTK_WINDOW (self->compress_dialog), w, h * 2);
26ee820
+    }
26ee820
+#endif
26ee820
 }
26ee820
 
26ee820
 NautilusCompressDialogController *
26ee820
-- 
26ee820
2.33.1
26ee820