--- gamt.c.old	2015-07-27 14:08:57.000000000 +0200
+++ gamt.c	2016-02-25 02:08:15.000000000 +0100
@@ -259,10 +259,9 @@ static void menu_cb_config_font(GtkActio
     char *fontname;
     int done = 0;
 
-    dialog = gtk_font_selection_dialog_new("Terminal font");
+    dialog = gtk_font_chooser_dialog_new("Terminal font", NULL);
     fontname = cfg_get_str(CFG_FONT);
-    gtk_font_selection_dialog_set_font_name
-	(GTK_FONT_SELECTION_DIALOG(dialog), fontname);
+    gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), fontname);
 
     gtk_widget_show_all(dialog);
     while (!done) {
@@ -271,8 +270,7 @@ static void menu_cb_config_font(GtkActio
             done=1;
             /* fall through */
         case GTK_RESPONSE_APPLY:
-            fontname = gtk_font_selection_dialog_get_font_name
-                (GTK_FONT_SELECTION_DIALOG(dialog));
+            fontname = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(dialog));
             vte_terminal_set_font_from_string(VTE_TERMINAL(gamt->vte), fontname);
             cfg_set_str(CFG_FONT, fontname);
             break;
@@ -284,22 +282,19 @@ static void menu_cb_config_font(GtkActio
     gtk_widget_destroy(dialog);
 }
 
-static int pickcolor(char *title, GdkColor *color)
+static int pickcolor(char *title, GdkRGBA *color)
 {
     GtkWidget *dialog;
-    GtkColorSelection *csel;
     int rc = -1;
 
-    dialog = gtk_color_selection_dialog_new(title);
-    csel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel);
-    gtk_color_selection_set_has_opacity_control(csel, FALSE);
-    gtk_color_selection_set_current_color(csel, color);
+    dialog = gtk_color_chooser_dialog_new(title, NULL);
+    gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(dialog), color);
 
     gtk_widget_show_all(dialog);
     switch (gtk_dialog_run(GTK_DIALOG(dialog))) {
     case GTK_RESPONSE_OK:
-	gtk_color_selection_get_current_color(csel, color);
-	rc = 0;
+	    gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(dialog), color);
+	    rc = 0;
     }
     gtk_widget_destroy(dialog);
     return rc;
@@ -308,30 +303,34 @@ static int pickcolor(char *title, GdkCol
 static void menu_cb_config_fg(GtkAction *action, void *data)
 {
     struct gamt_window *gamt = data;
-    GdkColor color = {0,0,0,0};
+    GdkRGBA color = {};
     char name[16];
 
-    gdk_color_parse(cfg_get_str(CFG_FOREGROUND), &color);
+    gdk_rgba_parse(&color, cfg_get_str(CFG_FOREGROUND));
     if (0 != pickcolor("Text color", &color))
-	return;
-    vte_terminal_set_color_foreground(VTE_TERMINAL(gamt->vte), &color);
+	    return;
+    vte_terminal_set_color_foreground_rgba(VTE_TERMINAL(gamt->vte), &color);
     snprintf(name, sizeof(name), "#%04x%04x%04x",
-	     color.red, color.green, color.blue);
+	     (int)(color.red * 65535),
+             (int)(color.green * 65535),
+             (int)(color.blue * 65535));
     cfg_set_str(CFG_FOREGROUND, name);
 }
 
 static void menu_cb_config_bg(GtkAction *action, void *data)
 {
     struct gamt_window *gamt = data;
-    GdkColor color = {0,0,0,0};
+    GdkRGBA color = {};
     char name[16];
 
-    gdk_color_parse(cfg_get_str(CFG_BACKGROUND), &color);
+    gdk_rgba_parse(&color, cfg_get_str(CFG_BACKGROUND));
     if (0 != pickcolor("Background color", &color))
 	return;
-    vte_terminal_set_color_background(VTE_TERMINAL(gamt->vte), &color);
+    vte_terminal_set_color_background_rgba(VTE_TERMINAL(gamt->vte), &color);
     snprintf(name, sizeof(name), "#%04x%04x%04x",
-	     color.red, color.green, color.blue);
+             (int)(color.red * 65535),
+             (int)(color.green * 65535),
+             (int)(color.blue * 65535));
     cfg_set_str(CFG_BACKGROUND, name);
 }
 
