static void termit_search_prepare_regex(const gchar* searchRegex) { gint page = gtk_notebook_get_current_page(GTK_NOTEBOOK(termit.notebook)); TERMIT_GET_TAB_BY_INDEX(pTab, page); if (strlen(searchRegex) == 0) { vte_terminal_search_set_gregex(VTE_TERMINAL(pTab->vte), NULL); } else { GRegex* currSearchRegex = vte_terminal_search_get_gregex(VTE_TERMINAL(pTab->vte)); if (!currSearchRegex || strcmp(searchRegex, g_regex_get_pattern(currSearchRegex)) != 0) { GError* err = NULL; GRegex* regex = g_regex_new(searchRegex, 0, 0, &err); if (err) { TRACE("failed to compile regex [%s]: skipping", searchRegex); return; } vte_terminal_search_set_gregex(VTE_TERMINAL(pTab->vte), regex); } } }
static void vte_config(VteTerminal* vte) { GRegex* regex = g_regex_new(url_regex, G_REGEX_CASELESS, G_REGEX_MATCH_NOTEMPTY, NULL); vte_terminal_search_set_gregex(vte, regex, G_REGEX_MATCH_NOTEMPTY); vte_terminal_search_set_wrap_around (vte, TINYTERM_SEARCH_WRAP_AROUND); vte_terminal_set_audible_bell (vte, TINYTERM_AUDIBLE_BELL); vte_terminal_set_cursor_shape (vte, TINYTERM_CURSOR_SHAPE); vte_terminal_set_cursor_blink_mode (vte, TINYTERM_CURSOR_BLINK); vte_terminal_set_word_char_exceptions (vte, TINYTERM_WORD_CHARS); vte_terminal_set_scrollback_lines (vte, TINYTERM_SCROLLBACK_LINES); PangoFontDescription *font = pango_font_description_from_string(TINYTERM_FONT); vte_terminal_set_font(vte, font); GdkRGBA color_fg, color_bg; GdkRGBA color_palette[16]; gdk_rgba_parse(&color_fg, TINYTERM_COLOR_FOREGROUND); gdk_rgba_parse(&color_bg, TINYTERM_COLOR_BACKGROUND); gdk_rgba_parse(&color_palette[0], TINYTERM_COLOR00); gdk_rgba_parse(&color_palette[1], TINYTERM_COLOR01); gdk_rgba_parse(&color_palette[2], TINYTERM_COLOR02); gdk_rgba_parse(&color_palette[3], TINYTERM_COLOR03); gdk_rgba_parse(&color_palette[4], TINYTERM_COLOR04); gdk_rgba_parse(&color_palette[5], TINYTERM_COLOR05); gdk_rgba_parse(&color_palette[6], TINYTERM_COLOR06); gdk_rgba_parse(&color_palette[7], TINYTERM_COLOR07); gdk_rgba_parse(&color_palette[8], TINYTERM_COLOR08); gdk_rgba_parse(&color_palette[9], TINYTERM_COLOR09); gdk_rgba_parse(&color_palette[10], TINYTERM_COLOR0A); gdk_rgba_parse(&color_palette[11], TINYTERM_COLOR0B); gdk_rgba_parse(&color_palette[12], TINYTERM_COLOR0C); gdk_rgba_parse(&color_palette[13], TINYTERM_COLOR0D); gdk_rgba_parse(&color_palette[14], TINYTERM_COLOR0E); gdk_rgba_parse(&color_palette[15], TINYTERM_COLOR0F); vte_terminal_set_colors(vte, &color_fg, &color_bg, &color_palette, 16); }