X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fstrio.c;h=f01099ae096c8606f43e52ca544c269315062930;hb=2090f5576f520435b22417c3246ad2286d95a391;hp=4d410cdfbaa344c61cf772b841a506bda7ea7c7b;hpb=bae31a7df18ecafe05ec1a11b0961708bc3badd6;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/strio.c b/libchimara/strio.c index 4d410cd..f01099a 100644 --- a/libchimara/strio.c +++ b/libchimara/strio.c @@ -43,7 +43,7 @@ write_utf8_to_grid(winid_t win, gchar *s) GtkTextIter end = start; gtk_text_iter_forward_to_line_end(&end); gtk_text_buffer_delete(buffer, &start, &end); - gtk_text_buffer_insert(buffer, &start, s + (length - chars_left), available_space); + gtk_text_buffer_insert_with_tags_by_name(buffer, &start, s + (length - chars_left), available_space, win->window_stream->style, NULL); chars_left -= available_space; gtk_text_iter_forward_line(&start); available_space = win->width; @@ -53,7 +53,7 @@ write_utf8_to_grid(winid_t win, gchar *s) GtkTextIter end = start; gtk_text_iter_forward_chars(&end, chars_left); gtk_text_buffer_delete(buffer, &start, &end); - gtk_text_buffer_insert(buffer, &start, s + (length - chars_left), -1); + gtk_text_buffer_insert_with_tags_by_name(buffer, &start, s + (length - chars_left), -1, win->window_stream->style, NULL); } gtk_text_buffer_move_mark(buffer, cursor, &start); @@ -80,6 +80,10 @@ write_utf8_to_window(winid_t win, gchar *s) gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, s, -1, win->window_stream->style, NULL); gdk_threads_leave(); + + ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK)); + g_assert(glk); + g_signal_emit_by_name(glk, "text-buffer-output", win->rock, s); } /* Internal function: write a Latin-1 buffer with length to a stream. */