Fix terminal shrinkage

This commit is contained in:
Matthias Clasen 2014-05-08 13:27:58 -04:00
parent aba3445628
commit ed4226070c
3 changed files with 95 additions and 1 deletions

View File

@ -0,0 +1,31 @@
From bc8799d7d7f240887086a16e8a400e049ea64df0 Mon Sep 17 00:00:00 2001
From: "Jasper St. Pierre" <jstpierre@mecheye.net>
Date: Mon, 5 May 2014 19:06:47 -0400
Subject: [PATCH] constraints: Complete fix for size hints constrainment
---
src/core/constraints.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/core/constraints.c b/src/core/constraints.c
index df9c219..bfc7090 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -950,6 +950,14 @@ constrain_size_increments (MetaWindow *window,
if (new_height < window->size_hints.min_height)
new_height += ((window->size_hints.min_height - new_height)/hi + 1)*hi;
+ {
+ client_rect.width = new_width;
+ client_rect.height = new_height;
+ meta_window_client_rect_to_frame_rect (window, &client_rect, &client_rect);
+ new_width = client_rect.width;
+ new_height = client_rect.height;
+ }
+
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
--
1.9.0

View File

@ -0,0 +1,55 @@
From f4ef4b79f95db7b4e3071489a30cbc8f710ab4ce Mon Sep 17 00:00:00 2001
From: "Jasper St. Pierre" <jstpierre@mecheye.net>
Date: Mon, 5 May 2014 13:09:41 -0400
Subject: [PATCH] constraints: Size increments need to be applied to the client
rect
Not the frame rect.
---
src/core/constraints.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/core/constraints.c b/src/core/constraints.c
index e4e019b..df9c219 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -905,6 +905,7 @@ constrain_size_increments (MetaWindow *window,
int new_width, new_height;
gboolean constraint_already_satisfied;
MetaRectangle *start_rect;
+ MetaRectangle client_rect;
if (priority > PRIORITY_SIZE_HINTS_INCREMENTS)
return TRUE;
@@ -915,13 +916,15 @@ constrain_size_increments (MetaWindow *window,
info->action_type == ACTION_MOVE)
return TRUE;
+ meta_window_frame_rect_to_client_rect (window, &info->current, &client_rect);
+
/* Determine whether constraint is already satisfied; exit if it is */
bh = window->size_hints.base_height;
hi = window->size_hints.height_inc;
bw = window->size_hints.base_width;
wi = window->size_hints.width_inc;
- extra_height = (info->current.height - bh) % hi;
- extra_width = (info->current.width - bw) % wi;
+ extra_height = (client_rect.height - bh) % hi;
+ extra_width = (client_rect.width - bw) % wi;
/* ignore size increments for maximized windows */
if (window->maximized_horizontally)
extra_width *= 0;
@@ -935,8 +938,8 @@ constrain_size_increments (MetaWindow *window,
return constraint_already_satisfied;
/*** Enforce constraint ***/
- new_width = info->current.width - extra_width;
- new_height = info->current.height - extra_height;
+ new_width = client_rect.width - extra_width;
+ new_height = client_rect.height - extra_height;
/* Adjusting down instead of up (as done in the above two lines) may
* violate minimum size constraints; fix the adjustment if this
--
1.9.0

View File

@ -1,6 +1,6 @@
Name: mutter
Version: 3.13.1
Release: 4%{?dist}
Release: 5%{?dist}
Summary: Window and compositing manager based on Clutter
Group: User Interface/Desktops
@ -11,6 +11,9 @@ Source0: http://download.gnome.org/sources/%{name}/3.13/%{name}-%{version}
# Backported upstream fix for a Wayland session crash
Patch0: 0001-keybindings-Make-sure-not-to-call-meta_change_keygra.patch
# Fix shrinking terminals
Patch1: 0001-constraints-Size-increments-need-to-be-applied-to-th.patch
Patch2: 0001-constraints-Complete-fix-for-size-hints-constrainmen.patch
BuildRequires: clutter-devel >= 1.15.90
BuildRequires: pango-devel
@ -72,6 +75,8 @@ utilities for testing Metacity/Mutter themes.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
@ -136,6 +141,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%exclude %{_datadir}/gtk-doc
%changelog
* Thu May 8 2014 Matthias Clasen <mclasen@redhat.com> - 3.13.1-5
- Fix shrinking terminals
* Wed May 07 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.1-4
- Backport an upstream fix for a Wayland session crash