Commits


detect tab switch and force redraw in case


bring back the ugly hack for the side window


kill ui_notify and export {v,}message


move all cmd_* functions in their own file this detangles definitely the commands from the ui. Various variables and struct from ui.c needed to be exported, aside from that, no functional changes.


optimize redraw_window don't redraw the page if no scrolling happened. There's still need to ``force'' the redraw sometimes, like after a resize or after toggling olivetti-mode, so add a buffer->force_redraw flag for it.


disentangle cmd_scroll_line_up/down and ncurses cmd_scroll_line_up and down are the fundamental functions called every time there's a need to scroll the window. cmd_scroll_up/down calls them in a loop, cmd_next_line and cmd_previous_line calls them too. And so on. These two functions, historically predates some of the abstractions of the `struct buffer', and handle ncurses directly using wscrl and print_line. However, since dispatch_stdio calls redraw_tab anyway, there's no need to update the window content here. (Well, wscrl + one print_vline *may* be a bit faster than the loop over print_vline in redraw_window, but we can optimise the latter later.) This also (should) dis-entangle the cmd_* functions and ncurses completely \o/


style


added olivetti-mode (the function)


added olivetti-mode!


add new-tab-url config to specify the default url for new tabs


add fill-column config knob


move all styling to defaults.c i.e. don't hardcode text attributes


teach telescope how to backtab


link the parser in the build and: * add some flags * document them * move the customizable stuff to defaults.c


remove urgent flag during switch_to_tab when a tab is closed (C-t x 0) the previous one gets selected via switch_to_tab, but the TAB_URGENT flag is kept.