LinkShare rotating banner
Showing posts with label gtk. Show all posts
Showing posts with label gtk. Show all posts

Wednesday, June 2, 2010

Compiling GTK+ Theme Engines

The GTK+ widget library supports diverse customization of look and feel for GTK+ applications. This is achieved by installing a shared library (*.so or *.dll) that provides a particular GTK+ theme style. The default GTK+ theme engine (Raleigh) is too generic and old-fashioned to suit my style. The pixmap engine is too much of a resource hog, and the Wimp engine doesn't seem to work for GTK+ 2.18 and later releases.


My favorite GTK+ theme engines are thus:



  • Aurora engine
  • Candido engine
  • CleanIce engine
  • Clearlooks engine
  • Lighthouseblue engine
  • MagicChicken engine
  • Murrine engine
  • Nodoka engine
  • Rezlooks engine
  • Smooth engine
  • Wonderland engine


Compiling GTK+ Theme Engines 2.20.1


After building GTK+ 2 library, I can compile GTK+ theme engines, including Clearlooks and Lighthouseblue. I couldn't find the upstream release of gtk2-engines, so I downloaded the source from Debian Sid's page.


gtk2-engines requires intltool, so I compiled intltool first.


tar xzvf intltool-0.41.1.tar.gz
cd intltool-0.41.1
./configure --prefix=/mingw
make
make install

configure script will complain if xgettext, msgmerge and msgfmt are not found. I got these programs from my static gettext package I compiled previously.



Then, I compiled gtk-engines as follows:


tar xzvf gtk2-engines_2.20.1.orig.tar.gz
cd gtk-engines-2.20.1/
./configure --prefix=/mingw --disable-deprecated --enable-animation
make

I only wanted clearlooks, so I copied libclearlooks.dll.


find -iname \*dll
cp ./engines/clearlooks/.libs/libclearlooks.dll /mingw/lib/gtk-2.0/2.10.0/engines


Compiling Aurora Theme Engine


I downloaded the Aurora source from here and unpack it. I compiled Aurora like this:


./configure --prefix=/mingw --enable-animation
make
make install


Cygwin: Compiling Smooth Theme Engine


The source code of smooth theme engine can be downloaded from here. Compiling is easy:


./configure --prefix=/usr
make
make install

Monday, May 31, 2010

Compiling GTK+ for Windows with MinGW

GTK+ is a set of open-source widget libraries that are mature, functional and portable. GTK+ library is mainly used by many Linux programs. I am building a complete stack of GTK+ 2.x library before beginning my programming projects. This tutorial makes use of the free MinGW compiler to build GTK+.



If you haven't installed MinGW yet, read this tutorial on installing MinGW in Windows. Alternatively, you can also install MinGW Portable on your USB flash drive so you can enjoy compiling anywhere. GTK+ depends on many basic libraries that provide image, localization, font and other functions. These prerequisite libraries have be compiled first. Once you've installed MinGW and MSYS, launch MSYS. The following steps require you to type commands into MSYS console.




  1. Zlib 1.2.7


    Zlib is an essential compression library required by png, tiff and cairo. Get the zlib source and unpack it:

    tar xzvf zlib-1.2.7.tar.gz
    cd zlib-1.2.7/

    Compile zlib like this:


    make -f win32/Makefile.gcc

    Then, manually copy the files as follows:


    cp -iv zlib1.dll /mingw/bin
    cp -iv zconf.h zlib.h /mingw/include
    cp -iv libz.a /mingw/lib
    cp -iv libz.dll.a /mingw/lib


  2. libiconv 1.14


    libiconv is a character-set conversion library, and is needed by gettext. Download the libiconv source and compile libiconv:


    ./configure --prefix=/mingw
    make
    make install


  3. gettext 0.18.1.1


    GNU gettext is a tool for localizing and translating programs. Build gettext like this:


    ./configure --prefix=/mingw --enable-threads=win32 --enable-relocatable
    cd gettext-runtime/
    make
    make install


  4. glib 2.32.4


    glib's configure script requires pkg-config.exe and msgfmt.exe in the PATH. Download the executables and save them in /mingw/bin. Remember to set the system-wide environment variable PKG_CONFIG_PATH:


    export PKG_CONFIG_PATH=/mingw/lib/pkgconfig

    glib 2.30 and later depends on libffi. Compile libffi like this:


    ./configure --prefix=/mingw && make && make install

    Then, get the glib source from ftp.gnome.org and compile glib as follows:


    ./configure --prefix=/mingw --with-threads=win32 --with-pcre=internal --disable-debug
    make
    make install


  5. ATK 2.4.0


    Download ATK from here. Compile it like this:


    ./configure --prefix=/mingw
    make
    make install


  6. libpng 1.5.12


    PNG can be compiled like this:


    ./configure --prefix=/mingw
    make
    make install


  7. Optional libraries


    The following libraries are optional, but many GTK+ packages include them. It's up to you to decide whether to compile them or not.



    As usual, compile any of them like this:


    ./configure --prefix=/mingw && make && make install


  8. Pixman 0.26.2 and Cairo 1.12.2


    Get Pixman and Cairo from cairographics.org. Compile Pixman as follows:


    ./configure --prefix=/mingw

    make

    make install

    Then, compile cairo:


    ./configure --prefix=/mingw --enable-pthread
    make
    make install


  9. Pango Library 1.30.1


    Compile Pango like this:


    ./configure --prefix=/mingw --with-included-modules=yes

    make

    make install


  10. gdk-pixbuf 2.26.2


    Download and compile gdk-pixbuf:


    ./configure --prefix=/mingw --without-libjasper --with-included-loaders=yes --disable-modules --disable-debug
    make
    make install


  11. GTK+ 2.24.11 and GTK+ 3.4.2


    At last, we are ready to compile GTK+ for Windows. I compiled GTK+ like this:


    ./configure --prefix=/mingw --with-included-immodules=ime --disable-modules --disable-debug

    make

    make install


    To test your newly compiled GTK+ library, run gtk-demo.exe or testgtk.exe.



