diff options
author | Marco Peereboom <marco@conformal.com> | 2011-01-02 18:12:09 +0000 |
---|---|---|
committer | Marco Peereboom <marco@conformal.com> | 2011-01-02 18:12:09 +0000 |
commit | 235ee9199d01d6d357873f2140e6a68f5acd98a0 (patch) | |
tree | e0c909a94e0c3bf5bd80653bc9e4e4b97b9a7637 | |
parent | cbf452cdb8817e755666f0463853a62f65c749ac (diff) | |
download | xombrero-235ee9199d01d6d357873f2140e6a68f5acd98a0.tar.gz |
add restart scaffold
-rw-r--r-- | xxxterm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/xxxterm.c b/xxxterm.c index 6f21b0d..4e1dfdb 100644 --- a/xxxterm.c +++ b/xxxterm.c @@ -504,6 +504,7 @@ struct settings { /* globals */ extern char *__progname; +char **start_argv; struct passwd *pwd; GtkWidget *main_window; GtkNotebook *notebook; @@ -3060,6 +3061,13 @@ go_home(struct tab *t, struct karg *args) return (0); } +int +restart(struct tab *t, struct karg *args) +{ + execvp(start_argv[0], start_argv); + return (0); +} + /* inherent to GTK not all keys will be caught at all times */ /* XXX sort key bindings */ struct key { @@ -3183,6 +3191,7 @@ struct cmd { { "hist" , 0, xtp_page_hl, {0} }, { "history" , 0, xtp_page_hl, {0} }, { "home" , 0, go_home, {0} }, + { "restart" , 0, restart, {0} }, { "1", 0, move, {.i = XT_MOVE_TOP} }, { "print", 0, print_page, {0} }, @@ -4777,8 +4786,12 @@ arrow_cb(GtkWidget *w, GdkEventButton *event, gpointer user_data) TAILQ_FOREACH(ti, &tabs, entry) { frame = webkit_web_view_get_main_frame(ti->wv); uri = webkit_web_frame_get_uri(frame); + /* XXX make sure there is something to print */ + /* XXX add gui pages in here to look purdy */ if (uri == NULL) uri = "(untitled)"; + if (strlen(uri) == 0) + uri = "(untitled)"; menu_items = gtk_menu_item_new_with_label(uri); gtk_menu_append(GTK_MENU (menu), menu_items); gtk_widget_show(menu_items); @@ -5155,6 +5168,7 @@ main(int argc, char *argv[]) char *env_proxy = NULL; FILE *f = NULL; + start_argv = argv; while ((c = getopt(argc, argv, "STVf:tn")) != -1) { switch (c) { case 'S': |