ELinks 0.18.0
Todo List
Global accesskey_string_to_unicode (s)
FIXME: support for entities and all Unicode characters. (Unpaired surrogates should be rejected, so that the ECMAScript interface can convert the access key to UTF-16.) For now, we only support simple printable character.
File apply.c
TODO: A way to disable CSS completely, PLUS a way to stop various property groups from taking effect. (Ie. way to turn out effect of 'display: none' or aligning or colors but keeping all the others.) –pasky
Global bittorrent_connection::peer_pool
TODO: Use hash.
Global bookmark::title
Bug 1066: The bookmark::url string should be in UTF-8 too, but this has not yet been fully implemented.
Global bookmark_terminal_tabs_ok (void *term_void, char *foldername)

Report the error

Report the error

Global change_hook_css (struct session *ses, struct option *current, struct option *changed)
TODO: We need to update all entries in format cache. –jonas
Global css_property_info []
TODO: Use fastfind when we get a lot of properties. XXX: But only WHEN we get A LOT of properties, zas! ;-) –pasky
Global default_stylesheet
TODO: Basicly we need two default stylesheets. One that ELinks controls (which is defined by the defaults of every property, they could however also be loadable at startup time, e.g. when/if we will have a very generalised renderer it would be possible to bypass the HTML renderer but would simply use an HTML stylesheet like the one in CSS2 Appendix A. "A sample style sheet for HTML 4.0") and one that the user controls. They should be remerged when ever the user reloads the user stylesheet but else they should be pretty static. Together they defines the basic layouting should be done when rendering the document.
Global document::ecmascript_imports
FIXME: We should externally maybe using cache_entry store the dependencies between the various entries so nothing gets removed unneeded.
Global document::frame_desc
RENAME ME
Global draw_formatted (struct session *ses, int rerender)
rerender is ridiciously wound-up.
Global el_match_selector (const char *selector, void *node)
Change nsoption font sizes to px.
Global encode_multipart (struct session *ses, struct submitted_value list *l, struct string *data, struct boundary_info *boundary, struct files_offset list *bfs, int cp_from, int cp_to)
FIXME: shouldn't we encode data at send time (in http.c) ? –Zas
Global get_bookmark (char *url)
Bug 1066: URLs in bookmark_cache should be UTF-8
Global get_bookmark_uri (struct listbox_item *item)
Bug 1066: Tell the URI layer that bookmark->url is UTF-8.
Global get_current_link_info (struct session *ses, struct document_view *doc_view)
TODO: Provide info about script event hooks too. –pasky
Global get_terminal_codepage (const struct terminal *)
Perhaps cache the value in struct terminal?
File kbd.c
TODO: move stuff from here to itrm.{c,h} and mouse.{c,h}
Global link_menu (struct terminal *term, void *, void *ses)

TODO: This should be completely configurable.

TODO: Make it possible to trigger any script event hooks associated to the link. –pasky

Global node_has_class (void *pw, void *node, lwc_string *name, bool *match)
: Ensure that libdom performs case-insensitive matching in quirks mode
Global node_has_id (void *pw, void *node, lwc_string *name, bool *match)
Assumes an HTML DOM
Global node_id (void *pw, void *node, lwc_string **id)
Assumes an HTML DOM
Global node_is_active (void *pw, void *node, bool *match)
Support active nodes
Global node_is_checked (void *pw, void *node, bool *match)
Support checked nodes
Global node_is_disabled (void *pw, void *node, bool *match)
Support disabled nodes
Global node_is_enabled (void *pw, void *node, bool *match)
Support enabled nodes
Global node_is_focus (void *pw, void *node, bool *match)
Support focussed nodes
Global node_is_hover (void *pw, void *node, bool *match)
Support hovering
Global node_is_lang (void *pw, void *node, lwc_string *lang, bool *match)
Support languages
Global node_is_target (void *pw, void *node, bool *match)
Support target
Global open_bookmark_folder (struct session *ses, char *foldername)
Bug 1066: Tell the URI layer that bookmark->url is UTF-8.
Global palette_range
TODO: Part of the 256 color palette is gray scale, maybe we could experiment with a grayscale mode. ;) –jonas
Global resize_screen (struct terminal *term, int x, int y)
TODO: It seems allocation failure here is fatal. We should do something!
Global reverse_md5_bytes (unsigned char *buf, unsigned int longs)
FIXME: Optimize it away on little-endian machines.
Struct screen_driver
TODO: termcap/terminfo can maybe gradually be introduced via this structure. We'll see. –jonas
Global select_css (struct html_context *html_context, struct html_element *element)
Change nsoption font sizes to px.
Global set_display (int xwin, int restore)
Retrieve all environment variables from the slave process and propagate them to the test commands. Actually, it might be best to fork the test commands from the slave process, so that they would also inherit the controlling tty. However, that would require changing the interlink protocol and might risk deadlocks or memory leaks if a slave terminates without responding.
Global sibling_node (void *pw, void *node, void **sibling)
Sort out reference counting
File stylesheet.h
TODO: We need a memory efficient and fast way to define how properties cascade. What we are interested in is making it fast and easy to find all properties we need.
Struct terminal
TODO: Regroup the following into logical chunks. –pasky
Global terminal::windows
FIXME: Tabs violate the stack nature of this list, they appear there randomly but always in the order in which they were inserted there. Eventually, they should all live at the stack bottom, with the actual tab living on the VERY bottom. –pasky
Global test_search (struct listbox_item *item, void *data_, int *offset)
Tell the user that the string could not be converted.
Global ua_default_for_property (void *pw, uint32_t property, css_hint *hint)
Fix this when we have voice-family done