about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* config: support smart casebptato2024-07-163-10/+20
| | | | and enable it by default.
* io: remove readablestreambptato2024-07-141-32/+0
| | | | it was never implemented
* encoding: simplifybptato2024-07-141-66/+15
| | | | use the new API instead of the convoluted decodercore + growbuf thing
* 32-bit compilation fixesbptato2024-07-134-17/+17
| | | | | | | | It seems registerHandle/unregister doesn't accept cint as handles. Not sure why it even works on 64-bit targets... (maybe some converter weirdness?) Seems best to explicitly cast it away.
* renderdocument: fix clickable imagesbptato2024-07-121-0/+5
| | | | | | | | Paint the background with the current color, so that it gets associated with the owner styled node. (I didn't want to do this because it's slow, but otherwise image-mode gets very annoying to use.)
* css: clean up a bitbptato2024-07-123-54/+18
|
* fix compilation on 2.0.8bptato2024-07-102-3/+9
|
* cascade: reduce allocationsbptato2024-07-101-57/+42
| | | | | | | Just use the previous tree when possible. The child list is still reconstructed, but at least we no longer alloc every single node again at every single restyle.
* timeout: fix jsvalue leakbptato2024-07-102-13/+28
|
* cascade: fix style cachingbptato2024-07-092-6/+8
| | | | the invalid flag must be toggled after styling
* selectorparser: fix parseNthChild `of' token checkbptato2024-07-071-1/+3
| | | | tokenType had to be checked too
* lineedit: small cleanupbptato2024-07-071-4/+1
|
* pager: fix redirection to deleted buffersbptato2024-07-062-5/+19
| | | | | | Fixes the bug where getting redirected to a buffer that the pager then deleted (e.g. image display, site no longer available, etc.) would land you in a buffer detached from the main tree.
* main, forkserver: optimize startupbptato2024-07-063-35/+28
| | | | | Merge "load config" with "fork loader", so that the loader process gets forked one packet earlier.
* renderdocument: clean up setTextbptato2024-07-061-100/+107
|
* main: misc improvementsbptato2024-07-052-12/+49
|
* config: add buffer.autofocusbptato2024-07-042-0/+2
| | | | Same as [[siteconf]] autofocus.
* layout: reduce copiesbptato2024-07-033-29/+40
| | | | | Text data is no longer stored separately in InlineFragments; instead, we now include refs to StyledNodes.
* css, html: fix CSS dependency invalidationbptato2024-07-035-112/+121
|
* term: fix excessive SGR output in ansi color modebptato2024-07-021-17/+21
|
* term: query default ansi colors, etc.bptato2024-07-021-63/+94
| | | | | * query default ANSI colors with OSC 4 * disable queries overridden by config
* layout: fix positioning bugbptato2024-07-021-4/+5
| | | | | top/left/right/bottom should only be used in renderdocument with position: absolute.
* pager: PNGify kitty images, clear images on buffer switchbptato2024-07-024-29/+74
| | | | | | | | | | | Saves bandwidth; it's especially useful over SSH. Still not sure if this is the right solution, since it now needs two select cycles instead of one, and it does yet another copy of the image. (Unnecessarily, because stbi cannot stream its output, and stbiw cannot stream its input.) Also, to save memory, we now discard decoded images of buffers that are not being viewed.
* renderdocument: avoid recursionbptato2024-06-301-9/+12
|
* promise, container: fix nil derefsbptato2024-06-302-17/+25
|
* layout: flex padding/margin fixesbptato2024-06-301-2/+8
|
* cascade: support align=left, align=right on imgbptato2024-06-291-2/+14
|
* term: fix sixel OOBbptato2024-06-291-1/+1
| | | | x is clamped to 0, so there is no need to offset it by offx.
* layout: clamp image size to available spacebptato2024-06-291-5/+14
| | | | reduces images spilling out of their containers
* dom, pager: cache images from networkbptato2024-06-297-50/+86
| | | | | | | | | | | With many limitations: * slightly randomized expiry, so it's harder to fingerprint * only images. so e.g. CSS is still left uncached * it's per-buffer and non-persistent, so images are still redownloaded for every new page load so it's more of an image sharing between placements than true caching.
* layout: fix image baselinebptato2024-06-291-6/+5
| | | | I doubt this is correct, but at least it's less broken than previously
* layout: fix text-align + padding coloringbptato2024-06-291-1/+2
|
* loader: fix fd leaksbptato2024-06-291-0/+2
|
* config: add various missing optionsbptato2024-06-295-6/+22
| | | | | | | Mainly things you could already set with [[siteconf]] but not normally. Also, a `styling' option to disable author styles. Also, `images' is now documented as an "experimental" option, since it's halfway usable now.
* img, loader: add image resizing, misc fixesbptato2024-06-2813-118/+174
| | | | | | | | | | | | | | | * resize images with stb_image_resize * use tee for output handle redirection (redirectToFile blocks) * cache original image files * accept lseek in sandbox * misc stbi fixes For now, I just pulled in stb_image_resize v1. v2 is an extra 150K in size, not sure if it's worth the cost. (Either way, we can always switch later if needed, since the API is almost the same.) Next step: move sixel/kitty encoders to CGI, and cache their output in memory instead of the intermediate RGBA representation.
* layout: inline fixes & improvementsbptato2024-06-273-240/+201
| | | | | | | | | | | | | | | * fix text-align breaking down in the presence of floats * improve (and simplify) background color area painting This greatly simplifies inline layout by removing the additional text-align atom movement code and replacing it with a full re-layout when needed. That re-layout only occurs in (rare) cases where the text is likely to be relatively short anyway, so it's probably a win in any remotely realistic layout. This has also made it possible to at last merge the last three passes (horizontal/vertical alignment and background painting) and drop that weird synchronized tree + vector traversal.
* layout: simplifybptato2024-06-241-53/+44
|
* layout: avoid shrink-to-fit padding/margin overflowbptato2024-06-231-7/+12
|
* layout: get rid of incorrect hackbptato2024-06-231-1/+1
|
* config: fix JS command definitionsbptato2024-06-232-3/+4
|
* term: fix negative line damage bugbptato2024-06-231-4/+2
|
* loader: fix failing assertionbptato2024-06-221-2/+4
| | | | | There is no guarantee that iclose is called exactly at rsBeforeStatus or rsBeforeHeaders.
* Update monouchabptato2024-06-225-6/+6
|
* env: fix nil deref in clientbptato2024-06-221-1/+3
|
* misc cleanupsbptato2024-06-2215-35/+24
|
* pager: fix nil deref in dupeBufferbptato2024-06-221-15/+18
|
* forkserver: add missing exitnowbptato2024-06-221-0/+1
|
* pager: refactor drawing codebptato2024-06-226-503/+536
| | | | | | | * merge select into container * avoid unnecessary redraws in draw() for parts of the screen that haven't been updated * various image redraw fixes
* term, pager: improve image displaybptato2024-06-215-101/+224
| | | | | | * basic repaint algorithm for sixel (instead of brute force "clear the whole screen") * do not re-send kitty images already on the screen
* client, pager: fix cached item refcounting bugsbptato2024-06-214-30/+66
|