xdhcefq is a tool, from the Epeios project, which handles native application with a xdhtml interface. It uses the Chromium Embedded Framework (CEF) as HTML renderer.
xdhcefq can be build as command-line binary for GNU/Linux, OS X and Windows, running on IA-32 and AMD64 compatible processors. It's not as versatile as other Epeios-based tools (no ARM support, for example) as it heavily relies on CEF.
See the compilation dedicated page to see how to obtain the binaries.
For Windows, prebuilt Win32 binaries are available in the download section.
In order to compile this tool, you have to download CEF for you OS, then you have to set the CEF environment variable to the root directory of the unpacked package. Then follow instructions given in above indicated page.
For GNU/Linux and Windows, the Minimal Distribution will be enough, but for MacOS, you need the Standard Distribution.
.cpp
files, with include and/or source directories definitions pointing to the src
directory, and to the CEF package root directory, should be simple.
The Epeios source code generally compiles without a single warning from compiler, but, when compiling this tool, there could be some warnings, due to the CEF headers.
Create a directory, where you put the xdhcefq binary, and the xdhcefq.xcfg
and xdhcefq.xlcl
files. From the CEF package, put also:
(Release|Debug)/libcef
, .so
or .dll
, depending on your OS),(Release|Debug)/widevinecdmadapter.dll
library,(Release|Debug)/*.bin
files,Resources/icudtl.dat
file,Parameters/CEF/ResourcesDirPath
in the configuration file, or in the same directory if this entry is not defined, all the Resources/*.pak
files,Parameters/CEF/LocaleDirPath
in the configuration file the files in Resources/locales
, or in the same directory if this entry is not defined the Resources/locales
directory.
Put also in this directory the CEF
directory from the xdhcefq package. Modify the URL
entry of the xdhcefq.xcfg
file to point to the xdhcefq.html
in this CEF
directory.
To launch the application:
xdhcefq -m=<path to>/<module>
where <module>
is the the name of the xdh
suffixed dynamic library corresponding to the application, and <path to>
, the path to this library. If this library is in the same directory as the tool, then give the absolute path, or .
.
I am not very familiar with MacOS so, until I have time, or someone be willing, to create the right procedure, here is a (ugly) procedure which should work.
(From the CMakeList.mk
provided with CEF.)
Cmake and the XCode developers tools must be installed.
From the root directory of the CEF package:
mkdir build && cd build
,cmake -G "Xcode" -DPROJECT_ARCH="x86_64" ..
,cef.xccodeproj
in the build
directory under the CEF root directory.
From the previously created build
directory (you have probably to set your computer to developer mode to be able to do following):
/tests/cefsimple/Debug/cefsimple.app/Contents/MacOS
:xdhcefq
binary,cefsimple
,xdhcefq.xcfg
and xdhcefq.xlcl
:xdhcefq.xcfg
must have the Parameters/CEF/ProcessType
set to Main
),install_name_tool -change "@rpath/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" cefsimple
/tests/cefsimple/Debug/cefsimple.app/Contents/Frameworks/cefsimple Helper.app/Contents/MacOS
:xdhcefq
binary,cefsimple Helper
,xdhcefq.xcfg
and xdhcefq.xlcl
:xdhcefq.xcfg
must have the Parameters/CEF/ProcessType
set to Sub
).install_name_tool -change "@rpath/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "cefsimple Helper"
,xdhcefq.xcfg
files the Parameters/ModuleFilename
entry so it contains the path and name of the frontend dynamic library (which name is something like lib<name>xdh.dylib
).
To launch, double-click on tests/cefsimple/Debug/cefsimple.app/Contents/MacOS/cefsimple
.
See the global configuration dedicated page.
See also the xdhtml configuration dedicated section. The Parameters/ModulFilename
mentioned in this section entry is set through a command-line argument (launch xdhcefq --help
).
There is also a Parameters/URL
entry which have to point to the absolute path and file name (prefixed with file://
) to the provided xdhcefq.html
file.
There are also some CEF-related parameters, grouped in the Parameters/CEF
section, like ProcessType
, SingleProcess
, NoSandbox
… (see CEF documentation if you want more details about them), but their values (which varies from one OS to another) should be correctly set and not changed.
There are some bugs in xdhcefq which seems due to CEF with following effects:
Also, if, when launching, you have a dialog box with Attach debugger !
message, simply dismiss it. It's a debugging feature which was forgotten to be deactivated.
xdhcefq is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Other rights can be granted, but only by an explicitly written permission from the author of xdhcefq.
There is no dedicated download section, as this tool is included in each package which needs it.
xdhcefq is developed by Claude SIMON (http://q37.info/contact/).