about summary refs log tree commit diff stats
path: root/res
Commit message (Collapse)AuthorAgeFilesLines
* config: warn on unused valuesbptato2025-05-111-1/+0
|
* ua.css: disable margin on first pbptato2025-05-091-1/+1
|
* config: add external.show-download-panelbptato2025-05-091-0/+1
|
* man, genidna: do not use std/unicodebptato2025-05-041-2/+3
|
* Update QuickJS-NG to 0.10.0bptato2025-05-041-0/+28
|
* about: avoid word break in linkbptato2025-04-301-9/+11
|
* http: re-add brotli supportbptato2025-04-232-3/+4
| | | | | Unfortunately this is unavoidable, as some servers still seem to return brotli despite our Accept-Encoding header not including it.
* term: replace termcap with a built-in terminal databasebptato2025-04-232-4/+3
| | | | | | | | | | | | | I considered using terminfo, but it works *worse* on several terminals I've tried than whatever this is. So out with ncurses, I say. In this new scheme, if the terminal is unrecognized, it is assumed to be XTerm-compatible. This does mean that an unrecognized terminal that doesn't do XTGETTCAP or COLORTERM will not get true colors. Another drawback is that non-VT-compatible terminals now have zero chance of working. This is unfortunate, but realistically they probably didn't work until now either.
* pager: pin downloads panelbptato2025-04-151-0/+4
| | | | and make it autorefresh so the UX is halfway sane
* http: replace with newhttpbptato2025-04-141-4/+15
| | | | | I think it works well enough at this point. If it doesn't, somebody will complain :)
* mailcap: interpret xhtml as htmlbptato2025-04-131-0/+1
| | | | it's horrible, but better than nothing.
* config: unify table arrays and tablesbptato2025-04-111-3/+24
| | | | | | | | | | | | | | | | | | [[siteconf]] now just means [siteconf.0], etc. So you can now override parts of default siteconfs/omnirules, e.g. to change the Google search substitute-url, etc. To celebrate this, I've added some more default search engines: * wk: -> Wikipedia * wd: -> Wiktionary * ms: -> Marginalia Search These can be replaced by setting e.g. omnirule.wk = {}, etc. Also, siteconf = {} can be used to clear pre-defined siteconfs. This is an unfortunate deviation in semantics from TOML, but in practice the way it worked before didn't match the spec either, so at least it is now consistent.
* Update docsbptato2025-04-041-7/+7
|
* config: add user-style, deprecate [css] and stylesheetbptato2025-04-011-1/+2
| | | | | I'm not 100% content with this syntax either, but it's a significant improvement over the previous solution.
* config.toml: restore old UA stringbptato2025-03-281-1/+1
| | | | | | | | | | | | | | | Originally I added Mozilla/5.0 because Google refused to serve valid HTML without it, and some websites really disliked us not sending it. Since then, I've had to special case Google anyway because now it only serves usable results to a specific set of UA strings. Meanwhile, an aggressive client blocking software has been spreading lately, which shows a (broken, for various reasons) JS POW page if you *do* send Mozilla/5.0. So I guess it's better to switch back for now. The drawback of course is that now we are broken on sites that expect us to send Mozilla/5.0. Hopefully this is no longer as common as before.
* Update QuickJS-NG to 0.9.0bptato2025-03-111-4/+4
|
* ua.css: center thbptato2025-03-091-1/+6
| | | | | | The standard specifies counter-intuitive behavior dependent on non-standard CSS. Lacking evidence that this is needed, we ignore it.
* ua.css: set white-space pre for link markerbptato2025-02-181-1/+2
|
* Add mark-links featurebptato2025-02-182-1/+7
| | | | ref. https://todo.sr.ht/~bptato/chawan/43
* cascade, ua.css: use ansi red, replace option with anonymous StyledNodesbptato2025-02-041-24/+25
| | | | Now select[multiple] options have the same coloring as w3m.
* about: move to loaderbptato2025-01-301-1/+0
| | | | | This means we can now use about:downloads for downloads. Plus it shaves off some ks from the distribution.
* ua.css: simplifybptato2025-01-251-2/+2
|
* ua.css: add align to h[1-6]bptato2025-01-241-4/+8
|
* buffer: add placeholders for [frame]bptato2025-01-231-5/+5
| | | | | | | | | | HTML5 doesn't allow frameless processing of documents, so the <noframes> fallback never really worked. Being able to click on the individual frames feels somewhat less broken. I'm unsure how the actual solution should look like. Either we need multiple buffer support per process, or treat them as pseudo-images and handle them in pager.
* ua.css: italicize addressbptato2025-01-231-1/+1
|
* container, config.toml: add | commandbptato2025-01-191-0/+4
| | | | | | Particularly useful when debugging minified JS. vi always wraps; the centering behavior is from vim.
* config: fix default searchbptato2025-01-161-1/+13
| | | | | Google no longer allows no-JS search - it's broken on Firefox as well. For now, the old version still works...
* quirk.css, ua.css: adjust marginsbptato2025-01-162-1/+3
|
* ua.css: fix select multiple renderingbptato2025-01-151-5/+13
|
* ua.css: fix ol[type=1]bptato2025-01-141-1/+1
|
* Fix typobptato2025-01-131-1/+1
|
* config: switch to camel casebptato2025-01-131-5/+5
| | | | | | We already need a camel -> kebab converter anyway. Unfortunately this also changes JS binding names, so it's a breaking change. Oh well.
* ua.css: force inline-flex on selectbptato2025-01-111-1/+1
| | | | sourcehut sets inline-block on it, and that broke [] placement...
* buffer, ua.css, dom: more select adjustmentsbptato2025-01-101-20/+8
| | | | | | | ok, now it works like in w3m. (mostly, barring CSS limitations...) we'll see how this works out Also adds/fixes some select and option DOM APIs.
* ua.css: improve select renderingbptato2025-01-091-19/+12
| | | | | | | | | Regular select is now rendered as flex, and does not wrap. This gets rid of the pointless whitespace before/after options. multiple still looks weird, but maybe a bit less? Probably we should just render it with pseudo-checkboxes, and drop the special mode from select.nim.
* buffer: make iframes clickablebptato2025-01-091-3/+3
| | | | better than nothing
* config.toml: add C-g as C-c alternativebptato2025-01-081-0/+1
|
* ua.css: add missing case insensitivitybptato2025-01-081-16/+16
|
* ua.css: set table box-sizing border boxbptato2025-01-051-1/+2
|
* license: include unifont licensebptato2025-01-051-5/+101
| | | | TODO: switch to a PD font
* Add built-in image viewerbptato2024-12-302-2/+8
| | | | | | It works by emitting a base64 URI inside an img tag. Very inefficient, but useful if no external viewer is set up (e.g. over SSH).
* buffer: make video, audio clickablebptato2024-12-302-4/+10
| | | | | more intuitive than shoehorning it into "view image" (also makes it easier to apply the content type)
* cookie: add persistent cookies, misc refactoring/fixesbptato2024-12-291-0/+1
| | | | | | | | | | | | | Mostly compatible with other browsers/tools that follow the Netscape/curl format. Cookie jars are represented by prepending "jar@" to the host part, but *only* if the target jar is different than the domain. Hopefully, other software at least does not choke on this convention. (At least curl seems to simply ignore the entries.) Also, I've moved cookies.nim to config so that code for local files parsed at startup remains in one place.
* config: clean up redundant CHA_DIR, update CGI docsbptato2024-12-291-2/+2
| | | | | "No CGI dir configured" is no longer a common case, so it's OK to just return "CGI file not found".
* CHA_CONFIG_DIR -> CHA_DIRbptato2024-12-271-2/+2
| | | | | | | It isn't really limited to config. It just happens to be in XDG_CONFIG_HOME because XDG basedirs suck. (W3M_DIR works similarly.)
* Update docsbptato2024-12-272-71/+75
| | | | | Licenses now ordered by "explicitly PD", "PD-equivalent" and "not PD-equivalent".
* config: fix selection copybptato2024-12-221-3/+4
| | | | | | | In my infinite wisdom, I typed two paragraphs about this issue in c45502f8, but never actually changed the default config. Also, it's been almost a year now; time to drop yc.
* Misc character display fixesbptato2024-12-222-250/+20
| | | | | | | | | | | | | | | | | | * fix luwrap comparison function * strip high unicode controls in term/pager * use wcwidth in dirlist2html * remove combining category from strwidth * remove unused "disallowed" field from lineedit My initial goal with switching to wcwidth in dirlist2html was just to get rid of the outdated combining map in charwidth_gen. Then I realized that layout will normalize those out anyway, so we don't actually have to deal with them anywhere. Also, I found a few bugs in the process; high unicode control chars not being stripped out was a particularly bad one, as it allows for pages to mess up the terminal output. (Easiest way to replicate: just open a random binary file without this patch.)
* Add historybptato2024-12-173-1/+8
| | | | | It's still missing a "color visited links" feature, but it's better than nothing.
* layout, render: image sizing fixes/workaroundsbptato2024-12-201-1/+1
| | | | | | | | * fix clip for image * switch back img's display to inline * fix image width calculation without specified width/height I'm not 100% sure if this is correct, but it certainly looks better.