The Dillo Web Browser The Dillo Web Browser

Dillo
9 years!

Home
Screenshots
Download
FAQ
Compatibility
Changelog
Current Plans
Mailing List
Fosdem 2005
LSM 2005
Donate

Users
Help
Icons
Bug meter

Bug Tracker
Bug Track Intro
View Entries
Bug Insertion
Volunteering

Developers
New Developer
Documentation *
Naming&Coding
Source repository
Dpi1 Spec
CSS Spec
Authors
Security contact

Related
Dillo in the Press!
Interview
Entrevista *
Links
Art

Hosted at:
[wearLab] @TZI

Site Statistics
Webmaster

anybrowser

Frequently Asked Questions

Where is the user manual?

What happened to the dillorc preferences for colors?
How do I force web pages to use my favourite fonts with CSS?
dillo2's rendering is badly broken for me. What do I have to change?
What libraries does dillo2 use?
Can I run dillo2 on directfb?
What's the status of the dillo-0.8.x series ("dillo1")?

Internationalization and Localization (i18n & l10n)
Why do some pages look strange?
How do I enable cookies?
How do I clear my cookies?
How do I enable the https (SSL) support plugin for dillo?
How do I use a proxy with dillo?
Where is the history file?

After upgrading, I get: "ERROR: dpi.c: can't start dpi daemon"!
How do I get started in developing Dillo plugins (dpis)?
I have sent an email/patch/question/etc. to Jorge, but still no answer. What's the deal?
I have an addition to the FAQ/website. Whom do I contact?


Q: Where is the user manual?
(AKA How do I configure dillo/How do I change the settings/What are the keybindings/Where do I change the start page/search engine/panel/etc...)

Here you go.

Q: What happened to the dillorc preferences for colors?
CSS happened! To set colors, make a ~/.dillo/style.css file and add CSS rules there.

old pref new CSS rule
bg_color=purple body {background-color: purple}
text_color=black body {color: black}
link_color=blue :link {color: blue}
visited_color=0x808080 :visited {color: #808080}

To prevent web pages from overriding one of your CSS rules, add "!important" to it.
To replace the force_my_colors preference, you could use, e.g.:
  * {background-color: green !important; color:red !important}
  :link {color: orange !important}
  :visited {color: brown !important}
The asterisk means that this rule should be applied to all HTML elements that are not otherwise specified.

Q: How do I force web pages to use my favourite fonts with CSS?
In your ~/.dillo/style.css file, add rules like:
   code, tt, pre, samp, kbd {font-family: monospace !important}
   * {font-family: serif !important}
Specific fonts are associated with the serif, sans-serif, monospace, fantasy, and cursive font families in dillorc.
Q: dillo2's rendering is badly broken for me. What do I have to change?
You're getting blank regions in the window, and much of the text is being drawn in the upper left corner?

If you configured fltk2 with --enable-cairo, there's your problem. Don't do that :)

OSX users are also reporting problems, but no developers have regular access to OSX. Any help with this matter would be appreciated. (changing buffered_drawing in your dillorc might help, though)

