- commit
- 1cb1de73c0e84a29f76366689278b5a095138001
- parent
- 5dac7f43ca41d2862d59ed5fc98c362567255819
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2020-09-18 18:12
allow to scale fonts
Diffstat
| M | xiterm.c | 21 | +++++++++++++++++++++ |
1 files changed, 21 insertions, 0 deletions
diff --git a/xiterm.c b/xiterm.c
@@ -11,6 +11,7 @@ GtkWidget *window; 11 11 GtkNotebook *notebook; 12 12 VteRegex *url_regex; 13 13 GdkRGBA palette[16]; -1 14 double font_scale = 1; 14 15 15 16 char *cmd[2] = {"/bin/bash", NULL}; 16 17 const char *colors[16] = { @@ -22,6 +23,19 @@ gboolean match_key(GdkEventKey *event, int state, int keyval) { 22 23 return event->state == state && event->keyval == keyval; 23 24 } 24 25 -1 26 void set_font_scale(double value) { -1 27 int i, n; -1 28 GtkWidget *page; -1 29 -1 30 font_scale = value; -1 31 -1 32 n = gtk_notebook_get_n_pages(notebook); -1 33 for (i = 0; i < n; i++) { -1 34 page = gtk_notebook_get_nth_page(notebook, i); -1 35 vte_terminal_set_font_scale(VTE_TERMINAL(page), font_scale); -1 36 } -1 37 } -1 38 25 39 void update_show_tabs() { 26 40 if (gtk_notebook_get_n_pages(notebook) > 1) { 27 41 gtk_notebook_set_show_tabs(notebook, TRUE); @@ -80,6 +94,7 @@ void setup_terminal(VteTerminal *term) { 80 94 vte_terminal_match_set_cursor_name(term, tag, "pointer"); 81 95 vte_terminal_set_colors(term, &palette[15], NULL, palette, 16); 82 96 vte_terminal_set_bold_is_bright(term, TRUE); -1 97 vte_terminal_set_font_scale(term, font_scale); 83 98 84 99 g_signal_connect(term, "button-press-event", G_CALLBACK(on_term_click), NULL); 85 100 g_signal_connect(term, "child-exited", G_CALLBACK(on_term_exit), NULL); @@ -118,6 +133,12 @@ gboolean on_key(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { 118 133 } else if (match_key(event, GDK_CONTROL_MASK|GDK_SHIFT_MASK, GDK_KEY_V)) { 119 134 term = get_current_term(); 120 135 vte_terminal_paste_clipboard(term); -1 136 } else if (match_key(event, GDK_CONTROL_MASK|GDK_SHIFT_MASK, GDK_KEY_plus)) { -1 137 set_font_scale(font_scale * 1.2); -1 138 } else if (match_key(event, GDK_CONTROL_MASK, GDK_KEY_minus)) { -1 139 set_font_scale(font_scale / 1.2); -1 140 } else if (match_key(event, GDK_CONTROL_MASK, GDK_KEY_0)) { -1 141 set_font_scale(1); 121 142 } else { 122 143 return FALSE; 123 144 }