Google Gadgets is an open-source implementation of Google Gadgets platform for Linux.
Google Gadgets for Linux provides a platform for running desktop gadgets under Linux, catering to the unique needs of Linux users. We are compatible with the gadgets written for Google Desktop for Windows as well as the Universal Gadgets on iGoogle. Following Linux norms, this project will be open-sourced, under the Apache License.
The Windows and Mac versions of Google Desktop has provided gadget hosting functionality on Windows and Mac for a while now and the Linux version of Google Gadgets will extend this platform to Linux users. By enabling cross-platform gadgets, a large library of existing gadgets are immediately available to Linux users. In addition, gadget developers will benefit from a much larger potential user base without having to learn a new API.
There's two main components to the application: one is a common gadget library responsible for running and presenting a gadget, and the other is a host program that allows the user to choose gadgets and run them on the desktop. Currently we have hosts written for GTK+ and QT, with the GTK+ host offering a sidebar similiar to that of Google Desktop for Windows.
Configure and build
autoconf/automake supports building inside source tree and outside source tree. We suggest to build outside source tree. You can create a directory and build it in that directory, then all files will be output into that directory. The source tree won't be touched at all. Following commands configure and build Google Gadgets for Linux in build/debug directory with default configure options.
$ mkdir -p build/debug
$ cd build/debug
$ ../../configure --enable-debug
The configure script has many options that you can use, use command:
To get a detailed list. For example, if the spidermonkey library was not installed into system standard library directory, you may want to use --with-smjs-incdir and --with-smjs-libdir options to specify the include and library directory of installed spidermonkey library.
If you don't specify any configure option, the configure script will determine the optimal options automatically.
Note: the debug build contains extra code only for debugging purpose, like debug logs. It will affect the runtime performance and increase the code size. Normally it's not necessary for ordinary users.
Install, run and do unit tests
If the configure and build finished successfully, you can either install it or run it directly.
$ make install
to install google gadgets for linux into the default installation directory, /usr/local. Use --prefix configure option to change the default directory. You may need root privilege to do installation.
If you want to make a binary package instead of installing it into system, you may use this command:
$ make DESTDIR= install
Then all things will be installed into /tmp/ggl-root directory. Then you can just pack everything in this directory altogether into a package.
Currently there are two runnable binaries (both or one of them, depending on which toolkit(s) you chose):
* ggl-gtk A host based on Gtk widget libraries.
* ggl-qt A host based on Qt widget libraries.
They have identical functionalities, you can choose either one. However for now, ggl-gtk is more mature than ggl-qt. You can just run them from command line. Use -bg option to turn them into background mode. -h option can print a brief description for available command options.
If you want to run all unit tests, just use this command:
$ make check
Ordinary users are not necessary to run unit tests.
· libcurl >= 7.15.0, openssl backend is required
· SpiderMonkey >= 1.60
· libxml2 >= 2.6.0
· zlib >= 1.2.0
· xulrunner-dev >= 1.8
· D-Bus >= 1.0.2
· gstreamer and gstreamer-plugin-base >= 0.10.0
What's New in This Release: [ read full changelog ]
· Some nasty bugs found in 0.10.4 have been fixed.
· An about dialog for both GTK and Qt hosts has been added.
· A Doxyfile is included in the source package, which is used for generating an API reference document with doxygen.
· A fully static build is supported.