xiterm

simple vte terminal emulator
git clone https://git.ce9e.org/xiterm.git

commit
5dac7f43ca41d2862d59ed5fc98c362567255819
parent
a35452df45aa39c71ab5cd12378d97a00b52cb31
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2020-09-18 18:12
custom colors

Diffstat

M xiterm.c 13 ++++++++++++-

1 files changed, 12 insertions, 1 deletions


diff --git a/xiterm.c b/xiterm.c

@@ -10,8 +10,13 @@ GtkApplication *app;
   10    10 GtkWidget *window;
   11    11 GtkNotebook *notebook;
   12    12 VteRegex *url_regex;
   -1    13 GdkRGBA palette[16];
   13    14 
   14    15 char *cmd[2] = {"/bin/bash", NULL};
   -1    16 const char *colors[16] = {
   -1    17 	"#000", "#c00", "#591", "#b71", "#16c", "#96a", "#299", "#ccc",
   -1    18 	"#333", "#f33", "#7c0", "#ed0", "#6ad", "#c8b", "#0dd", "#fff",
   -1    19 };
   15    20 
   16    21 gboolean match_key(GdkEventKey *event, int state, int keyval) {
   17    22 	return event->state == state && event->keyval == keyval;
@@ -73,6 +78,8 @@ void setup_terminal(VteTerminal *term) {
   73    78 	vte_terminal_set_cursor_blink_mode(term, VTE_CURSOR_BLINK_OFF);
   74    79 	tag = vte_terminal_match_add_regex(term, url_regex, 0);
   75    80 	vte_terminal_match_set_cursor_name(term, tag, "pointer");
   -1    81 	vte_terminal_set_colors(term, &palette[15], NULL, palette, 16);
   -1    82 	vte_terminal_set_bold_is_bright(term, TRUE);
   76    83 
   77    84 	g_signal_connect(term, "button-press-event", G_CALLBACK(on_term_click), NULL);
   78    85 	g_signal_connect(term, "child-exited", G_CALLBACK(on_term_exit), NULL);
@@ -137,12 +144,16 @@ void activate(GtkApplication* app, gpointer user_data) {
  137   144 }
  138   145 
  139   146 int main(int argc, char **argv) {
  140    -1 	int status;
   -1   147 	int i, status;
  141   148 	GError *err = NULL;
  142   149 
  143   150 	url_regex = vte_regex_new_for_match(REGEX_URL, -1, PCRE2_MULTILINE, &err);
  144   151 	g_assert(err == NULL);
  145   152 
   -1   153 	for (i = 0; i < 16; i++) {
   -1   154 		gdk_rgba_parse(palette + i, colors[i]);
   -1   155 	}
   -1   156 
  146   157 	app = gtk_application_new("org.xi.xiterm", G_APPLICATION_FLAGS_NONE);
  147   158 	g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
  148   159 	status = g_application_run(G_APPLICATION(app), argc, argv);