summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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