Friday, June 12, 2009

Packaging, Installing and Configuring GTK+ 2 for Windows

After compiling GTK+ for Windows, we're ready to install and set up GTK+. First, make a Zip archive containing the following files, preserving the directory structure:


bin/charset.dll
bin/cjpeg.exe
bin/djpeg.exe
bin/fc-cache.exe
bin/fc-cat.exe
bin/fc-list.exe
bin/fc-match.exe
bin/gdk-pixbuf-query-loaders.exe
bin/gspawn-win32-helper-console.exe
bin/gspawn-win32-helper.exe
bin/gtk-query-immodules-2.0.exe
bin/iconv.dll
bin/iconv.exe
bin/intl.dll
bin/jpegtran.exe
bin/libatk-1.0-0.dll
bin/libcairo-2.dll
bin/libcharset-1.dll
bin/libexpat-1.dll
bin/libfontconfig-1.dll
bin/libfreetype-6.dll
bin/libgailutil-18.dll
bin/libgdk-win32-2.0-0.dll
bin/libgdk_pixbuf-2.0-0.dll
bin/libgio-2.0-0.dll
bin/libglib-2.0-0.dll
bin/libgmodule-2.0-0.dll
bin/libgobject-2.0-0.dll
bin/libgthread-2.0-0.dll
bin/libgtk-win32-2.0-0.dll
bin/libiconv-2.dll
bin/libintl-8.dll
bin/libjpeg-62.dll
bin/libjpeg-7.dll
bin/libpango-1.0-0.dll
bin/libpangocairo-1.0-0.dll
bin/libpangoft2-1.0-0.dll
bin/libpangowin32-1.0-0.dll
bin/libpixman-1-0.dll
bin/libpng-3.dll
bin/libpng12-0.dll
bin/libtiff-3.dll
bin/libtiffxx-3.dll
bin/libxml2-2.dll
bin/pango-querymodules.exe
bin/rdjpgcom.exe
bin/wrjpgcom.exe
bin/xmlwf.exe
bin/zlib1.dll
etc/fonts/conf.avail/10-autohint.conf
etc/fonts/conf.avail/10-no-sub-pixel.conf
etc/fonts/conf.avail/10-sub-pixel-bgr.conf
etc/fonts/conf.avail/10-sub-pixel-rgb.conf
etc/fonts/conf.avail/10-sub-pixel-vbgr.conf
etc/fonts/conf.avail/10-sub-pixel-vrgb.conf
etc/fonts/conf.avail/10-unhinted.conf
etc/fonts/conf.avail/20-fix-globaladvance.conf
etc/fonts/conf.avail/20-unhint-small-vera.conf
etc/fonts/conf.avail/25-unhint-nonlatin.conf
etc/fonts/conf.avail/30-metric-aliases.conf
etc/fonts/conf.avail/30-urw-aliases.conf
etc/fonts/conf.avail/40-nonlatin.conf
etc/fonts/conf.avail/45-latin.conf
etc/fonts/conf.avail/49-sansserif.conf
etc/fonts/conf.avail/50-user.conf
etc/fonts/conf.avail/51-local.conf
etc/fonts/conf.avail/60-latin.conf
etc/fonts/conf.avail/65-fonts-persian.conf
etc/fonts/conf.avail/65-khmer.conf
etc/fonts/conf.avail/65-nonlatin.conf
etc/fonts/conf.avail/69-unifont.conf
etc/fonts/conf.avail/70-no-bitmaps.conf
etc/fonts/conf.avail/70-yes-bitmaps.conf
etc/fonts/conf.avail/80-delicious.conf
etc/fonts/conf.avail/90-synthetic.conf
etc/fonts/conf.d/20-fix-globaladvance.conf
etc/fonts/conf.d/20-unhint-small-vera.conf
etc/fonts/conf.d/30-metric-aliases.conf
etc/fonts/conf.d/30-urw-aliases.conf
etc/fonts/conf.d/40-nonlatin.conf
etc/fonts/conf.d/45-latin.conf
etc/fonts/conf.d/49-sansserif.conf
etc/fonts/conf.d/50-user.conf
etc/fonts/conf.d/51-local.conf
etc/fonts/conf.d/60-latin.conf
etc/fonts/conf.d/65-fonts-persian.conf
etc/fonts/conf.d/65-nonlatin.conf
etc/fonts/conf.d/69-unifont.conf
etc/fonts/conf.d/80-delicious.conf
etc/fonts/conf.d/90-synthetic.conf
etc/fonts/conf.d/README
etc/fonts/fonts.conf
etc/fonts/fonts.dtd
etc/gtk-2.0/gdk-pixbuf.loaders
etc/gtk-2.0/gtk.immodules
etc/gtk-2.0/gtkrc
etc/gtk-2.0/im-multipress.conf
etc/pango/pango.modules
lib/charset.alias
lib/gtk-2.0/2.10.0/engines/libpixmap.dll
lib/gtk-2.0/2.10.0/engines/libwimp.dll
lib/gtk-2.0/2.10.0/immodules/im-am-et.dll
lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll
lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.dll
lib/gtk-2.0/2.10.0/immodules/im-inuktitut.dll
lib/gtk-2.0/2.10.0/immodules/im-ipa.dll
lib/gtk-2.0/2.10.0/immodules/im-multipress.dll
lib/gtk-2.0/2.10.0/immodules/im-thai.dll
lib/gtk-2.0/2.10.0/immodules/im-ti-er.dll
lib/gtk-2.0/2.10.0/immodules/im-ti-et.dll
lib/gtk-2.0/2.10.0/immodules/im-viqr.dll
lib/gtk-2.0/modules/libgail.dll
lib/locale/af/LC_MESSAGES/atk10.mo
lib/locale/af/LC_MESSAGES/gtk20-properties.mo
lib/locale/af/LC_MESSAGES/gtk20.mo
lib/locale/am/LC_MESSAGES/atk10.mo
lib/locale/am/LC_MESSAGES/glib20.mo
lib/locale/am/LC_MESSAGES/gtk20-properties.mo
lib/locale/am/LC_MESSAGES/gtk20.mo
lib/locale/ang/LC_MESSAGES/gtk20-properties.mo
lib/locale/ang/LC_MESSAGES/gtk20.mo
lib/locale/ar/LC_MESSAGES/atk10.mo
lib/locale/ar/LC_MESSAGES/glib20.mo
lib/locale/ar/LC_MESSAGES/gtk20-properties.mo
lib/locale/ar/LC_MESSAGES/gtk20.mo
lib/locale/as/LC_MESSAGES/atk10.mo
lib/locale/as/LC_MESSAGES/glib20.mo
lib/locale/as/LC_MESSAGES/gtk20-properties.mo
lib/locale/as/LC_MESSAGES/gtk20.mo
lib/locale/ast/LC_MESSAGES/gtk20-properties.mo
lib/locale/ast/LC_MESSAGES/gtk20.mo
lib/locale/az/LC_MESSAGES/atk10.mo
lib/locale/az/LC_MESSAGES/glib20.mo
lib/locale/az/LC_MESSAGES/gtk20-properties.mo
lib/locale/az/LC_MESSAGES/gtk20.mo
lib/locale/az_IR/LC_MESSAGES/gtk20-properties.mo
lib/locale/az_IR/LC_MESSAGES/gtk20.mo
lib/locale/be/LC_MESSAGES/atk10.mo
lib/locale/be/LC_MESSAGES/glib20.mo
lib/locale/be/LC_MESSAGES/gtk20-properties.mo
lib/locale/be/LC_MESSAGES/gtk20.mo
lib/locale/be@latin/LC_MESSAGES/atk10.mo
lib/locale/be@latin/LC_MESSAGES/glib20.mo
lib/locale/be@latin/LC_MESSAGES/gtk20-properties.mo
lib/locale/be@latin/LC_MESSAGES/gtk20.mo
lib/locale/bg/LC_MESSAGES/atk10.mo
lib/locale/bg/LC_MESSAGES/glib20.mo
lib/locale/bg/LC_MESSAGES/gtk20-properties.mo
lib/locale/bg/LC_MESSAGES/gtk20.mo
lib/locale/bn/LC_MESSAGES/atk10.mo
lib/locale/bn/LC_MESSAGES/glib20.mo
lib/locale/bn/LC_MESSAGES/gtk20-properties.mo
lib/locale/bn/LC_MESSAGES/gtk20.mo
lib/locale/bn_IN/LC_MESSAGES/atk10.mo
lib/locale/bn_IN/LC_MESSAGES/glib20.mo
lib/locale/bn_IN/LC_MESSAGES/gtk20-properties.mo
lib/locale/bn_IN/LC_MESSAGES/gtk20.mo
lib/locale/br/LC_MESSAGES/gtk20-properties.mo
lib/locale/br/LC_MESSAGES/gtk20.mo
lib/locale/bs/LC_MESSAGES/atk10.mo
lib/locale/bs/LC_MESSAGES/glib20.mo
lib/locale/bs/LC_MESSAGES/gtk20-properties.mo
lib/locale/bs/LC_MESSAGES/gtk20.mo
lib/locale/ca/LC_MESSAGES/atk10.mo
lib/locale/ca/LC_MESSAGES/glib20.mo
lib/locale/ca/LC_MESSAGES/gtk20-properties.mo
lib/locale/ca/LC_MESSAGES/gtk20.mo
lib/locale/ca@valencia/LC_MESSAGES/glib20.mo
lib/locale/ca@valencia/LC_MESSAGES/gtk20-properties.mo
lib/locale/ca@valencia/LC_MESSAGES/gtk20.mo
lib/locale/crh/LC_MESSAGES/gtk20-properties.mo
lib/locale/crh/LC_MESSAGES/gtk20.mo
lib/locale/cs/LC_MESSAGES/atk10.mo
lib/locale/cs/LC_MESSAGES/glib20.mo
lib/locale/cs/LC_MESSAGES/gtk20-properties.mo
lib/locale/cs/LC_MESSAGES/gtk20.mo
lib/locale/cy/LC_MESSAGES/atk10.mo
lib/locale/cy/LC_MESSAGES/glib20.mo
lib/locale/cy/LC_MESSAGES/gtk20-properties.mo
lib/locale/cy/LC_MESSAGES/gtk20.mo
lib/locale/da/LC_MESSAGES/atk10.mo
lib/locale/da/LC_MESSAGES/glib20.mo
lib/locale/da/LC_MESSAGES/gtk20-properties.mo
lib/locale/da/LC_MESSAGES/gtk20.mo
lib/locale/de/LC_MESSAGES/atk10.mo
lib/locale/de/LC_MESSAGES/glib20.mo
lib/locale/de/LC_MESSAGES/gtk20-properties.mo
lib/locale/de/LC_MESSAGES/gtk20.mo
lib/locale/dz/LC_MESSAGES/atk10.mo
lib/locale/dz/LC_MESSAGES/glib20.mo
lib/locale/dz/LC_MESSAGES/gtk20-properties.mo
lib/locale/dz/LC_MESSAGES/gtk20.mo
lib/locale/el/LC_MESSAGES/atk10.mo
lib/locale/el/LC_MESSAGES/glib20.mo
lib/locale/el/LC_MESSAGES/gtk20-properties.mo
lib/locale/el/LC_MESSAGES/gtk20.mo
lib/locale/en_CA/LC_MESSAGES/atk10.mo
lib/locale/en_CA/LC_MESSAGES/glib20.mo
lib/locale/en_CA/LC_MESSAGES/gtk20-properties.mo
lib/locale/en_CA/LC_MESSAGES/gtk20.mo
lib/locale/en_GB/LC_MESSAGES/atk10.mo
lib/locale/en_GB/LC_MESSAGES/glib20.mo
lib/locale/en_GB/LC_MESSAGES/gtk20-properties.mo
lib/locale/en_GB/LC_MESSAGES/gtk20.mo
lib/locale/eo/LC_MESSAGES/atk10.mo
lib/locale/eo/LC_MESSAGES/glib20.mo
lib/locale/eo/LC_MESSAGES/gtk20-properties.mo
lib/locale/eo/LC_MESSAGES/gtk20.mo
lib/locale/es/LC_MESSAGES/atk10.mo
lib/locale/es/LC_MESSAGES/glib20.mo
lib/locale/es/LC_MESSAGES/gtk20-properties.mo
lib/locale/es/LC_MESSAGES/gtk20.mo
lib/locale/et/LC_MESSAGES/atk10.mo
lib/locale/et/LC_MESSAGES/glib20.mo
lib/locale/et/LC_MESSAGES/gtk20-properties.mo
lib/locale/et/LC_MESSAGES/gtk20.mo
lib/locale/eu/LC_MESSAGES/atk10.mo
lib/locale/eu/LC_MESSAGES/glib20.mo
lib/locale/eu/LC_MESSAGES/gtk20-properties.mo
lib/locale/eu/LC_MESSAGES/gtk20.mo
lib/locale/fa/LC_MESSAGES/atk10.mo
lib/locale/fa/LC_MESSAGES/glib20.mo
lib/locale/fa/LC_MESSAGES/gtk20-properties.mo
lib/locale/fa/LC_MESSAGES/gtk20.mo
lib/locale/fi/LC_MESSAGES/atk10.mo
lib/locale/fi/LC_MESSAGES/glib20.mo
lib/locale/fi/LC_MESSAGES/gtk20-properties.mo
lib/locale/fi/LC_MESSAGES/gtk20.mo
lib/locale/fr/LC_MESSAGES/atk10.mo
lib/locale/fr/LC_MESSAGES/glib20.mo
lib/locale/fr/LC_MESSAGES/gtk20-properties.mo
lib/locale/fr/LC_MESSAGES/gtk20.mo
lib/locale/ga/LC_MESSAGES/atk10.mo
lib/locale/ga/LC_MESSAGES/glib20.mo
lib/locale/ga/LC_MESSAGES/gtk20-properties.mo
lib/locale/ga/LC_MESSAGES/gtk20.mo
lib/locale/gl/LC_MESSAGES/atk10.mo
lib/locale/gl/LC_MESSAGES/glib20.mo
lib/locale/gl/LC_MESSAGES/gtk20-properties.mo
lib/locale/gl/LC_MESSAGES/gtk20.mo
lib/locale/gu/LC_MESSAGES/atk10.mo
lib/locale/gu/LC_MESSAGES/glib20.mo
lib/locale/gu/LC_MESSAGES/gtk20-properties.mo
lib/locale/gu/LC_MESSAGES/gtk20.mo
lib/locale/he/LC_MESSAGES/atk10.mo
lib/locale/he/LC_MESSAGES/glib20.mo
lib/locale/he/LC_MESSAGES/gtk20-properties.mo
lib/locale/he/LC_MESSAGES/gtk20.mo
lib/locale/hi/LC_MESSAGES/atk10.mo
lib/locale/hi/LC_MESSAGES/glib20.mo
lib/locale/hi/LC_MESSAGES/gtk20-properties.mo
lib/locale/hi/LC_MESSAGES/gtk20.mo
lib/locale/hr/LC_MESSAGES/atk10.mo
lib/locale/hr/LC_MESSAGES/glib20.mo
lib/locale/hr/LC_MESSAGES/gtk20-properties.mo
lib/locale/hr/LC_MESSAGES/gtk20.mo
lib/locale/hu/LC_MESSAGES/atk10.mo
lib/locale/hu/LC_MESSAGES/glib20.mo
lib/locale/hu/LC_MESSAGES/gtk20-properties.mo
lib/locale/hu/LC_MESSAGES/gtk20.mo
lib/locale/hy/LC_MESSAGES/glib20.mo
lib/locale/hy/LC_MESSAGES/gtk20-properties.mo
lib/locale/hy/LC_MESSAGES/gtk20.mo
lib/locale/ia/LC_MESSAGES/gtk20-properties.mo
lib/locale/ia/LC_MESSAGES/gtk20.mo
lib/locale/id/LC_MESSAGES/atk10.mo
lib/locale/id/LC_MESSAGES/glib20.mo
lib/locale/id/LC_MESSAGES/gtk20-properties.mo
lib/locale/id/LC_MESSAGES/gtk20.mo
lib/locale/io/LC_MESSAGES/gtk20-properties.mo
lib/locale/io/LC_MESSAGES/gtk20.mo
lib/locale/is/LC_MESSAGES/atk10.mo
lib/locale/is/LC_MESSAGES/glib20.mo
lib/locale/is/LC_MESSAGES/gtk20-properties.mo
lib/locale/is/LC_MESSAGES/gtk20.mo
lib/locale/it/LC_MESSAGES/atk10.mo
lib/locale/it/LC_MESSAGES/glib20.mo
lib/locale/it/LC_MESSAGES/gtk20-properties.mo
lib/locale/it/LC_MESSAGES/gtk20.mo
lib/locale/ja/LC_MESSAGES/atk10.mo
lib/locale/ja/LC_MESSAGES/glib20.mo
lib/locale/ja/LC_MESSAGES/gtk20-properties.mo
lib/locale/ja/LC_MESSAGES/gtk20.mo
lib/locale/ka/LC_MESSAGES/atk10.mo
lib/locale/ka/LC_MESSAGES/glib20.mo
lib/locale/ka/LC_MESSAGES/gtk20-properties.mo
lib/locale/ka/LC_MESSAGES/gtk20.mo
lib/locale/kn/LC_MESSAGES/atk10.mo
lib/locale/kn/LC_MESSAGES/glib20.mo
lib/locale/kn/LC_MESSAGES/gtk20-properties.mo
lib/locale/kn/LC_MESSAGES/gtk20.mo
lib/locale/ko/LC_MESSAGES/atk10.mo
lib/locale/ko/LC_MESSAGES/glib20.mo
lib/locale/ko/LC_MESSAGES/gtk20-properties.mo
lib/locale/ko/LC_MESSAGES/gtk20.mo
lib/locale/ku/LC_MESSAGES/atk10.mo
lib/locale/ku/LC_MESSAGES/glib20.mo
lib/locale/ku/LC_MESSAGES/gtk20-properties.mo
lib/locale/ku/LC_MESSAGES/gtk20.mo
lib/locale/li/LC_MESSAGES/atk10.mo
lib/locale/li/LC_MESSAGES/gtk20-properties.mo
lib/locale/li/LC_MESSAGES/gtk20.mo
lib/locale/lt/LC_MESSAGES/atk10.mo
lib/locale/lt/LC_MESSAGES/glib20.mo
lib/locale/lt/LC_MESSAGES/gtk20-properties.mo
lib/locale/lt/LC_MESSAGES/gtk20.mo
lib/locale/lv/LC_MESSAGES/atk10.mo
lib/locale/lv/LC_MESSAGES/glib20.mo
lib/locale/lv/LC_MESSAGES/gtk20-properties.mo
lib/locale/lv/LC_MESSAGES/gtk20.mo
lib/locale/mai/LC_MESSAGES/atk10.mo
lib/locale/mai/LC_MESSAGES/glib20.mo
lib/locale/mai/LC_MESSAGES/gtk20-properties.mo
lib/locale/mai/LC_MESSAGES/gtk20.mo
lib/locale/mg/LC_MESSAGES/glib20.mo
lib/locale/mi/LC_MESSAGES/gtk20-properties.mo
lib/locale/mi/LC_MESSAGES/gtk20.mo
lib/locale/mk/LC_MESSAGES/atk10.mo
lib/locale/mk/LC_MESSAGES/glib20.mo
lib/locale/mk/LC_MESSAGES/gtk20-properties.mo
lib/locale/mk/LC_MESSAGES/gtk20.mo
lib/locale/ml/LC_MESSAGES/atk10.mo
lib/locale/ml/LC_MESSAGES/glib20.mo
lib/locale/ml/LC_MESSAGES/gtk20-properties.mo
lib/locale/ml/LC_MESSAGES/gtk20.mo
lib/locale/mn/LC_MESSAGES/atk10.mo
lib/locale/mn/LC_MESSAGES/glib20.mo
lib/locale/mn/LC_MESSAGES/gtk20-properties.mo
lib/locale/mn/LC_MESSAGES/gtk20.mo
lib/locale/mr/LC_MESSAGES/atk10.mo
lib/locale/mr/LC_MESSAGES/glib20.mo
lib/locale/mr/LC_MESSAGES/gtk20-properties.mo
lib/locale/mr/LC_MESSAGES/gtk20.mo
lib/locale/ms/LC_MESSAGES/atk10.mo
lib/locale/ms/LC_MESSAGES/glib20.mo
lib/locale/ms/LC_MESSAGES/gtk20-properties.mo
lib/locale/ms/LC_MESSAGES/gtk20.mo
lib/locale/nb/LC_MESSAGES/atk10.mo
lib/locale/nb/LC_MESSAGES/glib20.mo
lib/locale/nb/LC_MESSAGES/gtk20-properties.mo
lib/locale/nb/LC_MESSAGES/gtk20.mo
lib/locale/ne/LC_MESSAGES/atk10.mo
lib/locale/ne/LC_MESSAGES/glib20.mo
lib/locale/ne/LC_MESSAGES/gtk20-properties.mo
lib/locale/ne/LC_MESSAGES/gtk20.mo
lib/locale/nl/LC_MESSAGES/atk10.mo
lib/locale/nl/LC_MESSAGES/glib20.mo
lib/locale/nl/LC_MESSAGES/gtk20-properties.mo
lib/locale/nl/LC_MESSAGES/gtk20.mo
lib/locale/nn/LC_MESSAGES/atk10.mo
lib/locale/nn/LC_MESSAGES/glib20.mo
lib/locale/nn/LC_MESSAGES/gtk20-properties.mo
lib/locale/nn/LC_MESSAGES/gtk20.mo
lib/locale/nso/LC_MESSAGES/gtk20-properties.mo
lib/locale/nso/LC_MESSAGES/gtk20.mo
lib/locale/oc/LC_MESSAGES/atk10.mo
lib/locale/oc/LC_MESSAGES/glib20.mo
lib/locale/oc/LC_MESSAGES/gtk20-properties.mo
lib/locale/oc/LC_MESSAGES/gtk20.mo
lib/locale/or/LC_MESSAGES/atk10.mo
lib/locale/or/LC_MESSAGES/glib20.mo
lib/locale/or/LC_MESSAGES/gtk20-properties.mo
lib/locale/or/LC_MESSAGES/gtk20.mo
lib/locale/pa/LC_MESSAGES/atk10.mo
lib/locale/pa/LC_MESSAGES/glib20.mo
lib/locale/pa/LC_MESSAGES/gtk20-properties.mo
lib/locale/pa/LC_MESSAGES/gtk20.mo
lib/locale/pl/LC_MESSAGES/atk10.mo
lib/locale/pl/LC_MESSAGES/glib20.mo
lib/locale/pl/LC_MESSAGES/gtk20-properties.mo
lib/locale/pl/LC_MESSAGES/gtk20.mo
lib/locale/ps/LC_MESSAGES/atk10.mo
lib/locale/ps/LC_MESSAGES/glib20.mo
lib/locale/ps/LC_MESSAGES/gtk20-properties.mo
lib/locale/ps/LC_MESSAGES/gtk20.mo
lib/locale/pt/LC_MESSAGES/atk10.mo
lib/locale/pt/LC_MESSAGES/glib20.mo
lib/locale/pt/LC_MESSAGES/gtk20-properties.mo
lib/locale/pt/LC_MESSAGES/gtk20.mo
lib/locale/pt_BR/LC_MESSAGES/atk10.mo
lib/locale/pt_BR/LC_MESSAGES/glib20.mo
lib/locale/pt_BR/LC_MESSAGES/gtk20-properties.mo
lib/locale/pt_BR/LC_MESSAGES/gtk20.mo
lib/locale/ro/LC_MESSAGES/atk10.mo
lib/locale/ro/LC_MESSAGES/glib20.mo
lib/locale/ro/LC_MESSAGES/gtk20-properties.mo
lib/locale/ro/LC_MESSAGES/gtk20.mo
lib/locale/ru/LC_MESSAGES/atk10.mo
lib/locale/ru/LC_MESSAGES/glib20.mo
lib/locale/ru/LC_MESSAGES/gtk20-properties.mo
lib/locale/ru/LC_MESSAGES/gtk20.mo
lib/locale/rw/LC_MESSAGES/atk10.mo
lib/locale/rw/LC_MESSAGES/glib20.mo
lib/locale/rw/LC_MESSAGES/gtk20-properties.mo
lib/locale/rw/LC_MESSAGES/gtk20.mo
lib/locale/si/LC_MESSAGES/atk10.mo
lib/locale/si/LC_MESSAGES/glib20.mo
lib/locale/si/LC_MESSAGES/gtk20-properties.mo
lib/locale/si/LC_MESSAGES/gtk20.mo
lib/locale/sk/LC_MESSAGES/atk10.mo
lib/locale/sk/LC_MESSAGES/glib20.mo
lib/locale/sk/LC_MESSAGES/gtk20-properties.mo
lib/locale/sk/LC_MESSAGES/gtk20.mo
lib/locale/sl/LC_MESSAGES/atk10.mo
lib/locale/sl/LC_MESSAGES/glib20.mo
lib/locale/sl/LC_MESSAGES/gtk20-properties.mo
lib/locale/sl/LC_MESSAGES/gtk20.mo
lib/locale/sq/LC_MESSAGES/atk10.mo
lib/locale/sq/LC_MESSAGES/glib20.mo
lib/locale/sq/LC_MESSAGES/gtk20-properties.mo
lib/locale/sq/LC_MESSAGES/gtk20.mo
lib/locale/sr/LC_MESSAGES/atk10.mo
lib/locale/sr/LC_MESSAGES/glib20.mo
lib/locale/sr/LC_MESSAGES/gtk20-properties.mo
lib/locale/sr/LC_MESSAGES/gtk20.mo
lib/locale/sr@ije/LC_MESSAGES/atk10.mo
lib/locale/sr@ije/LC_MESSAGES/glib20.mo
lib/locale/sr@ije/LC_MESSAGES/gtk20-properties.mo
lib/locale/sr@ije/LC_MESSAGES/gtk20.mo
lib/locale/sr@latin/LC_MESSAGES/atk10.mo
lib/locale/sr@latin/LC_MESSAGES/glib20.mo
lib/locale/sr@latin/LC_MESSAGES/gtk20-properties.mo
lib/locale/sr@latin/LC_MESSAGES/gtk20.mo
lib/locale/sv/LC_MESSAGES/atk10.mo
lib/locale/sv/LC_MESSAGES/glib20.mo
lib/locale/sv/LC_MESSAGES/gtk20-properties.mo
lib/locale/sv/LC_MESSAGES/gtk20.mo
lib/locale/ta/LC_MESSAGES/atk10.mo
lib/locale/ta/LC_MESSAGES/glib20.mo
lib/locale/ta/LC_MESSAGES/gtk20-properties.mo
lib/locale/ta/LC_MESSAGES/gtk20.mo
lib/locale/te/LC_MESSAGES/atk10.mo
lib/locale/te/LC_MESSAGES/glib20.mo
lib/locale/te/LC_MESSAGES/gtk20-properties.mo
lib/locale/te/LC_MESSAGES/gtk20.mo
lib/locale/th/LC_MESSAGES/atk10.mo
lib/locale/th/LC_MESSAGES/glib20.mo
lib/locale/th/LC_MESSAGES/gtk20-properties.mo
lib/locale/th/LC_MESSAGES/gtk20.mo
lib/locale/tk/LC_MESSAGES/atk10.mo
lib/locale/tk/LC_MESSAGES/gtk20-properties.mo
lib/locale/tk/LC_MESSAGES/gtk20.mo
lib/locale/tl/LC_MESSAGES/glib20.mo
lib/locale/tr/LC_MESSAGES/atk10.mo
lib/locale/tr/LC_MESSAGES/glib20.mo
lib/locale/tr/LC_MESSAGES/gtk20-properties.mo
lib/locale/tr/LC_MESSAGES/gtk20.mo
lib/locale/tt/LC_MESSAGES/atk10.mo
lib/locale/tt/LC_MESSAGES/glib20.mo
lib/locale/tt/LC_MESSAGES/gtk20-properties.mo
lib/locale/tt/LC_MESSAGES/gtk20.mo
lib/locale/ug/LC_MESSAGES/atk10.mo
lib/locale/uk/LC_MESSAGES/atk10.mo
lib/locale/uk/LC_MESSAGES/glib20.mo
lib/locale/uk/LC_MESSAGES/gtk20-properties.mo
lib/locale/uk/LC_MESSAGES/gtk20.mo
lib/locale/ur/LC_MESSAGES/gtk20-properties.mo
lib/locale/ur/LC_MESSAGES/gtk20.mo
lib/locale/uz/LC_MESSAGES/gtk20-properties.mo
lib/locale/uz/LC_MESSAGES/gtk20.mo
lib/locale/uz@cyrillic/LC_MESSAGES/gtk20-properties.mo
lib/locale/uz@cyrillic/LC_MESSAGES/gtk20.mo
lib/locale/vi/LC_MESSAGES/atk10.mo
lib/locale/vi/LC_MESSAGES/glib20.mo
lib/locale/vi/LC_MESSAGES/gtk20-properties.mo
lib/locale/vi/LC_MESSAGES/gtk20.mo
lib/locale/wa/LC_MESSAGES/atk10.mo
lib/locale/wa/LC_MESSAGES/glib20.mo
lib/locale/wa/LC_MESSAGES/gtk20-properties.mo
lib/locale/wa/LC_MESSAGES/gtk20.mo
lib/locale/xh/LC_MESSAGES/atk10.mo
lib/locale/xh/LC_MESSAGES/glib20.mo
lib/locale/xh/LC_MESSAGES/gtk20-properties.mo
lib/locale/xh/LC_MESSAGES/gtk20.mo
lib/locale/yi/LC_MESSAGES/atk10.mo
lib/locale/yi/LC_MESSAGES/glib20.mo
lib/locale/yi/LC_MESSAGES/gtk20-properties.mo
lib/locale/yi/LC_MESSAGES/gtk20.mo
lib/locale/zh_CN/LC_MESSAGES/atk10.mo
lib/locale/zh_CN/LC_MESSAGES/glib20.mo
lib/locale/zh_CN/LC_MESSAGES/gtk20-properties.mo
lib/locale/zh_CN/LC_MESSAGES/gtk20.mo
lib/locale/zh_HK/LC_MESSAGES/atk10.mo
lib/locale/zh_HK/LC_MESSAGES/glib20.mo
lib/locale/zh_HK/LC_MESSAGES/gtk20-properties.mo
lib/locale/zh_HK/LC_MESSAGES/gtk20.mo
lib/locale/zh_TW/LC_MESSAGES/atk10.mo
lib/locale/zh_TW/LC_MESSAGES/glib20.mo
lib/locale/zh_TW/LC_MESSAGES/gtk20-properties.mo
lib/locale/zh_TW/LC_MESSAGES/gtk20.mo
share/locale/*/LC_MESSAGES/atk10.mo
share/locale/*/LC_MESSAGES/glib20.mo
share/locale/*/LC_MESSAGES/gtk20-properties.mo
share/locale/*/LC_MESSAGES/gtk20.mo
share/locale/be/LC_MESSAGES/gettext-runtime.mo
share/locale/ca/LC_MESSAGES/gettext-runtime.mo
share/locale/ca/LC_MESSAGES/libiconv.mo
share/locale/cs/LC_MESSAGES/gettext-runtime.mo
share/locale/da/LC_MESSAGES/gettext-runtime.mo
share/locale/da/LC_MESSAGES/libiconv.mo
share/locale/de/LC_MESSAGES/gettext-runtime.mo
share/locale/de/LC_MESSAGES/libiconv.mo
share/locale/el/LC_MESSAGES/gettext-runtime.mo
share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo
share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo
share/locale/eo/LC_MESSAGES/libiconv.mo
share/locale/es/LC_MESSAGES/gettext-runtime.mo
share/locale/es/LC_MESSAGES/libiconv.mo
share/locale/et/LC_MESSAGES/gettext-runtime.mo
share/locale/fi/LC_MESSAGES/gettext-runtime.mo
share/locale/fi/LC_MESSAGES/libiconv.mo
share/locale/fr/LC_MESSAGES/gettext-runtime.mo
share/locale/fr/LC_MESSAGES/libiconv.mo
share/locale/ga/LC_MESSAGES/libiconv.mo
share/locale/gl/LC_MESSAGES/gettext-runtime.mo
share/locale/gl/LC_MESSAGES/libiconv.mo
share/locale/hr/LC_MESSAGES/libiconv.mo
share/locale/hu/LC_MESSAGES/libiconv.mo
share/locale/id/LC_MESSAGES/gettext-runtime.mo
share/locale/id/LC_MESSAGES/libiconv.mo
share/locale/it/LC_MESSAGES/gettext-runtime.mo
share/locale/it/LC_MESSAGES/libiconv.mo
share/locale/ja/LC_MESSAGES/gettext-runtime.mo
share/locale/ko/LC_MESSAGES/gettext-runtime.mo
share/locale/locale.alias
share/locale/nl/LC_MESSAGES/gettext-runtime.mo
share/locale/nn/LC_MESSAGES/gettext-runtime.mo
share/locale/no/LC_MESSAGES/gettext-runtime.mo
share/locale/pl/LC_MESSAGES/gettext-runtime.mo
share/locale/pt/LC_MESSAGES/gettext-runtime.mo
share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo
share/locale/pt_BR/LC_MESSAGES/libiconv.mo
share/locale/ro/LC_MESSAGES/gettext-runtime.mo
share/locale/ro/LC_MESSAGES/libiconv.mo
share/locale/ru/LC_MESSAGES/gettext-runtime.mo
share/locale/ru/LC_MESSAGES/libiconv.mo
share/locale/sk/LC_MESSAGES/gettext-runtime.mo
share/locale/sk/LC_MESSAGES/libiconv.mo
share/locale/sl/LC_MESSAGES/gettext-runtime.mo
share/locale/sl/LC_MESSAGES/libiconv.mo
share/locale/sr/LC_MESSAGES/gettext-runtime.mo
share/locale/sv/LC_MESSAGES/gettext-runtime.mo
share/locale/sv/LC_MESSAGES/libiconv.mo
share/locale/tr/LC_MESSAGES/gettext-runtime.mo
share/locale/tr/LC_MESSAGES/libiconv.mo
share/locale/uk/LC_MESSAGES/gettext-runtime.mo
share/locale/uk/LC_MESSAGES/libiconv.mo
share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo
share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo
share/man/man1/cjpeg.1
share/man/man1/djpeg.1
share/man/man1/envsubst.1
share/man/man1/gettext.1
share/man/man1/glib-genmarshal.1
share/man/man1/glib-gettextize.1
share/man/man1/glib-mkenums.1
share/man/man1/gobject-query.1
share/man/man1/gtester-report.1
share/man/man1/gtester.1
share/man/man1/iconv.1
share/man/man1/jpegtran.1
share/man/man1/ngettext.1
share/man/man1/pango-querymodules.1
share/man/man1/pango-view.1.gz
share/man/man1/rdjpgcom.1
share/man/man1/wrjpgcom.1
share/man/man1/xmlwf.1
share/man/man3/bind_textdomain_codeset.3
share/man/man3/bindtextdomain.3
share/man/man3/dcgettext.3
share/man/man3/dcngettext.3
share/man/man3/dgettext.3
share/man/man3/dngettext.3
share/man/man3/gettext.3
share/man/man3/iconv.3
share/man/man3/iconv_close.3
share/man/man3/iconv_open.3
share/man/man3/libpng.3
share/man/man3/libpngpf.3
share/man/man3/ngettext.3
share/man/man3/textdomain.3
share/man/man5/png.5
share/themes/Default/gtk-2.0-key/gtkrc
share/themes/Emacs/gtk-2.0-key/gtkrc
share/themes/MS-Windows/gtk-2.0/gtkrc
share/themes/Raleigh/gtk-2.0/gtkrc

