The Konqueror/Embedded project attempts to build up a special version of the web browsing component of the KDE browser Konqueror (in particular its html rendering engine khtml and its io subsystem) . Konqueror/Embedded runs on the Qt/Embedded platform for embedded devices, in an environment without a KDE installation or a X windowing system, as one static binary, being as small as possible while still providing all essential features of a web browser, including
- Non-blocking IO
- Builtin Image Viewer
- IPv6 support
- Full xbel compatible bookmark support and management
Another key feature is the fact that Konq/E is not a fork of the browser components of KDE but it is part of the actual build process to copy over the original sources of the rendering engine, the HTTP client implementation and various support classes and compile them without modification. This is accomplished by providing drop-in replacement classes, providing source compatibility to the original code, while being optimized in size and functionality for Konq/E . This has the tremendous advantage of being able to gain from the latest bugfixes and improvements of the original browser, for free!
- How can I make Konq/E pick up the Qt/Embedded library instead of the normal Qt lib?
- I heard there's special support for the Qt Palmtop Environment?
- Where can I find this Qt Palmtop Environment?
- The startup time of Konq/E is very slow when using Qt/Embedded. Is there a hidden turbo-boost configure switch to accelerate it to lightspeed?
- How do things look like after a make install?
- Is there support for HTTP proxy servers?
- Is there support for caching, to speed up browsing?
- Are there more environment variables konq/e reads?
- Can I make the home toolbar button load www.mycompany.com instead of the KDE website?
- Is there a way to make Konq/E load an initial document on startup, instead of the blank page?
- I'm having trouble with images in html documents. Or Konq/E crashes for me when loading JPEG Images
- Is it possible to internationalize Konq/E, to make the menus show for instance German text instead of the default English?
- How do I run Flash plugins with Konqueror/Embedded?
- Is there a mailing list where I can ask question about Konq/E or participate with development?
- There are tons of special configure options and the like. I'm getting confused. How does your configuration look like?
- How can I add support for an external application handling the foo: protocol?
- Where can I download Konqueror/Embedded?
If you want to compile with Qt/Embedded support, then you have to configure
it with the
--enable-qt-embedded configure switch. Also make sure
QTDIR is set correctly.
There is a --enable-qpe configure switch which will make Konq/E link
against the Qt Palmtop Environment libraries (and use them) . The support
involves inherittance of the
QPEApplication base application
class and use of the QPE shared status message feature (re-using the
task-bar for status messages, to avoid wasting screen space with an
application status bar) . Make sure to have
QPEDIR set then
using this switch.
Here's the official website: http://qpe.sourceforge.net/ and here's the project page, where you can get the latest development version: http://www.sourceforge.net/projects/qpe/ . Note that Konq/E requires at least QPE version 1.3.1.
The startup time of Konq/E is very slow when using Qt/Embedded. Is there a hidden turbo-boost configure switch to accelerate it to lightspeed?
A lot of time on startup is spend on parsing the available fonts. To optimize this make sure Qt/E only uses the .qpf font files for fonts and no .bdf or .ttf fonts . This will decrease startup time dramatically and reduce memory usage. See the Qt documentation of details about .qpf font files and how to generate them.
Basically an installation consists of three components:
konqbinary, installed into
konquerorstartup script, installed into
share/subdirectory, installed into
/share, containing some data files (in particular charset information and the default stylesheet) . Note that these files are absolutely required for running Konq/E
Sure, although this is currently a bit rudimentary, with regard to
configurability. If you want to use a HTTP proxy server make sure to
HTTP_PROXY environment variable appropriately. Like for
In addition the
NO_PROXY_FOR environment variable is supported.
Set it up to a list of servers for which you do not want to use a HTTP proxy
There is work in progress for a nice configuration dialog for this, combined with storing these settings in a persistent way, not using environment variables.
There are two caches in Konq/e.
The memory cache. Primarily used for caching images and stylesheets. The maximum size is 512 kbyte.
The disk cache. This is disabled by default, however you can turn it on and control it using the following environment variables:
KIO_HTTP_USECACHE- (set to any value to turn on caching)
KIO_HTTP_MAXCACHEAGE- Maximum age of cache in seconds (default 14 Days)
KIO_HTTP_MAXCACHESIZE- Maximum cache size in Kilobytes (default 5Mb)
Yes, here are three:
KIO_HTTP_PROXY_CONNECT_TIMEOUT- default 10 seconds
KIO_HTTP_CONNECT_TIMEOUT- default 20 seconds
KIO_HTTP_RESPONSE_TIMEOUT- default 60 seconds
Yes, the URL loaded when pressing the home button is configurable.
Just provide a
konq-embedrc file in
and specify a
HomeURL=http://your.site.org/ in the
Just put a html document called
Here's how to get optimal image support and how to get rid of crashes related
to jpegs. For GIF and PNG support you can easily use the builtin Qt support.
For MNG the -system-libmng switch for Qt works fine. For JPEG you don't have
to enable the qt builtin jpeg support. Konq/E comes with its own incremental
jpeg loader. In fact the qt jpeg support won't be used. You need to use an
external jpeg library (well, the one and only popuplar libjpeg which you most
likely already have anyway) . To convince configure to pick up your jpeg
library you might probably need the
Is it possible to internationalize Konq/E, to make the menus show for instance German text instead of the default English?
make messages in the konq-embed directory. This will create
a konqueror.pot file which you can use with standard GNU i18n tools. Like for
msgmerge to merge it with your existing translations.
For translating the actual POT files I strongly recomment using
KBabel , it's certainly one of
the very best translation applications out there.
To actually use a POT file with Konq/E you have to convert it
to a Qt message file. This is done easily using the
shipped with your Qt distribution, in
$QTDIR/tools/msg2qm . Run
$QTDIR/tools/msg2qm/msg2qm konqueror_de.pot konqueror_de.qm
To make Konq/E use the correct Qt message file, install the .qm file into
$prefix/share/locale . The filename has to be in the format
konqueror_<languagecode>qm . The choice of the language is done on
the basis of the
LANG environment variable.
So for example if you have a german translation installed as
then just make sure the
LANG environment variable is set to
"de" . Konq/E will then automatically load the message file and
utilize the translations.
Last but not least: Translation support works only if Qt is compiled with translation support!! So double-check your qconfig-local to NOT contain
You have to enable the Flash add-on (via --enable-add-ons=kflashpart) which
is based on the flash library written by Olivier Debon. This add-on does not
require X but only implements Flash 3 features and a few of the Flash 4.
Other efforts are on the way to port the Netscape plugin support to Konq/E (which will require X).
Yes! Help is needed and more than appreciated! More information about the dedicated mailinglist can be found at http://mail.kde.org/mailman/listinfo/konq-e
Please keep in mind that I in particular am working on this in my spare free time. I'm doing it for the fun of it, I don't get any money. So please bear with me if I don't answer to emails within 5 minutes.
There are tons of special configure options and the like. I'm getting confused. How does your configuration look like?
Here's what I use for cross-compiling for the iPAQ:
./configure -gif -qt-libpng -no-jpeg -no-mng -no-thread -no-opengl -release -shared -no-g++-exceptions -I/usr/local/arm-linux/include -depths 16 -qconfig local -no-qvfb -xplatform linux-ipaq-g++
../xconfigure --disable-debug --enable-static --disable-shared --enable-qt-embedded --enable-qpe --with-extra-libs=$PWD/../lib/ --with-extra-includes=$PWD/../include -without-ssl --prefix=$PWD/../install
xconfigure is a configure wrapper script I found on the net.
It's handy when cross-compiling for ARM-Linux, as it sets up all necessary
special configure switches to get things right. I put up a copy of it
Edit /share/config/konq-embedrc and add a section like this
[External Protocols] mailto=foomailer myfooprotocol=specialxzyplayer
(this feature is available as of CVS >= 20010625)
We would suggest to use one of the snapshots available. These snapshot are created with well known configuration parameters which avoiding some of the usual beginner mistakes.
The most recent snapshots are available at: http://www.basyskom.de/index.pl/konqe.
Various older snapshots are available at: http://www.cirulla.net/kdenox-snapshots/.
If you're interesting in bleeding edge stuff then you can also check out the source from the KDE CVS Repository , in the kdenox module (see http://websvn.kde.org/trunk/kdenox/). Note that besides this module you will also need the kdelibs module for building. Make sure your copy of kdelibs resides in the same directory as the kdenox module.
[ Edit ]