summaryrefslogtreecommitdiff
path: root/src/terminal-window.c
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2014-01-16 15:58:24 +0100
committerStefano Karapetsas <[email protected]>2014-01-16 15:58:24 +0100
commita3d9254d7354bc959ea1d134c5cb66e3622a753c (patch)
tree5e72acf8c11baa78f1606895df5ecc6af07d7bcb /src/terminal-window.c
parent8c3fa1197260efd1f3d5b4322d0197bff8014595 (diff)
downloadmate-terminal-a3d9254d7354bc959ea1d134c5cb66e3622a753c.tar.bz2
mate-terminal-a3d9254d7354bc959ea1d134c5cb66e3622a753c.tar.xz
Fix resizing with GTK3
Taken from https://git.gnome.org/browse/gnome-terminal/commit/?h=gnome-3-0&id=8e6454b0efc01cf212f338c76d5d0557575f9513 Close #36 (https://github.com/mate-desktop/mate-terminal/issues/36)
Diffstat (limited to 'src/terminal-window.c')
-rw-r--r--src/terminal-window.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/terminal-window.c b/src/terminal-window.c
index 69b953c..92436bd 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2702,17 +2702,19 @@ terminal_window_set_size_force_grid (TerminalWindow *window,
int force_grid_width,
int force_grid_height)
{
- /* Owen's hack from mate-terminal */
GtkWidget *widget;
GtkWidget *app;
+ int grid_width;
+ int grid_height;
+#if !GTK_CHECK_VERSION (3, 0, 0)
+ /* Owen's hack from gnome-terminal */
GtkRequisition toplevel_request;
GtkRequisition widget_request;
int w, h;
int char_width;
int char_height;
- int grid_width;
- int grid_height;
GtkBorder *inner_border = NULL;
+#endif
/* be sure our geometry is up-to-date */
terminal_window_update_geometry (window);
@@ -2722,6 +2724,18 @@ terminal_window_set_size_force_grid (TerminalWindow *window,
app = gtk_widget_get_toplevel (widget);
g_assert (app != NULL);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ terminal_screen_get_size (screen, &grid_width, &grid_height);
+
+ if (force_grid_width >= 0)
+ grid_width = force_grid_width;
+ if (force_grid_height >= 0)
+ grid_height = force_grid_height;
+ if (even_if_mapped && gtk_widget_get_mapped (app))
+ gtk_window_resize_to_geometry (GTK_WINDOW (app), grid_width, grid_height);
+ else
+ gtk_window_set_default_geometry (GTK_WINDOW (app), grid_width, grid_height);
+#else
gtk_widget_size_request (app, &toplevel_request);
gtk_widget_size_request (widget, &widget_request);
@@ -2761,6 +2775,7 @@ terminal_window_set_size_force_grid (TerminalWindow *window,
{
gtk_window_set_default_size (GTK_WINDOW (app), w, h);
}
+#endif
}
void