[metacity] libmetacity: properly calculate available space for buttons
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] libmetacity: properly calculate available space for buttons
- Date: Thu, 20 Jul 2017 22:22:15 +0000 (UTC)
commit 11e476ecd1c8d8d5bf8e1f369ba8765d2c42a937
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Thu Jul 20 23:29:14 2017 +0300
libmetacity: properly calculate available space for buttons
libmetacity/meta-theme-gtk.c | 14 +++++++++-----
libmetacity/meta-theme-metacity.c | 2 ++
2 files changed, 11 insertions(+), 5 deletions(-)
---
diff --git a/libmetacity/meta-theme-gtk.c b/libmetacity/meta-theme-gtk.c
index f81b08a..0012f21 100644
--- a/libmetacity/meta-theme-gtk.c
+++ b/libmetacity/meta-theme-gtk.c
@@ -341,7 +341,7 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl *impl,
int title_right_edge;
int width, height;
int scale;
- int content_width, content_height;
+ int content_height;
int button_width, button_height;
int min_size_for_rounding;
@@ -363,9 +363,6 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl *impl,
/* Scale geometry for HiDPI, see comment in meta_theme_gtk_draw_frame () */
scale = meta_theme_impl_get_scale (impl);
- content_width = width -
- borders.invisible.left - layout->gtk.frame_border.left * scale -
- borders.invisible.right - layout->gtk.frame_border.right * scale;
content_height = borders.visible.top - layout->gtk.frame_border.top * scale;
button_width = MAX ((gint) layout->gtk.icon_size, layout->gtk.button_min_size.width) +
@@ -426,6 +423,13 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl *impl,
while (n_left > 0 || n_right > 0)
{
int space_used_by_buttons;
+ int space_available;
+
+ space_available = fgeom->width -
+ borders.total.left -
+ layout->gtk.titlebar_border.left * scale -
+ layout->gtk.titlebar_border.right * scale -
+ borders.total.right;
space_used_by_buttons = 0;
@@ -441,7 +445,7 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl *impl,
space_used_by_buttons += (button_width * 0.75) * n_right_spacers;
space_used_by_buttons += layout->gtk.titlebar_spacing * scale * MAX (n_right - 1, 0);
- if (space_used_by_buttons <= content_width)
+ if (space_used_by_buttons <= space_available)
break; /* Everything fits, bail out */
/* First try to remove separators */
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index a33344c..37c604d 100644
--- a/libmetacity/meta-theme-metacity.c
+++ b/libmetacity/meta-theme-metacity.c
@@ -4974,7 +4974,9 @@ meta_theme_metacity_calc_geometry (MetaThemeImpl *impl,
int space_available;
space_available = fgeom->width -
+ borders.invisible.left -
layout->metacity.left_titlebar_edge * scale -
+ borders.invisible.right -
layout->metacity.right_titlebar_edge * scale;
space_used_by_buttons = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]