Q: What libraries does dillo2 use?
Dillo itself: Required: libpthread, libiconv, zlib. Optional: openssl, libpng, libjpeg.
FLTK2: At least on Unix, the minimum might be X11, Xi, Xext, plus the default configuration also requiring Xft. (And if Xi is a problem, it might not be too hard to get rid of—there's a USE_XIM in config.h.) OpenGL, exceptions, and rtti can be disabled since dillo does not use them.

The FLTK2 library is normally statically linked into dillo2, so you would only need to get this library itself if you are building dillo for yourself.

Q: Can I run dillo2 on directfb?
No. (although Nikita Egorov was working on a patch for the FLTK2 library once upon a time.)
Q: What's the status of the dillo-0.8.x series ("dillo1")?
dillo1 used the obsolete GTK+-1.2 library and is no longer maintained.
Q: Internationalization and Localization (i18n & l10n)
dillo2's internal character encoding is UTF-8. It uses the iconv library to convert from/to other character encodings.

Scripts with right-to-left display (e.g., Arabic, Hebrew) or complex rendering rules (e.g., Arabic, Indic scripts) will not be displayed properly, as these features are not currently supported under FLTK2.

Dillo 2.2 will have improved line wrapping for Chinese and Japanese text (see screenshots for an example), and there is a patch available to support zero-width space characters for languages that tend to use them to show where linebreaks are legal (Thai, Lao, Cambodian...)

The current Dillo developers use Latin-1 languages, so i18n testing and commentary would be particularly valued.

Q: Why do some pages look strange?
[In part because no one has implemented floating elements yet. But besides that...]

In the lower right corner of Dillo you'll see a bug-shaped icon. This is Dillo's bug meter. Click on it to see the HTML errors that have been detected.

Our policy is not to work around broken HTML. To learn why, see our links, and especially read "The decommoditization of protocols" by Raph Levien.

Any HTML parsing patch should be backed up with information from the HTML 4.01 spec. Note that previous HTML specs can be considered as well.

Q: How do I enable cookies?
For privacy reasons, Dillo runs with cookies disabled by default. Cookies.txt (also available in the tarball) explains why in more detail.

Configuring cookies in Dillo is easy. Something like the following inside ~/.dillo/cookiesrc could be enough to get you started:

   #domain action
   DEFAULT DENY
   fltk.org ACCEPT
   .host.com ACCEPT_SESSION

Q: How do I clear/remove/delete my cookies?
First, stop your plugins (dpis) with the following command:

dpidc stop

The cookies dpi will write any permanent (ACCEPT) cookies to disk, and temporary (ACCEPT_SESSION) cookies will be discarded as the dpi exits.

Second, get rid of the permanent cookies by removing or editing your ~/.dillo/cookies.txt file.

Q: How do I enable the https (SSL) support plugin for dillo?
First of all, beware that this is a prototype in alpha state. It will only provide for very basic web page retrievals, POST and GET. There is no certificate caching and NO AUTHENTICATION performed.

It's disabled by default.

If you want to enable it (e.g. to read forums in https),

dillo-2.1 and later:
configure it using --enable-ssl
dillo-2.0:
Change the following line in dpi/https.c from
#undef ENABLE_SSL
to:
#define ENABLE_SSL
Then recompile and reinstall.

If you want to help us to improve the plugin, please let us know!

Q: How do I use a proxy with dillo?
For HTTP, either set the proxy in your ~/.dillo/dillorc configuration file or set the http_proxy environment variable. To use a proxy with FTP and downloads, you need to configure the wget program that they use. For HTTPS, Dillo-2.0 cannot use a proxy, but Dillo-2.1 and later will use your HTTP settings.
Q: Where is the history file?
Dillo does not have a file containing browsing history.
Q: After upgrading, I get: "ERROR: dpi.c: can't start dpi daemon"
The old dpid and some dpis may still be running. Just:
      ps aux | grep dpid
      dpidc stop
      kill <dpid PID>
      ps aux | grep dpi
      kill <dpi PIDs>
    

Also: If you built dillo from source yourself, did you configure it so that 'make install' put dpid in a directory that's in your path?

[PS dpis have never worked for me when using install-dpi-local unless I add a few things —corvid]

Q: How do I get started in developing Dillo plugins (dpis)?
First, read "doc/Dpid.txt" and then the Dpi1 spec for details. The easy way to get started is to think of them as CGI programs that don't need a web server, and that provide some handy extensions. Dillo comes with several dpis. Play for a while with the bookmarks in dillo (it's implemented with a dpi) to get an idea of what can be done. The hello dpi provides a simpler example ("dpi:/hello/world"). Downloads, FTP and HTTPS are also dpi programs. Choose one of them and start to make some modifications. Remember that a dpi is an independent process that communicates with Dillo by using sockets. As an independent program, it has all the power the underlying OS provides it. For instance, it would be easy to modify the bookmarks dpi to provide for a dillo-based GUI for data stored in a DB server.
Q: I have sent an email/patch/question/etc. to Jorge, but still no answer. What's the deal?
Jorge has much more work than he can cope with. It's impossible to answer all the emails that pour in. There'd be no time for development, design, patch reviewing, patch integration, funding initiative, web site maintenance, quality assurance, release management, ...

So what do I do?

Allow him a week for urgent messages and two for less pressing matters. If he hasn't answered, send a reminder.

Search the dillo-dev mailing list archive.

Subscribe to dillo-dev.

Q: I have an addition to the FAQ/website. Whom do I contact?
Send all such additions, as well as general questions about the website, to the mailing list (subscription required), or me.
20100201 slow DPIs