-/*
- * Draw the window containing the info text
- *
- */
-static int sig_draw_window(xcb_window_t win, int width, int height, int font_height, i3String **crash_text_i3strings) {
- /* re-draw the background */
- xcb_rectangle_t border = {0, 0, width, height},
- inner = {2, 2, width - 4, height - 4};
- xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]){get_colorpixel("#FF0000")});
- xcb_poly_fill_rectangle(conn, pixmap, pixmap_gc, 1, &border);
- xcb_change_gc(conn, pixmap_gc, XCB_GC_FOREGROUND, (uint32_t[]){get_colorpixel("#000000")});
- xcb_poly_fill_rectangle(conn, pixmap, pixmap_gc, 1, &inner);
-
- /* restore font color */
- set_font_colors(pixmap_gc, draw_util_hex_to_color("#FFFFFF"), draw_util_hex_to_color("#000000"));
-
- char *bt_colour = "#FFFFFF";
- if (backtrace_done < 0)
- bt_colour = "#AA0000";
- else if (backtrace_done > 0)
- bt_colour = "#00AA00";
-
- for (int i = 0; crash_text_i3strings[i] != NULL; ++i) {
- /* fix the colour for the backtrace line when it finished */
- if (i == backtrace_string_index)
- set_font_colors(pixmap_gc, draw_util_hex_to_color(bt_colour), draw_util_hex_to_color("#000000"));
-
- draw_text(crash_text_i3strings[i], pixmap, pixmap_gc, NULL,
- 8, 5 + i * font_height, width - 16);
-
- /* and reset the colour again for other lines */
- if (i == backtrace_string_index)
- set_font_colors(pixmap_gc, draw_util_hex_to_color("#FFFFFF"), draw_util_hex_to_color("#000000"));
- }