about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* pager, term: use cell offset with kitty imagesbptato2024-12-034-14/+35
| | | | | | | | Gets rid of rounding errors when positioning images. Theoretically this is possible with Sixel too, but as always, it's ten times as difficult to implement as with Kitty, so I'll leave it for later.
* cascade: add cellspacingbptato2024-12-032-0/+8
|
* cssvalues: optimize CSSComputedValues sizebptato2024-12-033-271/+269
| | | | | | | | Roughly halves the object's size, and gets rid of a large number of allocations. It could be compressed further into a bitmap, but I'm not sure if it's worth the complexity.
* toml, config: skip copying buf, use PosixStreambptato2024-12-034-123/+138
| | | | | | | one std/streams less I used mmap for reading the user config. It shouldn't matter in any realistically sized config, but who knows.
* cssvalues: fix min-width/min-height autobptato2024-12-021-19/+18
| | | | | | so for max-width it's called "none", but for min-width it's "auto". why :(
* layout: temporary hack to fix xminwidth + flexbptato2024-12-021-0/+12
| | | | | | | | | | | | ugly, but better than the status quo. the core issue is that width, min-width should clamp xminwidth too, but it doesn't. this hadn't been an issue until recently, but since I made <pre> stretch out xminwidth too it had the unfortunate result that you now have to scroll on pages that nest pre in a flex. this still isn't a proper fix, in particular it won't work if min-width is set to 0, but on the sites I tried it happens to work anyway.
* cascade, cssvalues: clean up a bit morebptato2024-12-022-68/+76
|
* css: misc refactoringbptato2024-12-025-137/+128
|
* config: add copy-cmd, paste-cmdbptato2024-12-011-0/+2
| | | | ref. https://todo.sr.ht/~bptato/chawan/29
* sheet, mediaquery: misc cleanupbptato2024-12-012-64/+29
|
* term: respect LINES, COLUMNS; do not crash without vi/vebptato2024-12-011-6/+12
|
* mediaquery: fix and after bare keywordbptato2024-12-011-1/+0
| | | | | no idea what that reconsume was doing there; probably a refactoring mistake
* term: disable screen workaround on tmuxbptato2024-12-011-1/+2
|
* dom: add support for @importbptato2024-12-014-58/+92
| | | | only the most basic form; no media queries yet
* buffer: fix nil derefbptato2024-11-301-1/+1
| | | | whoops
* pager: do not make pointless requests in viewImage, add saveImagebptato2024-11-305-35/+49
| | | | | | | with buffer.images enabled, we already cache them, so we can skip the additional request also, add saveImage, bound to sI
* cascade: allow presentational hints with styling=falsebptato2024-11-291-2/+2
| | | | They are UA style.
* layout: remove mystery startOffset adjustmentbptato2024-11-281-2/+0
| | | | | | | | Probably a remnant from back when startOffset meant (and was used for) something different. Interestingly, there was already a test case for this, but it was also wrong.
* twtstr: add mypairsbptato2024-11-2811-24/+35
| | | | | This couldn't get into system.nim for technical reasons, but it's still pretty useful when iterating over non-mutable openArrays.
* layout, term, url: misc cleanupbptato2024-11-283-4/+0
|
* cascade: apply buffer.styling to inline stylesbptato2024-11-271-8/+11
| | | | it's author style too
* mailcap: add x-needsstyle extension fieldbptato2024-11-272-2/+8
| | | | | | | Useful when an x-htmloutput handler needs styling for the HTML output to be formatted correctly (as a sort of pseudo-ua style sheet). ref. https://todo.sr.ht/~bptato/chawan/28
* layout: support br clearbptato2024-11-271-28/+34
|
* buffer: optimize hover switchingbptato2024-11-262-2/+15
| | | | | Fixed a bug that would lead to styles unnecessarily being recalculated if the root element had a :hover dependency.
* config.configdir -> config.dirbptato2024-11-263-5/+5
|
* select: pad options in newSelectbptato2024-11-262-18/+19
| | | | this way it works for <select> tags too
* Update monouchabptato2024-11-251-1/+1
|
* client: exit if quit was called inside a jobbptato2024-11-251-10/+11
| | | | ref. https://todo.sr.ht/~bptato/chawan/27
* pager, select: add more items, misc fixesbptato2024-11-254-55/+90
| | | | | | eh probably have to move the event loop to pager...
* dom: fix some comparisonsbptato2024-11-241-2/+2
|
* select: misc fixesbptato2024-11-241-2/+10
| | | | | * jump to first selected item (if any) when opened * fix crash on control chars in option (at least they didn't bleed...)
* layout: another intrinsic min width fixbptato2024-11-241-2/+4
| | | | forgot about word-break
* loader/* -> serverbptato2024-11-2417-47/+47
| | | | one less mystery
* loaderhandle -> loaderbptato2024-11-242-213/+195
| | | | | no longer makes sense to keep it as a separate module since everything is in CGI
* select: fix display with multi-width charsbptato2024-11-241-6/+11
| | | | progress. now they only mess up coloring a bit.
* layout: fix intrinsic min width for words with wrapping opportunitiesbptato2024-11-241-11/+18
| | | | | | | This broke CJK combined with table layouts. (Inline layout's state dependencies between procs are getting a bit scary...)
* pager: pad menu itemsbptato2024-11-241-10/+10
|
* buffer: slightly improve markURLbptato2024-11-241-49/+69
| | | | merge text nodes, eat nobr, wbr
* pager, select: implement more functionsbptato2024-11-242-5/+18
| | | | | not quite happy with this design but for now let's just try to make it work well
* pager, select: add right click menu, fix some bugsbptato2024-11-234-82/+219
| | | | | | | | | | | | | | | | | | It's *not* a context menu: items are fixed, and currently not even customizable. Former is a feature, latter is a bug. Also, select now has improved mouse support; its behavior is a combination of the w3m menu (for btn1) and GTK Firefox context menu (for btn3). Also, fix some bugs in select: * lines with double width chars are handled better (not perfectly, but at least the grid isn't completely mangled anymore) * non-multiple select now highlights the currently selected option * small selects at the bottom of the screen are handled correctly * selects at the right edge of the screen are handled correctly * select multiple no longer discards selected items on cursorLeft
* pager: fix loadURL crash on empty URLbptato2024-11-231-1/+3
| | | | ref. https://todo.sr.ht/~bptato/chawan/24
* container: add Lynx-style navigation commandscommodorian2024-11-232-1/+60
|
* dom: implement HTMLDocument, make Image C/Wbptato2024-11-221-1/+3
| | | | | | | | | | * add HTMLDocument as alias to Document * set Image as configurable/writable So looking closer, HTMLDocument *is* specified, just major browsers don't follow the spec. I doubt this incompatibility causes issues, anyway.
* dom: add document named property getter, update monouchabptato2024-11-222-9/+40
|
* dom: add document.compatModebptato2024-11-221-0/+5
|
* Update chamebptato2024-11-221-1/+1
|
* buffer: proper toggleImages implementationbptato2024-11-217-21/+50
| | | | | | | It necessarily removes the config.images check from codec access, which I'm not quite happy about, so I've added a check to the DOM instead. (TODO: maybe pager should just dynamically grant codec access as a capability instead? but maybe that's even more error prone...)
* select: various improvementsbptato2024-11-211-69/+79
| | | | | | * replace weird cursor position representation * add cursorTop, cursorMiddle, cursorBottom, scrollDown, scrollUp * expose fromy, cursory to JS
* chadombuilder: fix removeImpl definitionbptato2024-11-211-1/+2
| | | | | It is documented in chame that parentNode may be nil, and indeed, it is nil in some cases.
* match, stylednode: remove generics, refactorbptato2024-11-193-137/+91
| | | | | | Turns out the generics weren't really needed in the first place. Also, StyledNode is now 16 bytes smaller.