diff --git a/README.rst b/README.rst index c04b3b9..4662bf9 100644 --- a/README.rst +++ b/README.rst @@ -113,6 +113,10 @@ COMMAND MODE +------------------------+-----------------------------------------------------------+ | ``N`` | previous search match | +------------------------+-----------------------------------------------------------+ +| ``+`` | increase font size | ++------------------------+-----------------------------------------------------------+ +| ``-`` | decrease font size | ++------------------------+-----------------------------------------------------------+ During scrollback search, the current selection is changed to the search match and copied to the PRIMARY clipboard buffer. diff --git a/termite.cc b/termite.cc index cf02bfd..2b5e2bf 100644 --- a/termite.cc +++ b/termite.cc @@ -530,6 +530,22 @@ void window_title_cb(VteTerminal *vte, gboolean *dynamic_title) { title ? title : "termite"); } +static void update_font_size(VteTerminal *vte, int update) { + const PangoFontDescription *vte_desc = vte_terminal_get_font(vte); + PangoFontDescription *font_desc = pango_font_description_copy(vte_desc); + + bool abs = pango_font_description_get_size_is_absolute(font_desc); + int size = pango_font_description_get_size(font_desc); + + if (!abs) + update *= PANGO_SCALE; + size += update; + + pango_font_description_set_size(font_desc, size); + vte_terminal_set_font(vte, font_desc); + pango_font_description_free(font_desc); +} + gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info) { const guint modifiers = event->state & gtk_accelerator_get_default_mod_mask(); if (info->select.mode != vi_mode::insert) { @@ -655,6 +671,12 @@ gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info) gtk_widget_show(info->panel.da); overlay_show(&info->panel, overlay_mode::urlselect, false); break; + case GDK_KEY_plus: + update_font_size(vte, 1); + break; + case GDK_KEY_minus: + update_font_size(vte, -1); + break; } return TRUE; } diff --git a/util b/util index 2a1bade..d7ca0bd 160000 --- a/util +++ b/util @@ -1 +1 @@ -Subproject commit 2a1badeeec68c0cd22ec111cfd376883100e6f43 +Subproject commit d7ca0bd7dbe371e86fcd53bbce157d9454ce1574