1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
reduce binary size:
- fbf for unifont
- init some JS APIs from byte-code compiled JS?
* ones that return static values could just use a
defineProperty. e.g. most of navigator, parts of screen
charsets:
- set up some fuzzer
- use appropriate charsets in forms, urls, etc.
display:
- important: buffer list
* either a buffer list buffer, or a buffer list popup menu. ideally
both.
- dark mode (basically max Y)
config:
- important: config editor
- better siteconf URL matching
- $TERM-based display config
- add RPC for CGI scripts e.g. toggle settings/issue downloads/etc
* also some way to set permissions for RPC calls
mailcap:
- save custom command?
- w3mmee extensions?
* browsecap looks cleaner than urimethodmap, and would be
useful for mailto
- it overlaps with siteconf quite a bit...
buffer:
- important: validate returned values
* do not block container when receiving buffer data; if invalid, kill
buffer
* this also includes not crashing when the buffer dies while
container is reading...
- color visited links
* needs some sort of conditional formatting in pager, e.g. give
all Formats an id in buffer and send a list of "if URL
visited, change Format" commands
- configurable/better url filtering in loader
- when the log buffer crashes, print its contents to stderr
* easiest way seems to be to just dump its cache file
- add tabs
- xhtml
pager:
- handle long lines
- save/edit buffer output
* just reuse dump mode code
- alert on external command failure
- pipe copiousoutput, x-htmloutput stderr to console
network:
- uBO integration? (or at least implement filter lists)
- dict
- nntp
- websockets
javascript:
- support defining one function with multiple names (maybe with magic?)
- "this" value as JSValue
- distinguish double from unrestricted double
- more events
- ReadableStream
- separate console for each buffer
- buffer selection
layout:
- box borders
* will probably need special treatment, as borders must round to
1ch in x direction and 1em in y direction.
* table is high priority; for other boxes, I don't know if it
would work
- flexbox: align-self, align-items, justify-content, proper margin handling
- details element
- layout caching
* sub-layout is done, now for reusing old trees
* use memcmp/memcpy for sizes check?
* non-root block too, if no floats exist?
- partial rendering
* buffer.lines must go, so rewrite getCursorStyledNode and
findPrev/NextLink to use the box tree
- also findPrevMatch/findNextMatch, but it's hard
without a line array... we can render it as we
go, but it will be slow
* we must calculate the overflow box, but the current approach
is broken, easier to just set it as a property on render
* inline layout's output must be flattened again, so that we can
deal with tall inline boxes (like the <plaintext> tag in
text/plain buffers)
- partial layout?
* may be more trouble than it's worth... for pager-like
behavior, it's easier to just backpressure input
- frame, iframe
- z order
* for images it's straight up broken
- grid
images:
- animation
man:
- add a DOM -> man page converter so that we do not depend on pandoc
for man page conversion
tests:
- pager? (how?)
|