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
|
Summary: Terminal emulator for GNOME
|
||||||
Name: gnome-terminal
|
Name: gnome-terminal
|
||||||
Version: 3.21.90
|
Version: 3.21.90
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv3+ and GFDL
|
License: GPLv3+ and GFDL
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
URL: http://www.gnome.org/
|
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
|
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
|
Patch100: gnome-terminal-transparency-notify.patch
|
||||||
|
|
||||||
BuildRequires: dbus-x11
|
BuildRequires: dbus-x11
|
||||||
@ -64,6 +67,7 @@ option to the right-click context menu in Nautilus.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .warnings
|
%patch0 -p1 -b .warnings
|
||||||
|
%patch1 -p1
|
||||||
%patch100 -p1 -b .dark-transparency-notify
|
%patch100 -p1 -b .dark-transparency-notify
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -111,6 +115,9 @@ fi
|
|||||||
%{_datadir}/appdata/org.gnome.Terminal.Nautilus.metainfo.xml
|
%{_datadir}/appdata/org.gnome.Terminal.Nautilus.metainfo.xml
|
||||||
|
|
||||||
%changelog
|
%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
|
* Thu Aug 18 2016 Kalev Lember <klember@redhat.com> - 3.21.90-1
|
||||||
- Update to 3.21.90
|
- Update to 3.21.90
|
||||||
- Rebase the translations
|
- Rebase the translations
|
||||||
|
Loading…
Reference in New Issue
Block a user