Unpack the Zip archive to a directory, for example, C:\Program Files\Common Files\GTK. Other possible choices for GTK+ installatioon folder could be:


  • C:\Program Files\Common Files\GTK\2.16.4
  • C:\Program Files\GTK\2.16.4
  • C:\Users\Public\GTK\2.16.4
  • C:\Windows\GTK\2.16.4
  • C:\Windows\System
  • C:\Windows\System\GTK\2.16.4
  • C:\Windows\System32
  • C:\Windows\System32\GTK\2.16.4

Then, add the GTK+ directory to %PATH%, as shown below.



Adding GTK bin to %PATH%


This section assumes that you're using Windows Vista. Open the Start menu, right-click on Computer and choose Properties.


Right-Click on Computer

Click on Advanced system settings on the left side of the window.


Vista_System_Properties

At the System Properties dialog, click on Environment Variables at the bottom. At the Environment Variables dialog, click on New. Create a new user variable, PATH as C:\Program Files\Common Files\GTK\bin;%PATH%:




Vista_Environment_Variables
Vista_New_User_Variable

Vista_LANG_variable


You can also define a variable LANG to localize your GTK applications, for example, fr_FR.UTF-8 for French.



Customizing GTK with .gtkrc-2.0


The default GTK look may not be appealing. To customize GTK look, we use GTK themes. When we compile GTK for Windows, we get two GTK theme engines, libpixmap.dll and libwimp.dll. We are going to use the Wimp theme engine, which best matches Windows look. Create a file .../etc/gtk-2.0/gtkrc for systemwide customizaiton with the following contents. Alternatively, create a file .gtkrc-2.0 in your personal folder, for example, C:\Users\Joe\.gtkrc-2.0 .


