| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
| |
This is required by the standard. (Without this, lots of websites have
incorrect background colors, because they set the body height to 100%
of the viewport.)
|
|
|
|
| |
Pointless; it just returned a default zero-initialized object.
|
|
|
|
| |
It is mostly unnecessary, and conflicts with our use of termcap anyway.
|
| |
|
|
|
|
| |
much better
|
|
|
|
|
| |
Avoid computing e.g. charwidth data for http which does not need it
at all.
|
|
|
|
|
|
|
|
|
|
| |
* Add select & copy selection functionality to container
* Fix bug in generateSwapOutput where output could be misplaced
because of zero-width cells
* Add fromJSPromise, call runJSJobs in every iteration of the
headed event loop
* "await" pager actions that output a promise
* Change default view source keybinding to `\'
|
|
|
|
|
| |
pager.tty refers to infile, not outfile. rename to avoid further
confusion
|
|
|
|
|
| |
pkg-config does not find termcap (or really, ncurses) here, so we
have to find it ourselves.
|
|
|
|
| |
now it's a function
|
| |
|
|
|
|
|
|
| |
* rename module (window -> winattrs, to avoid conflict with env/window)
* do not use result
* remove unused cell_ratio
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
|
|
|
|
|
|
|
|
|
|
|
| |
* Add an extern() call. Maybe it should be defined on client. It
certainly should accept a dictionary instead of the enum type we use
now. Perhaps it should return the error code?
I'll leave it undocumented until I figure this out.
* Refactor enableRawMode, unblockStdin, etc. so that they operate on
the term object instead of global state.
* Move editor to a separate folder, and factor out runprocess into
a different module.
|
|
|
|
| |
Operation "modularize Chawan somewhat" part 1
|
| |
|
|
|
|
|
|
|
|
| |
* Use the output charset in lineedit (as w3m does)
* encoder: fix broken UTF-8 encoding, use openArray instead of var
seq for input queue
* Add RuneStream as an in-memory interface to EncoderStream
* Document display-charset config option
|
| |
|
|
|
|
| |
Fixes a bug that lead to incorrect color approximation.
|
|
|
|
| |
(Instead of crashing)
|
| |
|
|
|
|
| |
Proper fix needed later
|
|
|
|
| |
Avoid writing the escape sequence when dumping files.
|
|
|
|
| |
Sending EL at EOL clears the last character, so we avoid doing that.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Some encodings are still missing
|
|
|
|
| |
Only document-charset supported for now.
|
|
|
|
| |
and other weird things I forgot to remove while debugging
|
|
|
|
| |
Looks like we can't just assign canvas to pcanvas.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Instead of just inverting the color and hoping for the best, convert it
to YUV and increase/decrease luminance based on results.
|
| |
|
|
|
|
| |
Write always blocks for now, as it's too big of a footgun not to
|
| |
|
| |
|
| |
|
|
|
|
| |
It's more useful this way.
|
| |
|
|
Editing is implemented using an external editor (like vi).
|