[gnome-terminal/gnome-3-20] Revert "window: Fix CSD size calculations with long titles"
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal/gnome-3-20] Revert "window: Fix CSD size calculations with long titles"
- Date: Mon, 12 Sep 2016 19:30:36 +0000 (UTC)
commit 8a4fb1be48377dbca8696d8dd7b371104e82424d
Author: Christian Persch <chpe src gnome org>
Date: Mon Sep 12 21:30:10 2016 +0200
Revert "window: Fix CSD size calculations with long titles"
This reverts commit 8edc4ce3b0c45bcd289fe597f5c9bca682febbae.
Wrong commit.
src/terminal-window.c | 34 ++++++++++++----------------------
1 files changed, 12 insertions(+), 22 deletions(-)
---
diff --git a/src/terminal-window.c b/src/terminal-window.c
index dfe4742..82b1b10 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -3631,11 +3631,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;
@@ -3666,30 +3666,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",
@@ -3698,8 +3688,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.
*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]