[mate-panel] 03/04: debian/patches: Drop 0000_hidpi.patch. Applied upstream.
Martin Wimpress
flexiondotorg-guest at moszumanska.debian.org
Fri Jan 26 23:21:34 UTC 2018
This is an automated email from the git hooks/post-receive script.
flexiondotorg-guest pushed a commit to branch ubuntu/bionic
in repository mate-panel.
commit a0055ff3bdb2bef2a788c780070a6b58ef337be2
Author: Martin Wimpress <martin.wimpress at ubuntu.com>
Date: Fri Jan 26 16:28:28 2018 +0000
debian/patches: Drop 0000_hidpi.patch. Applied upstream.
---
debian/patches/0000_hidpi.patch | 268 ----------------------------------------
debian/patches/series | 1 -
2 files changed, 269 deletions(-)
diff --git a/debian/patches/0000_hidpi.patch b/debian/patches/0000_hidpi.patch
deleted file mode 100644
index 6cc22c5..0000000
--- a/debian/patches/0000_hidpi.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-diff --git a/mate-panel/main.c b/mate-panel/main.c
-index 06fdc2f4..4289c158 100644
---- a/mate-panel/main.c
-+++ b/mate-panel/main.c
-@@ -85,9 +85,6 @@ main (int argc, char **argv)
-
- gtk_init (&argc, &argv);
-
-- /* FIXME: High dpi scaling does not work... */
-- gdk_x11_display_set_window_scale (gdk_display_get_default (), 1);
--
- error = NULL;
- if (!g_option_context_parse (context, &argc, &argv, &error)) {
- g_printerr ("%s\n", error->message);
-diff --git a/mate-panel/panel-run-dialog.c b/mate-panel/panel-run-dialog.c
-index e00d0c51..a696138e 100644
---- a/mate-panel/panel-run-dialog.c
-+++ b/mate-panel/panel-run-dialog.c
-@@ -1695,6 +1695,7 @@ panel_run_dialog_setup_entry (PanelRunDialog *dialog,
- GdkScreen *screen;
- int width_request;
- GtkWidget *entry;
-+ gint scale;
-
- dialog->combobox = PANEL_GTK_BUILDER_GET (gui, "comboboxentry");
-
-@@ -1707,9 +1708,10 @@ panel_run_dialog_setup_entry (PanelRunDialog *dialog,
- (GTK_COMBO_BOX (dialog->combobox), 0);
-
- screen = gtk_window_get_screen (GTK_WINDOW (dialog->run_dialog));
-+ scale = gtk_widget_get_scale_factor (GTK_WINDOW (dialog->run_dialog));
-
- /* 1/4 the width of the first monitor should be a good value */
-- width_request = panel_multiscreen_width (screen, 0) / 4;
-+ width_request = panel_multiscreen_width (screen, 0) / (4 * scale);
- g_object_set (G_OBJECT (dialog->combobox),
- "width_request", width_request,
- NULL);
-diff --git a/mate-panel/panel-struts.c b/mate-panel/panel-struts.c
-index 644dafb0..d59587e5 100644
---- a/mate-panel/panel-struts.c
-+++ b/mate-panel/panel-struts.c
-@@ -404,7 +404,8 @@ panel_struts_register_strut (PanelToplevel *toplevel,
- PanelOrientation orientation,
- int strut_size,
- int strut_start,
-- int strut_end)
-+ int strut_end,
-+ gint scale)
- {
- PanelStrut *strut;
- gboolean new_strut = FALSE;
-@@ -440,24 +441,24 @@ panel_struts_register_strut (PanelToplevel *toplevel,
- strut->geometry.x = strut->strut_start;
- strut->geometry.y = monitor_y;
- strut->geometry.width = strut->strut_end - strut->strut_start + 1;
-- strut->geometry.height = strut->strut_size;
-+ strut->geometry.height = strut->strut_size / scale;
- break;
- case PANEL_ORIENTATION_BOTTOM:
- strut->geometry.x = strut->strut_start;
- strut->geometry.y = monitor_y + monitor_height - strut->strut_size;
- strut->geometry.width = strut->strut_end - strut->strut_start + 1;
-- strut->geometry.height = strut->strut_size;
-+ strut->geometry.height = strut->strut_size / scale;
- break;
- case PANEL_ORIENTATION_LEFT:
- strut->geometry.x = monitor_x;
- strut->geometry.y = strut->strut_start;
-- strut->geometry.width = strut->strut_size;
-+ strut->geometry.width = strut->strut_size / scale;
- strut->geometry.height = strut->strut_end - strut->strut_start + 1;
- break;
- case PANEL_ORIENTATION_RIGHT:
- strut->geometry.x = monitor_x + monitor_width - strut->strut_size;
- strut->geometry.y = strut->strut_start;
-- strut->geometry.width = strut->strut_size;
-+ strut->geometry.width = strut->strut_size / scale;
- strut->geometry.height = strut->strut_end - strut->strut_start + 1;
- break;
- }
-diff --git a/mate-panel/panel-struts.h b/mate-panel/panel-struts.h
-index b96b93e6..e7d8185f 100644
---- a/mate-panel/panel-struts.h
-+++ b/mate-panel/panel-struts.h
-@@ -36,7 +36,8 @@ gboolean panel_struts_register_strut (PanelToplevel *toplevel,
- PanelOrientation orientation,
- int strut_size,
- int strut_start,
-- int strut_end);
-+ int strut_end,
-+ gint scale);
-
- void panel_struts_unregister_strut (PanelToplevel *toplevel);
-
-diff --git a/mate-panel/panel-toplevel.c b/mate-panel/panel-toplevel.c
-index 7aa61e42..26416e72 100644
---- a/mate-panel/panel-toplevel.c
-+++ b/mate-panel/panel-toplevel.c
-@@ -83,6 +83,7 @@ struct _PanelToplevelPrivate {
- gboolean expand;
- PanelOrientation orientation;
- int size;
-+ gint scale;
-
- /* relative to the monitor origin */
- int x;
-@@ -284,8 +285,15 @@ static GdkScreen* panel_toplevel_get_screen_geometry(PanelToplevel* toplevel, in
-
- screen = gtk_window_get_screen(GTK_WINDOW(toplevel));
-
-- *width = WidthOfScreen (gdk_x11_screen_get_xscreen (screen));
-- *height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen));
-+ /* To scale the panels up for HiDPI displays, we can either multiply a lot of
-+ * toplevel geometry attributes by the scale factor, then correct for all
-+ * sorts of awful misalignments and pretend it's all good. Or we can just
-+ * make this thing think that the screen is scaled down, and because GTK+
-+ * already scaled everything up without the panel knowing about it, the whole
-+ * thing somehow works well... sigh.
-+ * @see panel_toplevel_get_monitor_geometry() */
-+ *width = WidthOfScreen (gdk_x11_screen_get_xscreen (screen)) / toplevel->priv->scale;
-+ *height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen)) / toplevel->priv->scale;
-
- return screen;
- }
-@@ -299,17 +307,26 @@ static GdkScreen* panel_toplevel_get_monitor_geometry(PanelToplevel* toplevel, i
-
- screen = gtk_window_get_screen(GTK_WINDOW(toplevel));
-
-+ /* FIXME: When using a scale factor > 1, i suspect that these coordinates will probably break
-+ * something on multi-monitor displays. */
- if (x) *x = panel_multiscreen_x(screen, toplevel->priv->monitor);
- if (y) *y = panel_multiscreen_y(screen, toplevel->priv->monitor);
-
-+ /* To scale the panels up for HiDPI displays, we can either multiply a lot of
-+ * toplevel geometry attributes by the scale factor, then correct for all
-+ * sorts of awful misalignments and pretend it's all good. Or we can just
-+ * make this thing think that the screen is scaled down, and because GTK+
-+ * already scaled everything up without the panel knowing about it, the whole
-+ * thing somehow works well... sigh.
-+ * @see panel_toplevel_get_screen_geometry() */
- if (width)
- {
-- *width = panel_multiscreen_width(screen, toplevel->priv->monitor);
-+ *width = panel_multiscreen_width(screen, toplevel->priv->monitor) / toplevel->priv->scale;
- }
-
- if (height)
- {
-- *height = panel_multiscreen_height(screen, toplevel->priv->monitor);
-+ *height = panel_multiscreen_height(screen, toplevel->priv->monitor) / toplevel->priv->scale;
- }
-
- return screen;
-@@ -1504,6 +1521,10 @@ static gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean e
- }
- }
-
-+ /* Adjust strut size based on scale factor */
-+ if (strut > 0)
-+ strut += toplevel->priv->size * (toplevel->priv->scale - 1);
-+
- if (orientation != toplevel->priv->orientation) {
- toplevel->priv->orientation = orientation;
- g_object_notify (G_OBJECT (toplevel), "orientation");
-@@ -1519,7 +1540,8 @@ static gboolean panel_toplevel_update_struts(PanelToplevel* toplevel, gboolean e
- orientation,
- strut,
- strut_start,
-- strut_end);
-+ strut_end,
-+ toplevel->priv->scale);
- else
- panel_struts_unregister_strut (toplevel);
-
-@@ -2336,7 +2358,8 @@ panel_toplevel_update_size_from_hints (PanelToplevel *toplevel,
- int total_size;
- int full_hints;
-
-- total_size = non_panel_widget_size + requisition_size;
-+ /* Scale down the size so that the panel only takes what it needs for the applets it has. */
-+ total_size = non_panel_widget_size + (requisition_size / toplevel->priv->scale);
-
- nb_size_hints = toplevel->priv->panel_widget->nb_applets_size_hints;
- if (nb_size_hints <= 0)
-@@ -4317,7 +4340,7 @@ panel_toplevel_class_init (PanelToplevelClass *klass)
- widget_class->button_press_event = panel_toplevel_button_press_event;
- widget_class->button_release_event = panel_toplevel_button_release_event;
- #if GTK_CHECK_VERSION (3, 18, 0)
-- widget_class->configure_event = panel_toplevel_configure_event;
-+ widget_class->configure_event = panel_toplevel_configure_event;
- #endif
- widget_class->key_press_event = panel_toplevel_key_press_event;
- widget_class->motion_notify_event = panel_toplevel_motion_notify_event;
-@@ -4752,6 +4775,7 @@ panel_toplevel_init (PanelToplevel *toplevel)
- toplevel->priv->expand = TRUE;
- toplevel->priv->orientation = PANEL_ORIENTATION_BOTTOM;
- toplevel->priv->size = DEFAULT_SIZE;
-+ toplevel->priv->scale = gtk_widget_get_scale_factor (GTK_WIDGET (toplevel));
- toplevel->priv->x = 0;
- toplevel->priv->y = 0;
- toplevel->priv->x_right = -1;
-@@ -4826,6 +4850,7 @@ panel_toplevel_init (PanelToplevel *toplevel)
- toplevel->priv->attach_hidden = FALSE;
- toplevel->priv->updated_geometry_initial = FALSE;
- toplevel->priv->initial_animation_done = FALSE;
-+
- #if GTK_CHECK_VERSION (3, 18, 0)
- widget = GTK_WIDGET (toplevel);
- gtk_widget_add_events (widget,
-diff --git a/mate-panel/panel-widget.c b/mate-panel/panel-widget.c
-index cedcbb21..ce9d88b0 100644
---- a/mate-panel/panel-widget.c
-+++ b/mate-panel/panel-widget.c
-@@ -1214,6 +1214,7 @@ panel_widget_get_preferred_size(GtkWidget *widget,
- GList *list;
- GList *ad_with_hints;
- gboolean dont_fill;
-+ gint scale;
-
- g_return_if_fail(PANEL_IS_WIDGET(widget));
- g_return_if_fail(minimum_size != NULL);
-@@ -1231,6 +1232,7 @@ panel_widget_get_preferred_size(GtkWidget *widget,
- natural_size->height = minimum_size->height;
-
- ad_with_hints = NULL;
-+ scale = gtk_widget_get_scale_factor(widget);
-
- for (list = panel->applet_list; list!=NULL; list = g_list_next(list)) {
- AppletData *ad = list->data;
-@@ -1254,8 +1256,10 @@ panel_widget_get_preferred_size(GtkWidget *widget,
-
- else if (panel->packed)
- {
-- minimum_size->width += child_min_size.width;
-- natural_size->width += child_natural_size.width;
-+ /* Just because everything is bigger when scaled up doesn't mean
-+ * that the applets need any less room when the panel is packed. */
-+ minimum_size->width += child_min_size.width * scale;
-+ natural_size->width += child_natural_size.width * scale;
- }
- } else {
- if (minimum_size->width < child_min_size.width &&
-@@ -1271,8 +1275,10 @@ panel_widget_get_preferred_size(GtkWidget *widget,
-
- else if (panel->packed)
- {
-- minimum_size->height += child_min_size.height;
-- natural_size->height += child_natural_size.height;
-+ /* Just because everything is bigger when scaled up doesn't mean
-+ * that the applets need any less room when the panel is packed. */
-+ minimum_size->height += child_min_size.height * scale;
-+ natural_size->height += child_natural_size.height * scale;
- }
- }
- }
-@@ -1409,9 +1415,9 @@ panel_widget_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
- gtk_widget_set_allocation (widget, allocation);
- if (gtk_widget_get_realized (widget))
- gdk_window_move_resize (gtk_widget_get_window (widget),
-- allocation->x,
-+ allocation->x,
- allocation->y,
-- allocation->width,
-+ allocation->width,
- allocation->height);
-
- if(panel->orient == GTK_ORIENTATION_HORIZONTAL)
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 8f7d3a1..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-0000_hidpi.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mate/mate-panel.git
More information about the pkg-mate-commits
mailing list