touch interface / on-screen keyboard

The FLTK widget kit doesn’t have multi-touch capabilities, so this is a bit of a visit to the single-touch days. I didn’t have any mobile devices at that time, but I’ve read a little about the interfaces of the time, and I’m not aware of anything amazing that I need to adapt for Dillo on mobile.

Drag to scroll. Scrollbars are shown upon drag, and hidden again upon tap. Scrollbars are so handy, but space is so constrained on a phone.

Long press to bring up the classic right-click menus. There’s a page menu, and HTML pages will also show image, link, and form menus. And there are menus on text input boxes.

Long press on Fwd and Back buttons shows navigation menus. Traditional on browsers, but perhaps not very discoverable.

Text selection. You may be too young to be aware of X11 conventions. Selecting with the left mouse button and pasting with the middle mouse button. It’s called primary selection. (The text input boxes also understand the Windowsy clipboard control sequences.) Turn on text selection from the page menu.

keyboard and mouse

If you change long_press_length to 0 and drag_scrolling_button to 2, it should be pretty much the normal classic-style browser.

Traditionally, in browsers, Escape makes whatever is happening stop. Firefox (Netscape, Mozilla) used to be good at respecting that. So it stops page downloading. And also the FLTK widget toolkit very much likes to use Escape to close things, so it will close menus, etc.

config directory files

text input boxes

Editing commands in the single-line text boxes (Fl_Input) come from some apparent mix of assorted influences. On top of that, Dillo adds a few EMACS-style bindings, ^A to go to the start of the line, ^E to go to the end, ^K to cut the rest of the line, and ^D to cut the next character. And I changed shift-Insert to paste from primary selection rather than clipboard selection because I needed it. It would be nice to add some more EMACS-style bindings, but they tend to need Escape.

The desire to have editing commands is somewhat in conflict with the desire to allow you to set whatever key bindings you like in keysrc.

The URL bar (“Location”)

/ is changed to file:///
~/ is changed to your home directory.

And, on file: URLs, you can use Tab-completion.

And you can perform searches from here rather than using a popup dialog. The old help below talks about that.

The old help is also useful where it talks about cookies and about third-party requests.

Here is the old help page from the old Dillo, minus the bright colors:

Welcome to Dillo 3

Basics:

  • You can tell a link from plain content by the hand-shaped cursor.
  • Besides browsing the web, Dillo also has basic file browsing capabilities included. So, entering file: in your Dillo URL window will give you the contents of your current working directory, and file:~ entered in the same place will point your Dillo browser right to your home directory...
  • Dillo, at this stage of development, is not ready to render pages that use frames. Nevertheless, it comes with a tiny handler (lynx/w3m-like) that will let you choose which frame to visit, one by one.
  • Dillo has context sensitive menus using the right mouse button (available on pages, links, images, forms, the Back and Forward buttons, and the bug meter).

Usage:

  • You can scroll around your Dillo main window using {PgUp|PgDn|Home|End} or using the mouse middle button or mouse wheel. If nothing happens when keys are pressed, try focusing your Dillo main window first by clicking it (not on any link!:)).
  • You can use the space key as PgDn, and {'b' | 'B'} as PgUp.
  • Similarly, you can use "," and "." as shortcuts for forward and backward buttons (mnemonic: those keys are usually labeled "<" and ">").
  • Configuration: If you want to change Dillo's appearance or behaviour, look at the options in your dillorc file.
  • Clicking the "Reload" button always requests an end-to-end reload of the page currently viewed, but it will *not* reload embedded images during this process.
  • Dialogs can be closed with the ESC key. (ESC also hides the findbar and control panels)
  • If you want to try a different control panel, right-click over the tools button and select one that suits your needs, then make it the default in your dillorc file.
  • The whole window area can be used to display the page (ESC key).

Find text:

This one is very useful; it can be found in the right-mouse-button menu. Find text is tuned for speed, so don't hesitate to use it even for minimal searches.

