Backport a patch to fix terminal shrinking with every line entered
This commit is contained in:
parent
be703625c9
commit
a6bece5f38
@ -0,0 +1,84 @@
|
||||
From 441aece5b5f012c04307fe6df652ffaea1eeda0a Mon Sep 17 00:00:00 2001
|
||||
From: Christian Persch <chpe@gnome.org>
|
||||
Date: Wed, 17 Aug 2016 08:20:19 +0200
|
||||
Subject: [PATCH] Revert "window: Fix CSD size calculations with long titles"
|
||||
|
||||
This reverts commit 40d9d5b78067caa6a28e83e32b87c0b51d14c091.
|
||||
|
||||
The commit introduced a regression on non-CSD, see
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=769898#c5
|
||||
---
|
||||
src/terminal-window.c | 34 ++++++++++++----------------------
|
||||
1 file changed, 12 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/src/terminal-window.c b/src/terminal-window.c
|
||||
index b86e76f..46676a5 100644
|
||||
--- a/src/terminal-window.c
|
||||
+++ b/src/terminal-window.c
|
||||
@@ -3615,11 +3615,11 @@ terminal_window_update_geometry (TerminalWindow *window)
|
||||
GtkWidget *widget;
|
||||
GdkGeometry hints;
|
||||
GtkBorder padding;
|
||||
- GtkRequisition vbox_request, widget_request;
|
||||
+ GtkRequisition toplevel_request, vbox_request, widget_request;
|
||||
int grid_width, grid_height;
|
||||
int char_width, char_height;
|
||||
int chrome_width, chrome_height;
|
||||
- int csd_width = 0, csd_height = 0;
|
||||
+ int csd_width, csd_height;
|
||||
|
||||
if (priv->active_screen == NULL)
|
||||
return;
|
||||
@@ -3650,30 +3650,20 @@ terminal_window_update_geometry (TerminalWindow *window)
|
||||
_terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "content area requests %dx%d px\n",
|
||||
vbox_request.width, vbox_request.height);
|
||||
|
||||
+ gtk_widget_get_preferred_size (GTK_WIDGET (window), NULL, &toplevel_request);
|
||||
+ _terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "window requests %dx%d px\n",
|
||||
+ toplevel_request.width, toplevel_request.height);
|
||||
|
||||
chrome_width = vbox_request.width - (char_width * grid_width);
|
||||
chrome_height = vbox_request.height - (char_height * grid_height);
|
||||
_terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "chrome: %dx%d px\n",
|
||||
chrome_width, chrome_height);
|
||||
|
||||
- if (priv->realized)
|
||||
- {
|
||||
- /* Only when having been realize the CSD can be calculated. Do this by
|
||||
- * using the actual allocation rather then the preferred size as the
|
||||
- * the preferred size takes the natural size of e.g. the title bar into
|
||||
- * account which can be far wider then the contents size when using a
|
||||
- * very long title */
|
||||
- GtkAllocation toplevel_allocation;
|
||||
-
|
||||
- gtk_widget_get_allocation (GTK_WIDGET (window), &toplevel_allocation);
|
||||
- _terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "window allocation %dx%d px\n",
|
||||
- toplevel_allocation.width, toplevel_allocation.height);
|
||||
-
|
||||
- csd_width = toplevel_allocation.width - vbox_request.width;
|
||||
- csd_height = toplevel_allocation.height - vbox_request.height;
|
||||
- _terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "CSDs: %dx%d px\n",
|
||||
- csd_width, csd_height);
|
||||
- }
|
||||
+ csd_width = toplevel_request.width - vbox_request.width;
|
||||
+ csd_height = toplevel_request.height - vbox_request.height;
|
||||
+ _terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "CSDs: %dx%d px%s\n",
|
||||
+ csd_width, csd_height,
|
||||
+ priv->realized ? "" : " (just a guess)");
|
||||
|
||||
gtk_widget_get_preferred_size (widget, NULL, &widget_request);
|
||||
_terminal_debug_print (TERMINAL_DEBUG_GEOMETRY, "terminal widget requests %dx%d px\n",
|
||||
@@ -3682,8 +3672,8 @@ terminal_window_update_geometry (TerminalWindow *window)
|
||||
if (!priv->realized)
|
||||
{
|
||||
/* Don't actually set the geometry hints until we have been realized,
|
||||
- * because we don't know how large the client-side decorations are going
|
||||
- * to be. We also avoid setting priv->old_csd_width or
|
||||
+ * because we don't know precisely how large the client-side decorations
|
||||
+ * are going to be. We also avoid setting priv->old_csd_width or
|
||||
* priv->old_csd_height, so that next time through this function we'll
|
||||
* definitely recalculate the hints.
|
||||
*
|
||||
--
|
||||
2.7.4
|
||||
|
@ -8,7 +8,7 @@
|
||||
Summary: Terminal emulator for GNOME
|
||||
Name: gnome-terminal
|
||||
Version: 3.21.90
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv3+ and GFDL
|
||||
Group: User Interface/Desktops
|
||||
URL: http://www.gnome.org/
|
||||
@ -18,6 +18,9 @@ Source1: org.gnome.Terminal.gschema.override
|
||||
|
||||
Patch0: 0001-build-Don-t-treat-warnings-as-errors.patch
|
||||
|
||||
# Backported from upstream
|
||||
Patch1: 0001-Revert-window-Fix-CSD-size-calculations-with-long-ti.patch
|
||||
|
||||
Patch100: gnome-terminal-transparency-notify.patch
|
||||
|
||||
BuildRequires: dbus-x11
|
||||
@ -64,6 +67,7 @@ option to the right-click context menu in Nautilus.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .warnings
|
||||
%patch1 -p1
|
||||
%patch100 -p1 -b .dark-transparency-notify
|
||||
|
||||
%build
|
||||
@ -111,6 +115,9 @@ fi
|
||||
%{_datadir}/appdata/org.gnome.Terminal.Nautilus.metainfo.xml
|
||||
|
||||
%changelog
|
||||
* Fri Aug 19 2016 Kalev Lember <klember@redhat.com> - 3.21.90-2
|
||||
- Backport a patch to fix terminal shrinking with every line entered
|
||||
|
||||
* Thu Aug 18 2016 Kalev Lember <klember@redhat.com> - 3.21.90-1
|
||||
- Update to 3.21.90
|
||||
- Rebase the translations
|
||||
|
Loading…
Reference in New Issue
Block a user