about summary refs log tree commit diff stats
path: root/doc/config.md
Commit message (Collapse)AuthorAgeFilesLines
* config: support smart casebptato2024-07-161-2/+4
| | | | and enable it by default.
* config: add buffer.autofocusbptato2024-07-041-3/+12
| | | | Same as [[siteconf]] autofocus.
* Update docsbptato2024-07-031-1/+1
|
* config: add various missing optionsbptato2024-06-291-3/+90
| | | | | | | 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.
* buffer: add autofocusbptato2024-06-081-0/+7
| | | | naturally, it's opt-in
* pager, buffer: improve forms, protocol configbptato2024-06-081-0/+25
| | | | | | * refactor form submission * add options to specify form handling per protocol * block cross-protocol POST requests
* pager: rework D/discard bufferbptato2024-05-311-3/+8
| | | | | | | | | | | | | | | | | | | | | The previous solution had the issue that it switched between "delete buffer, then move back" and "delete buffer, then move forward" depending on whether the buffer was the root of the buffer tree, which made its behavior quite unpredictable. Now the pager (sort of) remembers the direction you are coming from, and D moves in that direction. So e.g.: * Enter, D just moves back to where you were coming from (as before) * Comma, D deletes the previous buffer, then returns to the current buffer If no buffer exists in the target direction, then we alert. Also, new commands are: `d,' `d.'. They do the same thing the non-d-prefixed variations do, but also delete the current buffer. Useful if you're no longer sure where you are coming from, but know where you want to go. (`d,' in particular is equivalent to w3m's `B'.)
* Update docsbptato2024-05-161-31/+23
|
* term: optimize canvas redraw, remove emulate-overlinebptato2024-05-101-7/+0
| | | | | | | * Replaced the `pcanvas' comparison with a much simpler tracking of the first damaged cell in writeGrid, which is significantly faster. * Removed emulate-overline: it's of too little utility compared to the maintenance burden it caused.
* Update docsbptato2024-05-041-52/+17
|
* config: add insecure-ssl-no-verify option to siteconfbptato2024-05-011-7/+18
| | | | | | | Equivalent to curl --insecure. Note: unfortunately this does not help if the server is using unsafe legacy renegotiation, you have to allow that in the OpenSSL config.
* config: fix copy image URL, document copy commandsbptato2024-04-271-0/+15
|
* Update docsbptato2024-04-241-363/+161
|
* config: add default-headers to siteconfbptato2024-03-211-1/+9
| | | | | | | So long as we have to live with siteconf, let's at least make it useful. Also, rewrite the header overriding logic because while it did work, it only did so accidentally.
* pager: add "save link", "save source"; change & document some keybindingsbptato2024-03-201-0/+10
| | | | | | | | | * `s{Enter}' now saves link, and `sS' saves source. * Changed ;, +, @ to g0, g$, gc so that it's somewhat consistent with vim (and won't conflict with ; for "repeat jump to char") * Changed (, ) to -, + so that it doesn't conflict with vi's "previous/next sentence" (once we have it...) * Add previously missing keybindings to about:chawan
* buffer: add markURLbptato2024-03-191-0/+5
| | | | Useful when browsing plaintext files; w3m has it too.
* pager, loader: add "Save file to" functionalitybptato2024-03-161-1/+8
| | | | | | | As simple as it could be; no download panel yet. Also, remove the xdg-open default mailcap entry; it's better to just save by default.
* config: add start.console-buffer optionbptato2024-03-161-0/+10
| | | | useful for debugging
* loader: rework process modelbptato2024-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally we had several loader processes so that the loader did not need asynchronity for loading several buffers at once. Since then, the scope of what loader does has been reduced significantly, and with that loader has become mostly asynchronous. This patch finishes the above work as follows: * We only fork a single loader process for the browser. It is a waste of resources to do otherwise, and would have made future work on a download manager very difficult. * loader becomes (almost) fully async. Now the only sync part is a) processing commands and b) waiting for clients to consume responses. b) is a bit more problematic than a), but should not cause problems unless some other horrible bug exists in a client. (TODO: make it fully async.) This gives us a noticable improvement in CSS loading speed, since all resources can now be queried at once (even before the previous ones are connected). * Buffers now only get processes when the *connection* is finished. So headers, status code, etc. are handled by the client, and the buffer is forked when the loader starts streaming the response body. As a result, mailcap entries can simply dup2 the first UNIX domain socket connection as their stdin. This allows us to remove the ugly (and slow) `canredir' hack, which required us to send file handles on a tour accross the entire codebase. * The "cache" has been reworked somewhat: - Since canredir is gone, buffer-level requests usually start in a suspended state, and are explicitly resumed only after the client could decide whether it wants to cache the response. - Instead of a flag on Request and the URL as the cache key, we now use a global counter and the special `cache:' scheme. * misc fixes: referer_from is now actually respected by buffers (not just the pager), load info display should work slightly better, etc.
* Add mouse supportbptato2024-02-291-0/+7
|
* pager: improve URL loading procsbptato2024-02-281-3/+19
| | | | | | | Split up load into loadSubmit, gotoURL: loadSubmit is a replacement for load(s + '\n'), and gotoURL is a load that does no URL expansion. Also, fix a bug where load("\n") would crash the browser.
* term: improve pixels-per-column/line detectionbptato2024-02-251-0/+16
| | | | | | | | | Some terminal emulators (AKA vte) refuse to set ws_xpixel and ws_ypixel in the TIOCGWINSZ ioctl, so we now query for CSI 14 t as well. (Also CSI 18 t for good measure, just in case we can't ioctl for some reason.) Also added some fallback (optionally forced) config values for width, height, ppc, and ppl. (This is especially useful in dump mode.)
* config: replace default-flags with ignore-casebptato2024-02-221-7/+7
| | | | | | default-flags was overly complicated for its purpose. Also, ignore-case is quite useful, so enable it by default.
* Update docsbptato2024-02-191-8/+37
|
* regex: re-work compileSearchRegexbptato2024-02-171-0/+10
| | | | | | | I've gotten tired of not being able to search for forward slashes. Now it works like in vim, and you can also set default ignore case in the config.
* term: fix coloring messbptato2024-02-171-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Until now, the config file required manual adjustment for the output to look bearable on terminals colored differently than {bgcolor: black, fgcolor: white}. Also, it only detected RGB when COLORTERM was set, but this is not done by most (any?) terminal emulators (sad). To improve upon the situation, we now query the terminal for some attributes on startup: * OSC(10/11, ?) -> get the terminal's bg/fgcolor * DCS(+, q, 524742) -> XTGETTCAP for the "RGB" capability (only supported by a few terminals, but better than nothing) * Primary device attributes -> check if ANSI colors are supported, also make sure we don't block indefinitely even if the previous queries fail If primary device attributes does not return anything, we hang until the user types something, then notify the user that something went wrong, and tell them how to fix it. Seems like an OK fallback. (The DA1 idea comes from notcurses; since this is implemented by pretty much every terminal emulator, we don't have to rely on slow timing hacks to skip non-supported queries.)
* doc: update npr redirect examplebptato2024-02-141-1/+2
| | | | a bit more readable, and it also works with /[0-9]+ pathnames
* Add pager.externFilterSourcebptato2024-02-121-3/+24
| | | | useful for filtering stuff through commands like rdrview
* doc/config: add missing backtickbptato2024-01-301-1/+1
|
* doc: do not emphasize th text, mention pager.locationbptato2024-01-301-33/+38
|
* Add command to yank link under cursor (yc)bptato2024-01-291-4/+14
|
* client: stop entire process group on suspend()bptato2024-01-291-2/+3
| | | | | * pass 0 so e.g. git does not hang * use sigtstp so e.g. cgi scripts can clean up if needed
* doc: fix cookie sharing examplebptato2024-01-221-4/+4
| | | | This configuration scheme really is a nightmare to use :(
* Re-design word handling, add e, E, W, B, etc.bptato2024-01-191-25/+74
| | | | | | | | | | | | * Add functions for moving to the beginning/end of words (vi `b', `e'). * As it turns out, there are many possible interpretations of what a word is. Now we have a function for each reasonable interpretation, and the default settings match those of vi (and w3m in w3m.toml). (Exception: it's still broken on line boundaries... TODO) * Remove `bounds` from lineedit, it was horrible API design and mostly useless. In the future, an API similar to what pager now has could be added. * Update docs, and fix some spacing issues with symbols in the tables.
* container: fix gotoMarkYbptato2023-12-211-2/+2
| | | | | | Now it actually does what it was supposed to do. Also, clarify what it does in config.md
* Fix for sourcehut markdown parsing, small doc improvementsbptato2023-12-151-35/+10
| | | | hopefully this works
* config: allow overriding default prepended schemebptato2023-12-151-2/+13
|
* doc/config: finish path handling documentationbptato2023-12-141-1/+5
|
* config: better path handling; fix array parsing bugbptato2023-12-101-0/+15
| | | | | | | | | * Paths are now parsed through an unified code path with some useful additions like environment variable substitution. * Fix a bug in parseConfigValue where strings would be appended to existing arrays (and not override them). * Fix beforeLast calling afterLast for some reason. * Add a default CGI directory.
* pager: add marksbptato2023-12-091-0/+56
| | | | | Default is vi-style, but w3m-style marks work as well; see bonus/w3m.toml.
* pager: add `{', `}'; document externIntobptato2023-12-091-0/+18
| | | | | | | | { & } acts like in vi (except the cursor is not moved to the line beginning). No reason to leave externInto undocumented, as it is even used in the default config.
* config: add bare aliases for "8bit", "24bit"bptato2023-11-261-3/+7
| | | | | | | | | | | Without this, setting color-mode using -o required quoting the values, and then shell-quoting the quotes themselves (cha -o 'display-color-mode="24bit"'). Instead of more special casing in the TOML parser, we just add aliases for these enum values that can be parsed using TOML bare string rules. So now this works: cha -o display.color-mode=true-color
* container: add cursorNthLink, cursorRevNthLinkbptato2023-10-141-0/+11
|
* Add w3m-cgi-compat optionbptato2023-10-011-4/+19
|
* more vi/m compatbptato2023-10-011-12/+22
|
* Improve vi/m compat in scrollingbptato2023-10-011-2/+39
|
* update docsbptato2023-09-301-9/+21
|
* loader: add local-cgibptato2023-09-301-2/+30
| | | | | | | | | | | Add w3m-style local CGI support. It is not quite as powerful as w3m's local CGI, because it lacks an equivalent to W3m-control. Not sure if it's worth adding; we certainly shouldn't allow passing JS in headers, but a custom language for headers does not sound like a great idea either... eh, idk. also, TODO add multipart
* Add precnum support to more functionsbptato2023-09-261-12/+12
|
* Add M-p as "load page on clipboard"bptato2023-09-251-0/+8
|