UnoDOS pc64

Web browser

A built-in web browser that shows HTML, Markdown and basic CSS, runs JavaScript, and loads pages from local disks or over the web (HTTP and HTTPS).

Tabs, the toolbar and the start page

The browser opens on its start page: the built-in documents (marked ✳) and every file on the RAM disk, USB sticks and hard disks, in one scrolling list. Enter opens the highlighted document.

Above it are a tab strip and a toolbar: back and forward, reload, the start page, the address bar, a bookmark button, and the Marks and History panels. Type a web address in the bar and press Enter to go there.

The start page: built-in documents and disk files in one scrolling list, under the tab strip and toolbar.

Bookmarks are saved on disk, so they are still there after a restart; history is kept for as long as the machine is running. Both open as a panel under the toolbar, and both are lists you can scroll.

The Marks panel. The ribbon button on the toolbar turns gold on a page that is bookmarked.
KeyWhat it does
BackspaceBack to the previous page
← / →Step through the links on the page
EnterFollow the selected link
↑ / ↓ / PgUp / PgDnScroll the page
Ctrl+TNew tab
Ctrl+LJump to the address bar
Ctrl+DBookmark this page
Ctrl+FFind on this page - type to search, Enter for the next match, Esc to close
Ctrl+SSave this page to disk
Ctrl+B / Ctrl+HBookmarks / History panel
F5Reload

HTML, Markdown & CSS

The browser lays out headings, word-wrapped paragraphs, bold and italic, code, links, lists and preformatted text, for both HTML and Markdown — all typeset with real TrueType typography: large bold headings, a monospace face for code, and true italics.

A Markdown document: headings, bold and italic, inline code and lists.
An HTML page: emphasis, code, links, lists and preformatted text. Unknown tags are ignored.

JavaScript

The browser runs the JavaScript on a page and adds its output to the page, with a console panel at the bottom for console.log messages.

Scripts can also work with the page itself while it is open: finding elements (getElementById, querySelector), reading and changing their text, attributes and HTML, creating and removing elements, responding to clicks, and running work later with setTimeout and setInterval. A change a script makes appears straight away - the page is laid out again and redrawn.

Script.html: its JavaScript generated this Fibonacci table on the page.

Choosing the engines

The page at uno:engine - reachable from the welcome page, or by typing it in the address bar - lets you switch three things while the browser is running. No rebuild, no restart: each takes effect on the next page you open.

  • the renderer: the flow painter, UnoDOS's own (the default), or the unoweb engine, which does a full cascade, block layout and display list, and handles images and forms;
  • the script engine: unojs, UnoDOS's own (the default), or quickjs, a vendored full modern JavaScript engine;
  • the CSS cascade: the built-in one (the default), or libcss, the CSS engine from the NetSurf project.

All three default to UnoDOS's own. The alternatives are there so a page that leans on newer JavaScript or more complete CSS has somewhere to go, and so the two can be compared on the same page - open a page, switch, reload, and look at the difference.

The three are not independentThe cascade choice only changes what you see while the unoweb engine is the renderer: the flow painter does not have a cascade for it to feed. The page says so when that is the case, rather than reporting a setting that is doing nothing.

Tables, floats and forms

Pages that use the ordinary furniture of the web lay out properly: tables as real grids with columns sized to their contents, floats with text flowing around them, positioned elements, and forms - click a field, type into it, and press Enter or the submit button to send it.

Over the network

Type a web address and press Enter; UnoDOS connects, looks up the site, loads the page and runs any JavaScript on it. A page's own images and stylesheets are fetched too.

Real sites are bigger than they look. A page whose visible content starts sixty kilobytes into the file - which is ordinary for a large site - now arrives whole; the browser grows its buffers to the page rather than stopping at a fixed size. If a page is genuinely too big to hold, the status line says so instead of quietly showing you part of one.

Three things make that feel quicker than it used to. The page is drawn as it arrives rather than only when the last byte lands, so you start reading immediately. A page and everything it references travel over one connection instead of opening a new one each time. And a page you have already seen is remembered for a short while, so going back to it is instant. Sites that need you to sign in work too - cookies are kept for as long as the browser is running.

A live page loaded over HTTP.
A secure page loaded over HTTPS.
Secure sitesSecure (https://) pages load over an encrypted TLS connection, and UnoDOS checks the site certificate against a built-in list of common certificate authorities. See Networking.