[elinks-users] [ANNOUNCE] ELinks-0.10pre0
Jonas Fonseca
fonseca at diku.dk
Sat Sep 11 19:48:32 MDT 2004
Hello again,
It is sync time and I hope you are up for a long post. A post that will
try and bring people up to date with the current state of the unstable
ELinks. I want to give an overview of what went in and what to expect.
Over the last half year a lot of things have been going on in the
repository. The release contains almost 4000 patches. To give you an
idea of how much it is the complete changelog of the stable release
dating back to the initial import of the Mikulas' Links Web browser has
7792 entries.
As was the case last year this more relaxed development style made it
possible to work on bigger changes in the code without worrying too much
that it would stall the release cycle. On the other hand it is far to
many patches without the version number being bumped and makes it very
hard to keep track of development and thus stabilize the code.
Which leads me to stressing that this release is far from stable and if
it should crash or annoy you please don't hesitate to report it. As
always your feedback is very valuable. Also please if you have the time
share your ideas about what features you would never dream of using so
we can maybe make them build-time configurable. Last I would love to
hear about significant changes in memory usage from people who upgrade.
The most important things that made it in listed almost directly from
the NEWS file:
* build-time configurability and feature documentation through
features.conf
The features.conf file is the result of the feature.h file added
around 0.9.1 but much simpler since it is just a sh script file
sourced from ./configure. The file holds the defaults of all feature
configuration options which can then later be overrided by
--enable-feature or --disable-feature args to ./configure so that
./configure again takes care of all dependencies.
As a little bonus the buildsystem now generates a features.log file
summarizing your current configuration in an easy to read form.
* build system fine-tuned to use automake conditionals
The use of automake conditionals should hopefully optimize your build
so that only directories with code you need is entered and only files
with code you need is compiled.
* simple CSS support
This work was started by pasky and later grew to become what looks
like a solid base for future CSS work. It is simple because only text
properties such as fore- and background color, underlining / bold and
alignment is supported. Also only selectors of ``clean'' elements is
supported. No #id or .classes.
Configurable at build-time.
* support plain-text mark-up (_^Hx to underline, x^Hx to embolden)
This is Miciahs work. Very practical for the Mutt user manual. If you
don't know what I am talking about then try to look at the beatiful
rendering if you do `man elinks | elinks`.
* multiple URIs on the command line
Witekfl did the initial work on this handy feature. The first URI is
opened in the current tab and the rest in backgrounded tabs.
* tabs moving (press Alt-'>' or Alt-'<')
Keep your tabs ordered. Note Alt keypresses are badly handled in
xterms it seems so the default keybinding might not work for you.
* exmode CLI support (press ':' followed by action and args) (experimental)
This is still far from complete. Pasky threw this in my face and I
tried to poke around the code a bit. There are no completions but it
is quite handy if you forget a keybinding (but knows the name of the
action).
Configurable at build-time.
* cursor routing (aka w3m-style navigation)
Move the cursor around the document. When it is over a link the link
is highlighted. Moving the cursor out of the document view will
scroll the document in that direction. Inspired by witekfl's probe
patch and Miciah and I made it usable.
* modal text-input form-fields editing (disabled by default)
This is a gross usability improvement. Makes it possible to avoid
form items to automatically take the focus when scrolling or moving
between links. To edit a text-input form-field you need to first
enter it with a keypress.
* typeahead text searching (press '#/')
This is search-as-you-type variant of document searching. Works much
the same way as link text typeahead. You can tab between matches.
* Mozilla-compatible -remote option (http://www.mozilla.org/unix/remote.html)
A native and more standard way of doing part of what the
elinks-remote lua hack did. We have already added one extension: the
possibility to add bookmarks. If you have ideas for other extensions
feel free to speak up.
This can be coupled with the multiple URIs feature to open multiple
URIs in new windows. More info about which commands are supported in
the --long-help.
* support for internationalized domain names via libidn (RFC 3490)
A lot of the cleanups in this release was to the URI ``layer'' which
among other things made it fairly easy to support internationalized
domain names. Proxy support for this thing is still not working.
Requires GNU libidn is installed.
* support for the data URI scheme (RFC 2397)
Mostly used for inlining small documents.
Configurable at build-time.
* gopher protocol support (RFC 1436)
Interestingly this started as a port of the Lynx gopher code so you
will still find old comments but ended up being more like a rewrite.
Support for CSO phone book URIs / server connections has not been
ported.
Configurable at build-time.
* NNTP protocol support (RFC 977 and 2980) (experimental)
This was my late night hacking project for several weeks. It can
fetch a message by id or given article number from a group. There is
also limited support for browsing groups and articles on the news
server but still a lot of work is needed for making it really useful.
Configurable at build-time.
* manual cookies creating and editing support
A sinister feature.
* PERL scripting back-end (experimental)
Another and even more sinister feature. ;-)
* -localhost option to block connections to remote hosts
Restrict viewing of saved HTML documents from retrieving linked
CSS documents or nested frames.
* -verbose option to control messages printed at startup
Ever tried to open elinks and it takes forever because it prints each
error message so slowly. This is your way to make all that disappear.
Hopefully this will at some point also make it possible to trace the
initialization of the various modules at startup.
* -default-keys command line option to ignore user-defined keybindings
Mostly useful for debugging purposes.
* -confdir option renamed to -config-dir
* -conffile option renamed to -config-file
Please see ChangeLog for full list of changes and credits (together with
AUTHORS).
I've tried to summarize a few things to expect:
* The document at http://pasky.or.cz/~pasky/dev/elinks/roadmap-1.0 is
still very much in effect. I'd like to get most of the entries into
bugzilla and take it from there. One of most interesting things
would be to support more CSS selectors.
* Miciah has some great ideas for improving the mouse button handling
to make it more standardized. It was committed while I wrote this
announcement.
* In case I get bored with fixing bugs I hope to pick up the DocBook
documentation subproject I started a long time ago.
It is getting late so enjoy the release.
--
Jonas Fonseca
More information about the elinks-users
mailing list