The K-Meleon CD Browser "Kit"

Version 1.1

A CD Browser is a user interface system that starts when a CD placed in a drive, greeting the user and offering then an intuative interface to the options available on the media. TheOpenCD ( and now the Ubuntu Live CD ) use a collection of Open Source components to drive their CD Browser. Some pieces were written specifically for the project while others were taken directly from other projects, in the spirit of Open Source.

To use these instructions, you will need a copy K-Meleon. ( Hopefully they'll let me bundle it up here, we'll see. ) Release 0.9 of K-Meleon was used for this. Outlined below are the changes made to that release.

Changes Applied to K-Meleon

Applying Changes

The following files will be added or overwritten in the default K-Meleon install.

Additionally, I delete the contents of %KMeleonRoot%\plugins and leave only marcros.dll in %KMeleonRoot%\kplugins. You generally don't need these for any CD browser functionality. If you do, leave them alone.

profile

The browser's default/profile directory is where much custom setup is done.

It should be noted that a created profile stores absolute paths in the configuration. This is useless for a distribution whose paths are dynamic. The solution is to create an empty profile directory and point the browser at it at startup. At that point, the default profile will be used.

docshell.dll

This library resides in the components directory of the browser. It allows programs associated in mimeTypes.rdf to exist in relative paths. This is vital for a CD distribution to work.

Christian Biesinger (a.k.a. biesi) kindly provided this modified version.

Programs Unique to this Project

Launch.exe

This program executes commands stored in standard .INI files.

In mimeTypes.rdf, Launch.exe is associated with .lch files. This allows the browser to execute local files.

This file must reside in the browser root.

The ini files for this program use the following format.

[Launch]
ExecuteFile=${cwd}\..\..\programs\install\setup_abiword.exe ; The fully qualified program to run
ExecuteParameters= ; Extra command line information, if there is any.
ExecuteDirectory= ; executing program home, no need to set unless different than program itself.
ShowCommand=0 ; for diagnostics only, displays internal variables

Start.exe

The is the startup program for the CD root. It uses the start.ini file and also creates a default profile in the user's temporary folder.

[Start]
BrowserFile=${cwd}\bin\K-Meleon\k-meleon.exe ; The browser program
PageFile=${cwd}\programs\${langalias}\menu.xml ; the startup page
PageFileDefault=${cwd}\programs\fr\menu.xml ; the startup page if requested page not found
ShowCommand=0 ; for diagnostics only, displays internal variables

SplashStart

Simple splash screen startup program. Not part of kit version 1.5, this creept in at some point. More info here.

Launch.exe and Start.exe Tokenizer

Both these programs allow some system values to be replaced in text at runtime. This is a list of those values:

${cwd}
The complete home path of the Launch.exe program.
${drive}
The single drive letter from ${cwd}.
${inipath}
The path of to the current .ini file.
${langid}
The international language identification for current OS. (e.g. ENU, FRA)
${langalias}
The two letter ISO language code based on ${langid}. (e.g. ENU=en, FRA=fr, FRC=fr)

To Do

SplashStart is a simple proof of concept for a splash screen windows launcher. It was mocked up as a test and I kept it as a pretty good example of the idea and a reminder. At least one version of TheOpenCD uses SplashStart to start Start.exe, which is kind of cludgy. Far better to just put a splash screen option in Start.exe... soon.

Download

Download from SourceForge.net

Older

Version 1.0

SourceForge.net Logo