about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
* pager: detect JS as textbptato2024-03-241-1/+5
| | | | | hack so it's possible to view JS code in a buffer even if it's set as e.g. application/javascript in user mime.types
* bufreader: add initPacketReaderbptato2024-03-243-7/+14
|
* buffer: form fixes & improvementsbptato2024-03-245-86/+130
| | | | | | | * fall back to text for unimplemented input types * add custom prompt to all text-like input types * show min/max for range * fix accidental override of repaint
* io: add bufreaderbptato2024-03-2110-261/+426
| | | | analogous to bufwriter
* config: add default-headers to siteconfbptato2024-03-215-48/+41
| | | | | | | 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.
* update readmebptato2024-03-211-5/+4
|
* term: use termcap for italic resetbptato2024-03-211-3/+7
|
* libregexp: update LRE_FLAG_UTF16 namebptato2024-03-213-3/+3
| | | | upstream now calls it unicode
* cell: update FormatFlag naming, remove useless templatesbptato2024-03-216-57/+45
|
* catom: at -> satbptato2024-03-216-196/+191
| | | | just for consistency
* loader: set static CGI env vars in initLoaderContextbptato2024-03-212-7/+8
| | | | no reason to do it separately in setupEnv
* main: refactor slightlybptato2024-03-212-149/+137
| | | | | | * put forkServer into main() * use a ctx type instead of closures * get rid of types/opt import
* ansi2html: add separate switch for "standalone"bptato2024-03-213-3/+9
| | | | | this way its output can be embedded into documents without a pointless DT declaration
* buffer: send title during load + other title stuffbptato2024-03-213-21/+35
| | | | | | | * send title to pager as soon as it's available * expose `title' to DOM * rename undocumented `getTitle' js function to `title' getter in Container
* buffer: also buffer input readsbptato2024-03-213-42/+55
| | | | this is buffer reading from pager
* ftp: basic sftp supportbptato2024-03-215-40/+135
| | | | | | | it still sucks, but it is at least slightly more usable. this also fixes a bug in dirlist where sort would mess up item name association
* pager: fix flipped predicate for downloadbptato2024-03-211-1/+1
| | | | we want to check if it's *not* text.
* buffer: also buffer reads for packetsbptato2024-03-202-16/+21
| | | | | Since we know the length of packets, we can also read them in in one call. Though I really wish we could do this without the StringStream.
* client: fix dump detectionbptato2024-03-201-7/+7
| | | | it wouldn't start dump mode if stdout was not a tty but stdin was.
* git.cgi: show command in title for logbptato2024-03-201-0/+3
|
* pager: add "save link", "save source"; change & document some keybindingsbptato2024-03-206-72/+139
| | | | | | | | | * `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
* pager: do not ask to download text/*bptato2024-03-191-1/+1
| | | | it's text, so we can display it anyway.
* config: remove system mailcaps from default mailcap pathbptato2024-03-192-8/+15
| | | | | | | | I haven't seen a single OS-shipped mailcap file yet that would be suitable for use with Chawan. The one on Debian wants to open every text file with vim; the one in FreeBSD ports is straight up broken. mime.types works much better and thus stays.
* main: set CHA_LIBEXEC_DIR env var at startupbptato2024-03-195-26/+22
| | | | This way, we can use it everywhere (e.g. in mailcap).
* bonus: add git.cgibptato2024-03-191-0/+64
| | | | just for clickable git log hashes
* cgi: set cwd to CGI dirbptato2024-03-191-3/+7
| | | | | for w3m and real CGI compatibility; also, it makes more sense than using whatever directory the user happened to be in when starting the browser
* urimethodmap: do not set query string for gmifetchbptato2024-03-191-1/+1
| | | | we use MAPPED_URI_* now
* buffer: add markURLbptato2024-03-198-10/+70
| | | | Useful when browsing plaintext files; w3m has it too.
* urimethodmap: fix sftp, ftpsbptato2024-03-191-2/+2
| | | | they all use the same CGI script (with varying success)
* man: improve processBackspace underscore handlingbptato2024-03-191-2/+6
| | | | | | it is best to base our interpretation of ^H_ on the current formatting, because a) it works predictably well on man output and b) a formatting mismatch results in manRe malfunctioning
* stylednode: clean up code stylebptato2024-03-181-30/+39
|
* client: refactor inputbptato2024-03-185-167/+159
| | | | | * move mouse handling to term * do not use File for input just to disable buffering anyway
* config: parse mime.types/mailcap/urimethodmap inside parseConfigbptato2024-03-185-104/+76
| | | | | | Better (and simpler) than storing them all over the place. extra: change lmDownload text to match w3m
* pager: remove useless codebptato2024-03-182-16/+1
|
* config: clean up/simplifybptato2024-03-1710-330/+349
| | | | | | | | | * Parse the default config at runtime. There's no significant performance difference, but this makes it much less painful to write config code. * Add better error reporting * Make fromJS2 easier to use * Unquote ChaPaths while parsing config
* Move SIGCHLD ignore call to forkserverbptato2024-03-172-4/+1
| | | | seems like it confuses popen()
* forkserver: set process titles for processesbptato2024-03-172-0/+42
| | | | | this is unfortunately truncated on Linux, but I don't care enough to hack around this
* main: ignore SIGCHLDbptato2024-03-171-0/+4
| | | | to avoid zombies
* man: better error handlingbptato2024-03-171-35/+89
| | | | | | The "redirect stderr to stdout" scheme broke with groff/man-db, as it was spitting out warnings during execution. So now we handle stderr and stdout separately.
* client: fix "Hit any key" bug on load failurebptato2024-03-173-21/+45
| | | | it's an unintended side effect that we do not want
* pager: fix buffer filteringbptato2024-03-171-2/+4
|
* io: add BuferedWriterbptato2024-03-168-207/+310
| | | | | | | | | | Unsurprisingly enough, calling `write` a million times is never going to be very fast. BufferedWriter basically does the same thing as serialize.swrite did, but queues up writes in batches before sending them. TODO: give sread a similar treatment
* client, pager: various file saving fixesbptato2024-03-163-18/+22
| | | | | | * do not immediately quit when all containers are gone * fix double saving bug * fix wrong "save to" string
* pager: fix disappearing buffers when reload failsbptato2024-03-161-9/+8
| | | | | we do have logic for this in replace(), but it was not working because setContainer changed the buffer too early.
* container: fall back to text/plain instead of application/octet-streambptato2024-03-162-3/+5
| | | | | | | | | | | | | This has its own problems, but application/octet-stream has the horrible consequence that opening any local file with an unrecognized type automatically quits the browser. (FWIW, w3m also falls back to text/plain, so it's not such an unreasonable default.) The proper solution would be to a) fix the bug that makes the browser auto-quit and b) show a "what to do" prompt for unrecognized file types (and allow users to override it, preferably on a per-protocol basis.)
* Update docsbptato2024-03-161-3/+0
|
* pager: simplify line editingbptato2024-03-162-64/+69
| | | | | * embed prompt string into enums * move pager.username to LineDataAuth
* pager, loader: add "Save file to" functionalitybptato2024-03-165-39/+138
| | | | | | | 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.
* layout: table column size fixesbptato2024-03-161-33/+20
| | | | | | | * remove unnecessarily duplicated code (probably a copy-paste error) * apply UNIT_PERC computed widths for table cells too (just base it on sizes the table receives) * remove unnecessary parameters in some procs
* loader: add missing flush() callsbptato2024-03-161-1/+4
| | | | | | | Seems wise to flush before e.g. reading. And unwise to enable buffering on tee() even though we disable it on startRequest()