Commit Briefs


Omar Polo

start to refactor the rendering

Previously each vline (visual line) had a full copy of its associated string, this changes it so it only slices a part of the parent line. Reduces significantly the memory usage. This actually worsen the emojify-link glitch reported by Freezr after the some recent refactoring in the wrapping code. Not a big deal since I'm about to restructure the whole rendering bit by bit (hopefully!)



Omar Polo

use libgrapheme for text reflowing

unlike the previous hack, libgrapheme is UNICODE 15.0 compliant (at the time of writing) and provides some nice API. While here, drop the hard wrap method for preformatted blocks: always use the normal wrapping. Since libgrapheme is not yet widely available, future commits will probably add a bundled version to ease packaging. I'll also start to replace various home-grown UNICODE/utf8 handling routines with functions from libgrapheme.


Omar Polo

garbage collect even more IMSG types

these are unused after the fs/ui merge.




Omar Polo

drop the `buffer' flag for enqueue_download

it's unused as write_buffer now writes a buffer to the disk.




Omar Polo

move bookmark_page off fs.c


Omar Polo

merge the fs into the ui process

The previous separation between the fs and ui process wasn't that good. The idea was to have a `ui' process tightly sandboxed, but it was a lie actually. `ui' was one imsg away from making internet connections and accessing data on the disk, so it wasn't really limited in (almost) any way. Furthermore, having to serialize data to/from the fs proc started to become not really maneagable. As a first step to fix this situation, join the fs and ui process.


Omar Polo

partial revert of "abstract over evbuffers"

partial revert of commit d54dd8160b88709f3d243e1410a781e5de7fc187. We don't really need an abstraction over "printf-like" things. I can just use plain old FILEs. open_memstream (which conforms to POSIX.1) is what I should have used from the beginning in my mcache implementation.


Omar Polo

add write-buffer

saves a page to the disk. Also, changes the order of the downloads so the new one is always at the top.


Omar Polo

parser/serialize: abstract over evbuffers

the serialize "method" will soon be used in other context where using evbuffers would be awkward. Introduce a small abstraction over it: a printfn (print function) fprintf-like.