Commit Briefs

Omar Polo

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.


Omar Polo

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/


Omar Polo

style



Omar Polo

added olivetti-mode!



Omar Polo

add fill-column config knob


Omar Polo

move all styling to defaults.c

i.e. don't hardcode text attributes


Omar Polo

teach telescope how to backtab


Omar Polo

link the parser in the build

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


Omar Polo

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.


Omar Polo

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.


Omar Polo

rename (handle_resize) timeout -> nodelay

nodelay conveys better what the function do


Omar Polo

fix toggle-help not drawing

After the change to debounce frequent handle_resize, the old hack wasn't working anymore.


Omar Polo

ask to save a page when it can't be rendered

it's good for thing like images and text with weird encodings.