Semantics:

  • You can search for substrings, words and sentences.
  • To find a substring or word, just enter its text.
  • To find a left-aligned substring, prepend it with a space.
  • To find a right-aligned substring, append a space to it.
  • To find full words only, prepend and append spaces to them.
  • To find a sentence, enter the words and remember that the above rules apply for every word in it.

Dillo will scroll the page and highlight found text.

Default shortcut: [CTRL]+"F".

Copy&Paste:

Just hold down the left mouse button and move to select the area to copy. To paste, go to the target application and press the middle mouse button.

If you want to select more than one screen, hold the mouse button down and scroll with PgUp, PgDn or the arrow keys.

If you want to paste an URL into Dillo, do it on the "clear-URL" button (the "X" next to the location bar).

Note: If it doesn't work, please try again. There's a bug lurking there.

Navigation history:

Currently, navigation history supports the navigation-stack model; just right-click on the Back or Forward buttons and they will pop up!

Remember:

  • These history menus are relative to the current page.
  • They show the page-title but the status bar shows the URL.
  • Left-click jumps to the selected item.
  • Middle-click opens the item in a new browser tab/window.

Cookies:

Due to privacy concerns, cookies are disabled by default. That is, if you just compile and use dillo, it will reject every single cookie sent to it!

If you want to enable cookies in dillo, please read Cookies.txt. It's very easy -- just a matter of setting up a cookiesrc file).

Ad blocking:

With a ~/.dillo/domainrc file, you can control how dillo handles automatic requests for resources (like images and style sheets) that aren't at the same domain as the original page.

Tabs:

Dillo has tabbed browsing. Just middle click to open a link or submit a form in a new tab. It will be automatically focused. If you want to customize this behaviour, adjust these dillorc options:

  • middle_click_opens_new_tab
  • focus_new_tab
Press SHIFT to temporarily reverse the focusing behaviour.

You can close a tab with middle-click on its label (the default), or with right-click by setting this dillorc option:

  • right_click_closes_tab

Images-off mode:

You can browse without images now:

  • There is an option in the Tools menu to disable automatic image loading. An image's alt text (or [IMG] placeholder) will appear in the page.
  • If you want to load an individual image, left click on its text.
  • You can set "no images" as the default mode in dillorc.

Bug Meter:

Dillo's Bug meter shows the number of detected bugs inside the page. The bugs are caught at parsing time, so the error messages also show the line where they occur and provide a hint of what was expected instead!

The primary purpose of the bug meter is to help webmasters and page authors to polish the contents of their sites with a view to making them standards-compliant.

The Bug meter is located at the lower right corner of Dillo. Left-click to see the messages, right-click for a menu. [Bug list is reachable from page menu]

Web search from the Location bar:

Besides the GUI, you can also use the location bar as a CLI for quick web search. You can specify a prefix in dillorc for each search engine and use it from the location bar.

Example, in dillorc:

search_url="dd Duckduckgo http://duckduckgo.com/lite/?kp=-1&q=%s"
means you can reach the location bar (CTRL+L), then type:
dd dillo browser
to web-search with Duckduckgo for the keywords: dillo browser.

Keyboard shortcuts:

Shortcut Mnemonic Function
Ctrl-L Location enter a new URL
Ctrl-F Find find text
Ctrl-R Reload reload current page
Ctrl-N New New browser window
Ctrl-T Tab New tab
Ctrl-W Window quit tab/window
Ctrl-O Open Open file
Ctrl-U (conventional) view source
Ctrl-B Bookmarks view bookmarks
Ctrl-Q Quit Quit dillo
Back or "," < previous page
Shift-Back or "." > next page
Alt-F File file menu
Ctrl-TabKey or Ctrl-PageDown TabKey Next tab
Ctrl-Shift-TabKey or Ctrl-PageUp TabKey Previous tab
Esc escape close dialog, close findbar,
Hide/show control panels
[Stop download]

You can change the bindings using a ~/.dillo/keysrc file.