Commits


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.


rename: s/window/buffer (but not always) this aims to solve (albeit only partially) the confusion between telescope' ``struct window'' and ncurses WINDOW. It also brings some more emacs-like nomenclature, which may be a good thing.


rename (handle_resize) timeout -> nodelay nodelay conveys better what the function do


fix toggle-help not drawing After the change to debounce frequent handle_resize, the old hack wasn't working anymore.


ask to save a page when it can't be rendered it's good for thing like images and text with weird encodings.