end = 2;
}
- /* Control-Break is the same as Control-C */
+ /* Control-Break sends a Break special to the backend */
if (event->keyval == GDK_Break &&
(event->state & GDK_CONTROL_MASK)) {
- output[1] = '\003';
- use_ucsoutput = FALSE;
- end = 2;
- special = TRUE;
+ if (inst->back)
+ inst->back->special(inst->backhandle, TS_BRK);
+ return TRUE;
}
/* We handle Return ourselves, because it needs to be flagged as
inst->back->free(inst->backhandle);
inst->backhandle = NULL;
inst->back = NULL;
+ term_provide_resize_fn(inst->term, NULL, NULL);
update_specials_menu(inst);
}
gtk_widget_show(inst->restartitem);
*/
void do_beep(void *frontend, int mode)
{
- if (mode != BELL_VISUAL)
+ if (mode == BELL_DEFAULT)
gdk_beep();
}
int n_icon)
{
GdkPixmap *iconpm;
+ GdkBitmap *iconmask;
#if GTK_CHECK_VERSION(2,0,0)
GList *iconlist;
int n;
return;
gtk_widget_realize(window);
- iconpm = gdk_pixmap_create_from_xpm_d(window->window, NULL,
+ iconpm = gdk_pixmap_create_from_xpm_d(window->window, &iconmask,
NULL, (gchar **)icon[0]);
- gdk_window_set_icon(window->window, NULL, iconpm, NULL);
+ gdk_window_set_icon(window->window, NULL, iconpm, iconmask);
#if GTK_CHECK_VERSION(2,0,0)
iconlist = NULL;
cmdline_run_saved(&inst->cfg);
- if (!cfg_launchable(&inst->cfg) && !cfgbox(&inst->cfg))
+ if ((!loaded_session || !cfg_launchable(&inst->cfg)) &&
+ !cfgbox(&inst->cfg))
exit(0); /* config box hit Cancel */
}