static void text_entry_activate(GtkWidget *widget, gpointer data) { char *entry_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(widget))); gtk_entry_set_text(GTK_ENTRY(widget), ""); if (TEXT_ENTRY(widget)->priv->session != NULL) { handle_multiline(TEXT_ENTRY(widget)->priv->session, (char *)entry_text, TRUE, FALSE); } g_free(entry_text); }
/* "Run command" */ static int key_action_handle_command (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, struct session *sess) { int ii, oi, len; char out[2048], d = 0; if (!d1) return 0; len = strlen (d1); /* Replace each "\n" substring with '\n' */ for (ii = oi = 0; ii < len; ii++) { d = d1[ii]; if (d == '\\') { ii++; d = d1[ii]; if (d == 'n') out[oi++] = '\n'; else if (d == '\\') out[oi++] = '\\'; else { out[oi++] = '\\'; out[oi++] = d; } continue; } out[oi++] = d; } out[oi] = 0; handle_multiline (sess, out, 0, 0); return 0; }
static void send_command (char *cmd) { handle_multiline (sess_list->data, cmd, TRUE, FALSE); }
static void send_command (char *cmd) { handle_multiline (current_tab, cmd, TRUE, FALSE); }