From d02fcc5c27e142f7d232d5239105e87e9fe27e6e Mon Sep 17 00:00:00 2001 From: lukefromdc Date: Tue, 20 Mar 2018 22:02:48 -0400 Subject: hidpi: fix tray icon spacing with window-scaling > 1 --- applets/notification_area/system-tray/na-tray-child.c | 10 ++++++++++ applets/notification_area/system-tray/na-tray.c | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/applets/notification_area/system-tray/na-tray-child.c b/applets/notification_area/system-tray/na-tray-child.c index 46e6e412..47a45e90 100644 --- a/applets/notification_area/system-tray/na-tray-child.c +++ b/applets/notification_area/system-tray/na-tray-child.c @@ -120,6 +120,8 @@ na_tray_child_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width) { + gint scale; + scale = gtk_widget_get_scale_factor (widget); GTK_WIDGET_CLASS (na_tray_child_parent_class)->get_preferred_width (widget, minimal_width, natural_width); @@ -129,6 +131,9 @@ na_tray_child_get_preferred_width (GtkWidget *widget, if (*natural_width < 16) *natural_width = 16; + + *minimal_width = *minimal_width / scale; + *natural_width = *natural_width / scale; } static void @@ -136,6 +141,8 @@ na_tray_child_get_preferred_height (GtkWidget *widget, gint *minimal_height, gint *natural_height) { + gint scale; + scale = gtk_widget_get_scale_factor (widget); GTK_WIDGET_CLASS (na_tray_child_parent_class)->get_preferred_height (widget, minimal_height, natural_height); @@ -145,6 +152,9 @@ na_tray_child_get_preferred_height (GtkWidget *widget, if (*natural_height < 16) *natural_height = 16; + + *minimal_height = *minimal_height / scale; + *natural_height = *natural_height / scale; } static void diff --git a/applets/notification_area/system-tray/na-tray.c b/applets/notification_area/system-tray/na-tray.c index 94fe6911..621d534d 100644 --- a/applets/notification_area/system-tray/na-tray.c +++ b/applets/notification_area/system-tray/na-tray.c @@ -127,7 +127,8 @@ tray_added (NaTrayManager *manager, na_host_emit_item_added (NA_HOST (tray), NA_ITEM (icon)); - gtk_widget_show (GTK_WIDGET (icon)); + /*Does not seem to be needed anymore and can cause a render issue with hidpi*/ + /*gtk_widget_show (GTK_WIDGET (icon));*/ } static void -- cgit v1.2.1