Here are the minutes of the 2013 NetSurf AGM.
Thanks to Daniel Silverstone for recording them.
* Daniel Silverstone
* Vincent Sanders
* Michael Drake
* Rob Kendrick
* Chris Young
* FranÃ§ois Revol
Michael welcomed everyone to the 2013 NetSurf AGM.
Last year's society committee consisted of:
Michael Drake, Chair
John-Mark Bell, Treasurer
Daniel Silverstone, Secretary
Last year's non-committee membership consisted of:
Nobody has left and noone has joined, thus the society stands at 8 members
and as such remains functional.
Unfortunately we do not have an up-to-date treasurer's report at this time.
John-Mark is unable to attend.
However, we have an August 4th report:
Since August 4th, approximately 300 UKP has been spent on CI server
hosting for the coming year.
The chairman's report can be found at:
Since this report, treeviews have been added. The only blocker against 3.1
is the reworking of forms.
I have received nominations and seconds for the incumbent society committee
members. No incumbent has declined the nominations. Thus the question to
vote on is "Should the incumbent committee serve for another year?".
Everyone present voted in favour of the incumbents.
Since no votes against were registered before the meeting, the incumbents
are hereby elected to remain as the service committee for the coming year.
Michael reiterated that the short-term project goal is to get 3.1 done
since the release of 3.0 was somewhat rushed. Longer term, our goal
remains dynamic layout and better JS integration, along with correcting
our CSS selection performance which is currently very poor.
generator's support for inherited elements to be improved and that after
then, it is mostly just writing the DOM bindings. Vincent even believes
that the bindings may be able to be automatically built, but he lacks time
to achieve this for now.
Daniel suggested a hack weekend. Michael agreed and Vincent offered to
host. Rob pointed out that Codethink could possibly host too if people
fancied Manchester instead of Cambridge. Michael suggested we wait and
consult with John-Mark about dates etc. He also called for a possible
attendance list. Michael, Vincent, Daniel and Rob all indicated an
ability to attend.
AI: Vincent to liase with John-Mark and then make a plan for a hack
Chris raised that printing gets mentioned to him. This comes back to
content cloning which is a known issue at this time. FranÃ§ois asked how
much of printing is platform-specific. Initially printing would be
generating a PDF which makes it mostly core. Rob wondered if it might be
worth writing a PostScript render backend. Michael reminded the meeting
that we'd need stylesheet selection, @media handling etc. and for the
layout engine to properly support pagination.
Daniel proposed that we shelve printing for now, and reconsider it when
determining requirements for the new layout engine. Everyone agreed.
Michael suggested we might be able to achieve some kind of poor quality
print short-term if we wanted.
### Bug Trackers
Michael raised that the SourceForge bug tracker no longer functions in
NetSurf. Rob suggested that we could fire up a BTS on one of the machines
we use for CI. Daniel asked if Rob had any suggestions for which BTS to
run. Rob stated a dislike for them all.
Vincent pointed out that there's plenty of headroom on the CI master
machine now. Mantis can be run in a VM with one CPU and 512MB of RAM.
Chris indicated that he ran a Mantis for a while and that it worked with
NetSurf when he did. Michael and Vincent both raised importing the old BTS
AI: Rob Kendrick to research bug trackers and suggest one which can be run
reasonably easily and will work with NetSurf. Expectation is Mantis
but there are other options.
### Continuous Integration
The CI system now consists of four systems. Two are MacOS-X systems and
two are x86 VMs hosted by Mythic Beasts. The Mythic beasts systems have 2
gigs of RAM each and we run Jenkins and the downloads sites on one and use
the other as a build slave.
Vincent raises the question: What about continued support for the
platforms not under CI, and also MacOS-X PPC. Michael pointed out that
this involves the BeOS port since that cannot be CI'd at this time, and
that MacOS-X PPC cannot run Java 1.6 which prevents us from upgrading
Michael asked if it is impossible to cross-build the MacOS-X port. Vincent
said yes, hence the native builders.
FranÃ§ois pointed out that for BeOS/Haiku to be CI'd, he'd need to sort
out the cross-toolchain. Since the toolchain is not meant for building
outside of Haiku's build process it will be a pain. Rob pointed out that
we'd want the cross-environment to be prepared in the same way as all the
other systems and FranÃ§ois agreed.
Vincent pointed out that if we can run Java 1.6 on Haiku then we could
host a "real" build slave on it. FranÃ§ois pointed out that non-gui stuff
might be possible and Vincent agreed that the Jenkins slave is headless.
In theory therefore it might be possible.
AI: FranÃ§ois to research the build options for Haiku and BeOS and come
back to the group with a proposal for getting it into CI or else
Michael advocated dropping MacOS-X PPC after 3.1. Vincent explained that
the PPC port of MacOS-X doubles the build time on the CI.
Michael asked Chris if the Amiga CI builds see much action. Chris said
that he knows of a few people who download them. Vincent asked if there
was any way to improve matters and Chris asked for a 'With JS' build.
Vincent asked Chris to update the Amiga cross-toolchain to the appropriate
Spidermonkey release and then he will enable them.
AI: Chris to sort out Spidermonkey for the Amiga cross-toolchain
Michael thanked everyone for attending. Daniel indicated that these
minutes will be posted to the mailing list soon.
Michael Drake (tlsa) http://www.netsurf-browser.org/
When the triangle glyphs aren't available (as is the case on certain
platforms, unless we distribute the glyphs ourselves), the treeviews don't
As an alternative, I could just draw triangles with the polygon plotter.
There are a few drawbacks with this:
- Triangle has to have dimensions which are even or the
triangle will look lopsided.
- Polygon plotter may not anti-alias.
You can see how they would look on this page, where I've faked them up
with borders that NetSurf plots via the polygon plotter:
Michael Drake (tlsa) http://www.netsurf-browser.org/
I have previously patched netsurf and a couple of test programs to automatically select the appropriate nsfb backend using getenv() if it is not provided as an arg, but it may be useful to have this as the default behavior.
the following env variables are set:
Wayland -> WAYLAND_DISPLAY
xcb -> DISPLAY
linux framebuffer -> FRAMEBUFFER (and possibly isatty()?)
vnc -> check port 5900?
able -> no idea
For the ones I'm familiar with the order should be wayland,xcb,linuxfb,sdl but I am less familiar with able and vnc. I assume Able should fall somewhere around the linuxfb and vnc should either be first (by checking port 5900) or required as an arg.
On Sat, 14 Sep 2013 08:27:51 +0100, Commit Mailer wibbled on for an age:
> - Log -----------------------------------------------------------------
> commitdiff http://git.netsurf-browser.org/netsurf.git/commit/?id=951ad51cd45ba2e5f49...
> commit 951ad51cd45ba2e5f49fab169ccbabc8f98a5185
> Author: Michael Drake <tlsa(a)netsurf-browser.org>
> Commit: Michael Drake <tlsa(a)netsurf-browser.org>
> Add functions to get first selected hotlist/global_history node data.
There seems to be a problem with the nsurl* these are returning - I'm
getting nsurl_ref crashing if I pass them to any function (eg.
recived in private mail, attached the patch from the url
----- Forwarded message from Murat Gocmen <gocmenmurat(a)gmail.com> -----
Date: Tue, 10 Sep 2013 12:17:49 +0100
From: Murat Gocmen <gocmenmurat(a)gmail.com>
To: jmb(a)netsurf-browser.org, vince(a)netsurf-browser.org
Subject: i have a fix for libcss
I am not even sure if somebody going to have this email, but i will try,
lately i have seen a different behaviour on border shorthand setting,
when setting border: xxx it was setting the border color value,
pathc is attached,
I have passed the css test suite border shorhand properties test via this
----- End forwarded message -----
Since the old treeview was inefficient, a bit flaky, and difficult to
maintain, we've been planning to replace it for some time.
I have a treeview rewrite in progress which is quite advanced, and I've
just pushed what I have done so far. Currently this is a new generic
treeview module, a partial new global history module, and a hack in the
old treeview for testing the new one.
To see the new treeview in action, either set temp_treeview_test:1 in the
Chocies file, or pass --temp_treeview_test=1 when you execute NetSurf.
With this option set, the global history treeview test can be found in the
hotlist/bookmarks/favourites window. You can have the old and new global
history treeviews open side-by-side.
Any feedback welcome.
A few more notes follow.
On a 600MHz XScale, the new global history treeview builds much faster
with my current 326kB of URL file.
(2.440000) desktop/global_history.c global_history_init 657: Loading
(2.600000) desktop/global_history.c global_history_init 709: Loaded
(2.690000) desktop/history_global_core.c history_global_initialise 281:
Building history tree
(4.020000) desktop/history_global_core.c history_global_initialise 288:
History tree built
That's 0.16s vs. 1.33s. The new one is probably fast enough that we could
get away with making the global history treeview when the global history
window is opened, rather than generating on startup.
RISC OS treeview drags
Seems that the RISC OS front end doesn't pass the mouse coordinate to the
core during drags in the treeview window, which is making the drag
behaviour there a bit peculiar.
Single click on the expand/contract arrow toggles its expansion.
Single click on text/icon selects it.
Double click on a directory toggles its expansion.
Double click on an entry will "launch" it.*
Drag from an empty area starts a selection.
Drag from text/icon region will start a move drag.
Drag from anywhere in a selection will start a move drag.
First mouse button creates new selection.
Second mouse button modifies a selection.
Keyboard shortcuts for select all, clear selection, and delete selection
* Global history doesn't implement the launch callback msg yet.
Global history TODO
- Need to implement launch message handling
- Need to implement node deletion message handling (so the delete actually
- Need to make browser window update the new global history code as you
1. Get some feedback.
2. Address feedback.
3. Finish new global history.
4. Change global history to use new treeview, removing temp test option.
5. Implement bookmarks, ssl cert chain viewer and cookie manager
with new treeview. Need to add various features to the treeview,
such as read-only mode, node movement drags, etc.
Up to and including step 5, there will be no changes in the front ends...
the old tree stuff will be wrapper layers for the new stuff.
6. Change front ends to use new treeview stuff directly.
Somewhere before step 6, I intend to change the interface for the using
the new treeview features a bit (core_window stuff).
Michael Drake (tlsa) http://www.netsurf-browser.org/