@@ -339,11 +338,13 @@ static void menu_cb_blink_cursor(GtkTogg
 {
     struct gamt_window *gamt = user_data;
     gboolean state = gtk_toggle_action_get_active(action);
+    VteTerminalCursorBlinkMode blink;
 
     if (amt_debug)
 	fprintf(stderr, "%s: %s\n", __FUNCTION__, state ? "on" : "off");
     cfg_set_bool(CFG_BLINK, state);
-    vte_terminal_set_cursor_blinks(VTE_TERMINAL(gamt->vte), state);
+    blink = state ? VTE_CURSOR_BLINK_ON : VTE_CURSOR_BLINK_OFF;
+    vte_terminal_set_cursor_blink_mode(VTE_TERMINAL(gamt->vte), blink);
 }
 
 static void menu_cb_quit(GtkAction *action, void *data)
@@ -370,7 +371,7 @@ static void show_manpage(char *page, cha
 	/* ... fallback is an xterm with man */
 	snprintf(buf, sizeof(buf), "manual page: %s(%s)", page, section);
 	execlp("xterm", "xterm",
-	       "-title", buf, 
+	       "-title", buf,
 	       "-e", "man", section, page,
 	       NULL);
 	perror("execlp(xterm)");
@@ -624,7 +625,7 @@ static char hosts_xml_end[] =
 static int gamt_getstring(GtkWidget *window, char *title, char *message,
 			  char *dest, int dlen, int hide)
 {
-    GtkWidget *dialog, *label, *entry;
+    GtkWidget *dialog, *label, *entry, *box;
     const char *txt;
     int retval;
 
@@ -648,11 +649,12 @@ static int gamt_getstring(GtkWidget *win
     if (hide)
 	gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
 
-    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label);
-    gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), entry);
-    gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), 10);
+    box = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
+    gtk_container_add(GTK_CONTAINER(box), label);
+    gtk_container_add(GTK_CONTAINER(box), entry);
 #if 0 /* FIXME: doesn't work ... */
-    gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), 10);
+    gtk_box_set_spacing(GTK_BOX(box), 10);
+    gtk_container_set_border_width(GTK_CONTAINER(box), 10);
 #endif
 
     /* show and wait for response */
@@ -779,7 +781,8 @@ static int gamt_connect(struct gamt_wind
 static struct gamt_window *gamt_window()
 {
     GtkWidget *vbox, *hbox, *frame, *item;
-    GdkColor color;
+    VteTerminalCursorBlinkMode blink;
+    GdkRGBA color;
     GError *err;
     gboolean state;
     struct gamt_window *gamt;
@@ -831,7 +834,8 @@ static struct gamt_window *gamt_window()
     item = gtk_ui_manager_get_widget(gamt->ui, "/MainMenu/ConfigMenu/BlinkCursor");
     state = cfg_get_bool(CFG_BLINK, 0);
     gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), state);
-    vte_terminal_set_cursor_blinks(VTE_TERMINAL(gamt->vte), state);
+    blink = state ? VTE_CURSOR_BLINK_ON : VTE_CURSOR_BLINK_OFF;
+    vte_terminal_set_cursor_blink_mode(VTE_TERMINAL(gamt->vte), blink);
 
     /* other widgets */
     gamt->status = gtk_label_new("idle");
@@ -841,8 +845,8 @@ static struct gamt_window *gamt_window()
 					  GTK_ICON_SIZE_SMALL_TOOLBAR);
 
     /* Make a vbox and put stuff in */
-    vbox = gtk_vbox_new(FALSE, 1);
-    hbox = gtk_hbox_new(FALSE, 1);
+    vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 1);
+    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
     gtk_container_add(GTK_CONTAINER(gamt->win), vbox);
     item = gtk_ui_manager_get_widget(gamt->ui, "/MainMenu");
@@ -867,13 +871,13 @@ static struct gamt_window *gamt_window()
 
     str = cfg_get_str(CFG_FOREGROUND);
     if (str) {
-	gdk_color_parse(str, &color);
-	vte_terminal_set_color_foreground(VTE_TERMINAL(gamt->vte), &color);
+	gdk_rgba_parse(&color, str);
+	vte_terminal_set_color_foreground_rgba(VTE_TERMINAL(gamt->vte), &color);
     }
     str = cfg_get_str(CFG_BACKGROUND);
     if (str) {
-	gdk_color_parse(str, &color);
-	vte_terminal_set_color_background(VTE_TERMINAL(gamt->vte), &color);
+	gdk_rgba_parse(&color, str);
+	vte_terminal_set_color_background_rgba(VTE_TERMINAL(gamt->vte), &color);
     }
 
     return gamt;
Only in amtterm-1.4: index.html?id=f08799bee9ee53100360d86a47bb71591530158b