func Color(name string) *GdkColor { var color C.GdkColor ptr := C.CString(name) defer C.free_string(ptr) C.gdk_color_parse(C.to_gcharptr(ptr), &color) return &GdkColor{color} }
func createColor(pattern string) C.GdkColor { var color C.GdkColor ptr := C.CString(pattern) defer C.free(unsafe.Pointer(ptr)) C.gdk_color_parse(C.toGstr(ptr), &color) return color }
func (t Terminal) SetColors(foreground string, background string, palette []string) { fColor := createColor(foreground) bColor := createColor(background) pColors := new([16]C.GdkColor) for i := 0; i < len(pColors); i++ { C.gdk_color_parse((*C.gchar)(C.CString(palette[i])), &pColors[i]) } C.vte_terminal_set_colors(C.toVTerminal(t.Widget), &fColor, &bColor, (*C.GdkColor)(unsafe.Pointer(pColors)), 16) }