Commit Briefs
don't allow recursion on yornp
if we're already in the minibuffer, just assume a "no" response, it's the easiest (and safest) thing to do.
generate a new id for every request
bad things (tm) can happen if we do a IMSG_GET hwen a page is loading. This fixes it by generating a new id for every request, so the current one (if there is one) can safely finish (stop_tab can take a while) while we're doing the next one.
simplify & improve tabline rendering
if there are more tabs than space, the selected tab is no more always the first.
switch to phos_uri
Initially I took the IRI parser from gmid, stripped of the UTF-8 things and transformed back into a URI parser. Then I've added some functions to resolve URIs, but it wasn't enough. gmid parser is aimed at servers, and so it doesn't handle very well relative links. This makes use of the libphos uri parser, which was coded to follow the RFC more strictly, and to fully support all kinds of URIs. It'll need to be expanded in the future and be improved for sure
switch yornp_cb data back to an unsigned int
it bothers me to keep alive a pointer inside a struct tab.
don't empty vlist in load_url_in_tab
we already do that a bit after in do_load_url
free page contents on do_load_link
to do that, move empty_vlist to wrap.c and provide a similar function for struct line*s.
implement a side window
atm activable only via toggle-help and renders the defined keys. It's not focusable.
add cmd_move_tab and cmd_move_tab_to
bound to `C-x t m'/`g M-t' and `C-x t M'/`g M-T' respectively, names lifted after the Emacs corrispectives