gtk-theme-name = "MS-Windows"

style "user-font"
{
font_name="Sans 9"
}
widget_class "*" style "user-font"

This assumes that you have the file libwimp.dll and also a theme directory at .../share/themes/MS-Windows . You can also specify other fonts, such as Serif 10 or Arial Bold Italic 10. Start a GTK application like Pidgin, GIMP or X-Chat and check if it looks good.



Compatibility with Pidgin


If you have compiled GTK on your own following my tutorial but Pidgin installer without GTK+ won't install because it can't find your GTK+, you can use PeaZip to manually extract files from the installer. Remember to move subfolders in $_OUTDIR to the Pidgin top folder. Then, create a shortcut on your Desktop pointing to C:\Program Files\Pidgin\pidgin.exe.


My GTK compilation will work with Pidgin if the following files are copied into the Pidgin directory:


iconv.dll

intl.dll

zlib1.dll

These files are easily found on the Internet (1).



Personalize Fontconfig and Pango


Now that GTK+ is working, you can further personalize it by tweaking Fontconfig and Pango. To fine-tune fontconfig, edit fonts.conf. To tweak Pango, create a file .pango.aliases in your personal folder and edit it.

About This Blog

KBlog logo This blog seeks to share useful information on freely available fonts on the Internet. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

CyberChimps Professional WordPress Themes
Powered By Blogger