aboutsummaryrefslogtreecommitdiffstats
path: root/gterm.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-06-07 07:23:37 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-07 07:23:37 +0200
commit1ae74ab36be8fda0e408062303a36d574d728a8e (patch)
tree08b1548da476506d356f693e042b79ee497fd497 /gterm.c
parent117d4d4c54a5974b7b0fe6e23cb5013515163dce (diff)
downloadgterm-1ae74ab36be8fda0e408062303a36d574d728a8e.tar.gz
resize window on font size changes
Diffstat (limited to 'gterm.c')
-rw-r--r--gterm.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/gterm.c b/gterm.c
index c691402..2ef3f23 100644
--- a/gterm.c
+++ b/gterm.c
@@ -392,14 +392,23 @@ static void gterm_menu_font(GtkCheckMenuItem *item,
PangoFontDescription *font;
gboolean state;
const char *name;
+ GtkRequisition min, nat;
state = gtk_check_menu_item_get_active(item);
- if (state) {
- name = gtk_menu_item_get_label(GTK_MENU_ITEM(item));
- font = pango_font_description_from_string(name);
- vte_terminal_set_font(VTE_TERMINAL(gt->terminal), font);
- gterm_vte_geometry_hints(gt);
- }
+ if (!state)
+ return;
+
+ name = gtk_menu_item_get_label(GTK_MENU_ITEM(item));
+ font = pango_font_description_from_string(name);
+ vte_terminal_set_font(VTE_TERMINAL(gt->terminal), font);
+ gterm_vte_geometry_hints(gt);
+
+ /*
+ * Force window resize. Not sure why this is needed, shouldn't
+ * the window automatically respond to terminal size requests?
+ */
+ gtk_widget_get_preferred_size(GTK_WIDGET(gt->terminal), &min, &nat);
+ gtk_window_resize(GTK_WINDOW(gt->window), nat.width, nat.height);
}
static void gterm_menu_reset(GtkMenuItem *item,