commit - 5c88f028bc4807931cdae98684efd29d33a67d14
commit + 43a1b8d081bd3c444b70d0f1a0da23dd598c4749
blob - 698b4fb14aae07254b36757d42dd726a60d36e51
blob + 677e97baffdaf0ed7c0c09de4391105af007b7c3
--- ui.c
+++ ui.c
static void start_loading_anim(struct tab*);
static void update_loading_anim(int, short, void*);
static void stop_loading_anim(struct tab*);
+static void load_url_in_tab(struct tab*, const char*);
static void new_tab(void);
typedef void (*interactivefn)(struct tab*);
{ CKEY('n'), cmd_next_line, },
{ CKEY('f'), cmd_forward_char, },
{ CKEY('b'), cmd_backward_char, },
+
+ { {0,KEY_UP}, cmd_previous_line, },
+ { {0,KEY_DOWN}, cmd_next_line, },
{ CKEY('L'), cmd_redraw, },
if (nth > tab->s->line_max)
return;
l = nth_line(tab, nth);
- message("Enter on line: \"%s\"", l->line ? l->line : "");
+ if (l->type != LINE_LINK)
+ return;
+
+ load_url_in_tab(tab, l->alt);
}
static void
evtimer_del(&tab->s->loadingev);
tab->s->loading_anim = 0;
tab->s->loading_anim_step = 0;
+
+ redraw_modeline(tab);
+ wrefresh(modeline);
+ wrefresh(body);
}
static void
-ui_load_url_in_tab(struct tab *tab, const char *url)
+load_url_in_tab(struct tab *tab, const char *url)
{
+ empty_vlist(tab);
message("Loading %s...", url);
start_loading_anim(tab);
load_url(tab, url);
+
+ tab->s->curs_x = 0;
+ tab->s->curs_y = 0;
+ redraw_tab(tab);
}
static void
else
TAILQ_INSERT_TAIL(&tabshead, tab, tabs);
- ui_load_url_in_tab(tab, url);
+ load_url_in_tab(tab, url);
return;
err:
nonl();
intrflush(stdscr, FALSE);
- keypad(stdscr, TRUE);
if ((tabline = newwin(1, COLS, 0, 0)) == NULL)
return 0;
body_lines = LINES-3;
body_cols = COLS;
+ keypad(body, TRUE);
scrollok(body, TRUE);
/* non-blocking input */