[gnome-software/gnome-3-32] Use smaller default size for main window on 1300x700 resolution



commit ea0448c026371bee2d509639c19dfe17f679ef85
Author: Richard Hughes <richard hughsie com>
Date:   Fri Jul 12 11:32:47 2019 +0100

    Use smaller default size for main window on 1300x700 resolution
    
    Based on a patch by Tomasz Gąsior, many thanks.

 lib/gs-utils.c | 26 --------------------------
 lib/gs-utils.h |  1 -
 src/gs-shell.c | 14 ++++++++++++--
 3 files changed, 12 insertions(+), 29 deletions(-)
---
diff --git a/lib/gs-utils.c b/lib/gs-utils.c
index d4f95059..f063872f 100644
--- a/lib/gs-utils.c
+++ b/lib/gs-utils.c
@@ -41,9 +41,6 @@
 #include "gs-utils.h"
 #include "gs-plugin.h"
 
-#define LOW_RESOLUTION_WIDTH  800
-#define LOW_RESOLUTION_HEIGHT 600
-
 #define MB_IN_BYTES (1024 * 1024)
 
 /**
@@ -1084,29 +1081,6 @@ gs_utils_append_key_value (GString *str, gsize align_len,
        g_string_append (str, "\n");
 }
 
-/**
- * gs_utils_is_low_resolution:
- * @toplevel: widget on monitor to check
- *
- * Retrieves whether the primary monitor has a low resolution.
- *
- * Returns: %TRUE if the monitor has low resolution
- **/
-gboolean
-gs_utils_is_low_resolution (GtkWidget *toplevel)
-{
-       GdkRectangle geometry;
-       GdkDisplay *display;
-       GdkMonitor *monitor;
-
-       display = gtk_widget_get_display (toplevel);
-       monitor = gdk_display_get_monitor_at_window (display, gtk_widget_get_window (toplevel));
-
-       gdk_monitor_get_geometry (monitor, &geometry);
-
-       return geometry.width < LOW_RESOLUTION_WIDTH || geometry.height < LOW_RESOLUTION_HEIGHT;
-}
-
 guint
 gs_utils_get_memory_total (void)
 {
diff --git a/lib/gs-utils.h b/lib/gs-utils.h
index 9dd11e57..824e6b67 100644
--- a/lib/gs-utils.h
+++ b/lib/gs-utils.h
@@ -74,7 +74,6 @@ gboolean       gs_utils_error_convert_gdbus   (GError         **perror);
 gboolean        gs_utils_error_convert_gdk_pixbuf(GError       **perror);
 gboolean        gs_utils_error_convert_json_glib (GError       **perror);
 gboolean        gs_utils_error_convert_appstream (GError       **perror);
-gboolean        gs_utils_is_low_resolution       (GtkWidget     *toplevel);
 
 gchar          *gs_utils_get_url_scheme        (const gchar    *url);
 gchar          *gs_utils_get_url_path          (const gchar    *url);
diff --git a/src/gs-shell.c b/src/gs-shell.c
index 029aa49c..f4f69132 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -828,9 +828,17 @@ gs_shell_main_window_realized_cb (GtkWidget *widget, GsShell *shell)
 {
 
        GsShellPrivate *priv = gs_shell_get_instance_private (shell);
+       GdkRectangle geometry;
+       GdkDisplay *display;
+       GdkMonitor *monitor;
 
-       /* adapt the window for low resolution screens */
-       if (gs_utils_is_low_resolution (GTK_WIDGET (priv->main_window))) {
+       display = gtk_widget_get_display (GTK_WIDGET (priv->main_window));
+       monitor = gdk_display_get_monitor_at_window (display,
+                                                    gtk_widget_get_window (GTK_WIDGET (priv->main_window)));
+
+       /* adapt the window for low and medium resolution screens */
+       gdk_monitor_get_geometry (monitor, &geometry);
+       if (geometry.width < 800 || geometry.height < 600) {
                    GtkWidget *buttonbox = GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"buttonbox_main"));
 
                    gtk_container_child_set (GTK_CONTAINER (buttonbox),
@@ -845,6 +853,8 @@ gs_shell_main_window_realized_cb (GtkWidget *widget, GsShell *shell)
                                             GTK_WIDGET (gtk_builder_get_object (priv->builder, 
"button_updates")),
                                             "non-homogeneous", TRUE,
                                             NULL);
+       } else if (geometry.width < 1366 || geometry.height < 768) {
+               gtk_window_set_default_size (priv->main_window, 1050, 600);
        }
 }
 


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