summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan.olivier@wanadoo.fr>2002-05-03 21:51:46 +0000
committerOlivier Fourdan <fourdan.olivier@wanadoo.fr>2002-05-03 21:51:46 +0000
commit46a539c9e757c8ef5852737a50476a35eab39493 (patch)
tree9ed13520ac52d827f769c3803ebb3fb6a862d736
parented5cb4ac4586b83fe63a535b4d0412a9c57ce595 (diff)
downloadxfwm4-46a539c9e757c8ef5852737a50476a35eab39493.tar.gz
Initial revision
(Old svn revision: 10277)
-rw-r--r--AUTHORS17
-rw-r--r--COPYING340
-rw-r--r--ChangeLog54
-rw-r--r--INSTALL15
-rw-r--r--Makefile.am3
-rw-r--r--Makefile.in350
-rw-r--r--NEWS2
-rw-r--r--README19
-rw-r--r--TODO16
-rw-r--r--acconfig.h1
-rw-r--r--aclocal.m4185
-rw-r--r--config.h.in57
-rwxr-xr-xconfigure17842
-rw-r--r--configure.in45
-rw-r--r--defaults/Makefile.am5
-rw-r--r--defaults/Makefile.in196
-rw-r--r--defaults/defaults.in62
-rw-r--r--example.xfwm4rc94
-rwxr-xr-xinstall-sh251
-rwxr-xr-xmissing188
-rwxr-xr-xmkinstalldirs40
-rw-r--r--src/.indent.pro13
-rw-r--r--src/Makefile.am34
-rw-r--r--src/Makefile.in309
-rw-r--r--src/client.c2709
-rw-r--r--src/client.h242
-rw-r--r--src/debug.h28
-rw-r--r--src/events.c973
-rw-r--r--src/events.h39
-rw-r--r--src/frame.c625
-rw-r--r--src/frame.h40
-rw-r--r--src/gtk_style.c238
-rw-r--r--src/gtk_style.h38
-rw-r--r--src/gtktoxevent.c254
-rw-r--r--src/gtktoxevent.h55
-rw-r--r--src/hints.c501
-rw-r--r--src/hints.h156
-rw-r--r--src/keyboard.c85
-rw-r--r--src/keyboard.h41
-rw-r--r--src/main.c184
-rw-r--r--src/main.h71
-rw-r--r--src/menu.c359
-rw-r--r--src/menu.h96
-rw-r--r--src/misc.c132
-rw-r--r--src/misc.h38
-rw-r--r--src/parserc.c125
-rw-r--r--src/parserc.h45
-rw-r--r--src/pixmap.c108
-rw-r--r--src/pixmap.h42
-rw-r--r--src/settings.c514
-rw-r--r--src/settings.h69
-rw-r--r--src/workspaces.c153
-rw-r--r--src/workspaces.h34
-rw-r--r--stamp-h.in1
-rw-r--r--themes/Makefile.am12
-rw-r--r--themes/Makefile.in284
-rw-r--r--themes/agua/Makefile.am45
-rw-r--r--themes/agua/Makefile.in235
-rw-r--r--themes/agua/bottom-active.xpm27
-rw-r--r--themes/agua/bottom-inactive.xpm22
-rw-r--r--themes/agua/bottom-left-active.xpm15
-rw-r--r--themes/agua/bottom-left-inactive.xpm14
-rw-r--r--themes/agua/bottom-right-active.xpm14
-rw-r--r--themes/agua/bottom-right-inactive.xpm16
-rw-r--r--themes/agua/close-active.xpm244
-rw-r--r--themes/agua/close-inactive.xpm206
-rw-r--r--themes/agua/close-pressed.xpm247
-rw-r--r--themes/agua/hide-active.xpm253
-rw-r--r--themes/agua/hide-inactive.xpm206
-rw-r--r--themes/agua/hide-pressed.xpm253
-rw-r--r--themes/agua/left-active.xpm33
-rw-r--r--themes/agua/left-inactive.xpm28
-rw-r--r--themes/agua/maximize-active.xpm258
-rw-r--r--themes/agua/maximize-inactive.xpm206
-rw-r--r--themes/agua/maximize-pressed.xpm258
-rw-r--r--themes/agua/menu-active.xpm204
-rw-r--r--themes/agua/menu-inactive.xpm206
-rw-r--r--themes/agua/menu-pressed.xpm212
-rw-r--r--themes/agua/right-active.xpm33
-rw-r--r--themes/agua/right-inactive.xpm28
-rw-r--r--themes/agua/shade-active.xpm155
-rw-r--r--themes/agua/shade-inactive.xpm206
-rw-r--r--themes/agua/shade-pressed.xpm161
-rw-r--r--themes/agua/stick-active.xpm192
-rw-r--r--themes/agua/stick-inactive.xpm206
-rw-r--r--themes/agua/stick-pressed.xpm174
-rw-r--r--themes/agua/themerc6
-rw-r--r--themes/agua/title-1-active.xpm39
-rw-r--r--themes/agua/title-1-inactive.xpm42
-rw-r--r--themes/agua/title-2-active.xpm39
-rw-r--r--themes/agua/title-2-inactive.xpm42
-rw-r--r--themes/agua/title-3-active.xpm39
-rw-r--r--themes/agua/title-3-inactive.xpm42
-rw-r--r--themes/agua/title-4-active.xpm39
-rw-r--r--themes/agua/title-4-inactive.xpm42
-rw-r--r--themes/agua/title-5-active.xpm39
-rw-r--r--themes/agua/title-5-inactive.xpm42
-rw-r--r--themes/agua/top-left-active.xpm48
-rw-r--r--themes/agua/top-left-inactive.xpm42
-rw-r--r--themes/agua/top-right-active.xpm49
-rw-r--r--themes/agua/top-right-inactive.xpm42
-rw-r--r--themes/coldsteel/Makefile.am45
-rw-r--r--themes/coldsteel/Makefile.in235
-rw-r--r--themes/coldsteel/bottom-active.xpm15
-rw-r--r--themes/coldsteel/bottom-inactive.xpm15
-rw-r--r--themes/coldsteel/bottom-left-active.xpm15
-rw-r--r--themes/coldsteel/bottom-left-inactive.xpm15
-rw-r--r--themes/coldsteel/bottom-right-active.xpm54
-rw-r--r--themes/coldsteel/bottom-right-inactive.xpm54
-rw-r--r--themes/coldsteel/close-active.xpm18
-rw-r--r--themes/coldsteel/close-inactive.xpm18
-rw-r--r--themes/coldsteel/close-pressed.xpm18
-rw-r--r--themes/coldsteel/hide-active.xpm18
-rw-r--r--themes/coldsteel/hide-inactive.xpm18
-rw-r--r--themes/coldsteel/hide-pressed.xpm18
-rw-r--r--themes/coldsteel/left-active.xpm10
-rw-r--r--themes/coldsteel/left-inactive.xpm10
-rw-r--r--themes/coldsteel/maximize-active.xpm18
-rw-r--r--themes/coldsteel/maximize-inactive.xpm19
-rw-r--r--themes/coldsteel/maximize-pressed.xpm18
-rw-r--r--themes/coldsteel/menu-active.xpm18
-rw-r--r--themes/coldsteel/menu-inactive.xpm18
-rw-r--r--themes/coldsteel/menu-pressed.xpm18
-rw-r--r--themes/coldsteel/right-active.xpm10
-rw-r--r--themes/coldsteel/right-inactive.xpm10
-rw-r--r--themes/coldsteel/shade-active.xpm18
-rw-r--r--themes/coldsteel/shade-inactive.xpm18
-rw-r--r--themes/coldsteel/shade-pressed.xpm18
-rw-r--r--themes/coldsteel/stick-active.xpm18
-rw-r--r--themes/coldsteel/stick-inactive.xpm18
-rw-r--r--themes/coldsteel/stick-pressed.xpm18
-rw-r--r--themes/coldsteel/themerc4
-rw-r--r--themes/coldsteel/title-1-active.xpm25
-rw-r--r--themes/coldsteel/title-1-inactive.xpm25
-rw-r--r--themes/coldsteel/title-2-active.xpm25
-rw-r--r--themes/coldsteel/title-2-inactive.xpm25
-rw-r--r--themes/coldsteel/title-3-active.xpm25
-rw-r--r--themes/coldsteel/title-3-inactive.xpm25
-rw-r--r--themes/coldsteel/title-4-active.xpm28
-rw-r--r--themes/coldsteel/title-4-inactive.xpm28
-rw-r--r--themes/coldsteel/title-5-active.xpm25
-rw-r--r--themes/coldsteel/title-5-inactive.xpm25
-rw-r--r--themes/coldsteel/top-left-active.xpm70
-rw-r--r--themes/coldsteel/top-left-inactive.xpm70
-rw-r--r--themes/coldsteel/top-right-active.xpm25
-rw-r--r--themes/coldsteel/top-right-inactive.xpm25
-rw-r--r--themes/cruxish/Makefile.am45
-rw-r--r--themes/cruxish/Makefile.in235
-rw-r--r--themes/cruxish/bottom-active.xpm13
-rw-r--r--themes/cruxish/bottom-inactive.xpm13
-rw-r--r--themes/cruxish/bottom-left-active.xpm13
-rw-r--r--themes/cruxish/bottom-left-inactive.xpm13
-rw-r--r--themes/cruxish/bottom-right-active.xpm20
-rw-r--r--themes/cruxish/bottom-right-inactive.xpm20
-rw-r--r--themes/cruxish/close-active.xpm21
-rw-r--r--themes/cruxish/close-inactive.xpm21
-rw-r--r--themes/cruxish/close-pressed.xpm21
-rw-r--r--themes/cruxish/hide-active.xpm21
-rw-r--r--themes/cruxish/hide-inactive.xpm21
-rw-r--r--themes/cruxish/hide-pressed.xpm21
-rw-r--r--themes/cruxish/left-active.xpm24
-rw-r--r--themes/cruxish/left-inactive.xpm24
-rw-r--r--themes/cruxish/maximize-active.xpm21
-rw-r--r--themes/cruxish/maximize-inactive.xpm21
-rw-r--r--themes/cruxish/maximize-pressed.xpm21
-rw-r--r--themes/cruxish/menu-active.xpm21
-rw-r--r--themes/cruxish/menu-inactive.xpm21
-rw-r--r--themes/cruxish/menu-pressed.xpm21
-rw-r--r--themes/cruxish/right-active.xpm24
-rw-r--r--themes/cruxish/right-inactive.xpm24
-rw-r--r--themes/cruxish/shade-active.xpm21
-rw-r--r--themes/cruxish/shade-inactive.xpm21
-rw-r--r--themes/cruxish/shade-pressed.xpm21
-rw-r--r--themes/cruxish/stick-active.xpm21
-rw-r--r--themes/cruxish/stick-inactive.xpm21
-rw-r--r--themes/cruxish/stick-pressed.xpm21
-rw-r--r--themes/cruxish/themerc4
-rw-r--r--themes/cruxish/title-1-active.xpm31
-rw-r--r--themes/cruxish/title-1-inactive.xpm31
-rw-r--r--themes/cruxish/title-2-active.xpm31
-rw-r--r--themes/cruxish/title-2-inactive.xpm31
-rw-r--r--themes/cruxish/title-3-active.xpm31
-rw-r--r--themes/cruxish/title-3-inactive.xpm31
-rw-r--r--themes/cruxish/title-4-active.xpm34
-rw-r--r--themes/cruxish/title-4-inactive.xpm34
-rw-r--r--themes/cruxish/title-5-active.xpm31
-rw-r--r--themes/cruxish/title-5-inactive.xpm31
-rw-r--r--themes/cruxish/top-left-active.xpm32
-rw-r--r--themes/cruxish/top-left-inactive.xpm31
-rw-r--r--themes/cruxish/top-right-active.xpm31
-rw-r--r--themes/cruxish/top-right-inactive.xpm31
-rw-r--r--themes/gtk/Makefile.am45
-rw-r--r--themes/gtk/Makefile.in235
-rw-r--r--themes/gtk/bottom-active.xpm13
-rw-r--r--themes/gtk/bottom-inactive.xpm13
-rw-r--r--themes/gtk/bottom-left-active.xpm28
-rw-r--r--themes/gtk/bottom-left-inactive.xpm28
-rw-r--r--themes/gtk/bottom-right-active.xpm28
-rw-r--r--themes/gtk/bottom-right-inactive.xpm28
-rw-r--r--themes/gtk/close-active.xpm33
-rw-r--r--themes/gtk/close-inactive.xpm33
-rw-r--r--themes/gtk/close-pressed.xpm33
-rw-r--r--themes/gtk/hide-active.xpm33
-rw-r--r--themes/gtk/hide-inactive.xpm33
-rw-r--r--themes/gtk/hide-pressed.xpm33
-rw-r--r--themes/gtk/left-active.xpm13
-rw-r--r--themes/gtk/left-inactive.xpm13
-rw-r--r--themes/gtk/maximize-active.xpm33
-rw-r--r--themes/gtk/maximize-inactive.xpm33
-rw-r--r--themes/gtk/maximize-pressed.xpm33
-rw-r--r--themes/gtk/menu-active.xpm33
-rw-r--r--themes/gtk/menu-inactive.xpm33
-rw-r--r--themes/gtk/menu-pressed.xpm33
-rw-r--r--themes/gtk/right-active.xpm13
-rw-r--r--themes/gtk/right-inactive.xpm13
-rw-r--r--themes/gtk/shade-active.xpm33
-rw-r--r--themes/gtk/shade-inactive.xpm33
-rw-r--r--themes/gtk/shade-pressed.xpm33
-rw-r--r--themes/gtk/stick-active.xpm33
-rw-r--r--themes/gtk/stick-inactive.xpm33
-rw-r--r--themes/gtk/stick-pressed.xpm33
-rw-r--r--themes/gtk/themerc4
-rw-r--r--themes/gtk/title-1-active.xpm35
-rw-r--r--themes/gtk/title-1-inactive.xpm35
-rw-r--r--themes/gtk/title-2-active.xpm36
-rw-r--r--themes/gtk/title-2-inactive.xpm36
-rw-r--r--themes/gtk/title-3-active.xpm36
-rw-r--r--themes/gtk/title-3-inactive.xpm36
-rw-r--r--themes/gtk/title-4-active.xpm36
-rw-r--r--themes/gtk/title-4-inactive.xpm36
-rw-r--r--themes/gtk/title-5-active.xpm35
-rw-r--r--themes/gtk/title-5-inactive.xpm35
-rw-r--r--themes/gtk/top-left-active.xpm33
-rw-r--r--themes/gtk/top-left-inactive.xpm33
-rw-r--r--themes/gtk/top-right-active.xpm33
-rw-r--r--themes/gtk/top-right-inactive.xpm33
-rw-r--r--themes/next/Makefile.am45
-rw-r--r--themes/next/Makefile.in235
-rw-r--r--themes/next/bottom-active.xpm15
-rw-r--r--themes/next/bottom-inactive.xpm15
-rw-r--r--themes/next/bottom-left-active.xpm15
-rw-r--r--themes/next/bottom-left-inactive.xpm15
-rw-r--r--themes/next/bottom-right-active.xpm15
-rw-r--r--themes/next/bottom-right-inactive.xpm15
-rw-r--r--themes/next/close-active.xpm30
-rw-r--r--themes/next/close-inactive.xpm30
-rw-r--r--themes/next/close-pressed.xpm27
-rw-r--r--themes/next/hide-active.xpm30
-rw-r--r--themes/next/hide-inactive.xpm30
-rw-r--r--themes/next/hide-pressed.xpm27
-rw-r--r--themes/next/left-active.xpm24
-rw-r--r--themes/next/left-inactive.xpm24
-rw-r--r--themes/next/maximize-active.xpm30
-rw-r--r--themes/next/maximize-inactive.xpm30
-rw-r--r--themes/next/maximize-pressed.xpm27
-rw-r--r--themes/next/menu-active.xpm30
-rw-r--r--themes/next/menu-inactive.xpm30
-rw-r--r--themes/next/menu-pressed.xpm27
-rw-r--r--themes/next/right-active.xpm24
-rw-r--r--themes/next/right-inactive.xpm24
-rw-r--r--themes/next/shade-active.xpm30
-rw-r--r--themes/next/shade-inactive.xpm30
-rw-r--r--themes/next/shade-pressed.xpm27
-rw-r--r--themes/next/stick-active.xpm30
-rw-r--r--themes/next/stick-inactive.xpm30
-rw-r--r--themes/next/stick-pressed.xpm27
-rw-r--r--themes/next/themerc3
-rw-r--r--themes/next/title-1-active.xpm29
-rw-r--r--themes/next/title-1-inactive.xpm29
-rw-r--r--themes/next/title-2-active.xpm29
-rw-r--r--themes/next/title-2-inactive.xpm29
-rw-r--r--themes/next/title-3-active.xpm29
-rw-r--r--themes/next/title-3-inactive.xpm29
-rw-r--r--themes/next/title-4-active.xpm29
-rw-r--r--themes/next/title-4-inactive.xpm29
-rw-r--r--themes/next/title-5-active.xpm29
-rw-r--r--themes/next/title-5-inactive.xpm29
-rw-r--r--themes/next/top-left-active.xpm26
-rw-r--r--themes/next/top-left-inactive.xpm26
-rw-r--r--themes/next/top-right-active.xpm26
-rw-r--r--themes/next/top-right-inactive.xpm26
-rw-r--r--themes/oroborus/Makefile.am45
-rw-r--r--themes/oroborus/Makefile.in235
-rw-r--r--themes/oroborus/bottom-active.xpm13
-rw-r--r--themes/oroborus/bottom-inactive.xpm13
-rw-r--r--themes/oroborus/bottom-left-active.xpm13
-rw-r--r--themes/oroborus/bottom-left-inactive.xpm13
-rw-r--r--themes/oroborus/bottom-right-active.xpm20
-rw-r--r--themes/oroborus/bottom-right-inactive.xpm21
-rw-r--r--themes/oroborus/close-active.xpm23
-rw-r--r--themes/oroborus/close-inactive.xpm20
-rw-r--r--themes/oroborus/close-pressed.xpm23
-rw-r--r--themes/oroborus/hide-active.xpm23
-rw-r--r--themes/oroborus/hide-inactive.xpm20
-rw-r--r--themes/oroborus/hide-pressed.xpm23
-rw-r--r--themes/oroborus/left-active.xpm24
-rw-r--r--themes/oroborus/left-inactive.xpm24
-rw-r--r--themes/oroborus/maximize-active.xpm23
-rw-r--r--themes/oroborus/maximize-inactive.xpm20
-rw-r--r--themes/oroborus/maximize-pressed.xpm23
-rw-r--r--themes/oroborus/menu-active.xpm23
-rw-r--r--themes/oroborus/menu-inactive.xpm20
-rw-r--r--themes/oroborus/menu-pressed.xpm23
-rw-r--r--themes/oroborus/right-active.xpm24
-rw-r--r--themes/oroborus/right-inactive.xpm24
-rw-r--r--themes/oroborus/shade-active.xpm23
-rw-r--r--themes/oroborus/shade-inactive.xpm20
-rw-r--r--themes/oroborus/shade-pressed.xpm23
-rw-r--r--themes/oroborus/stick-active.xpm23
-rw-r--r--themes/oroborus/stick-inactive.xpm20
-rw-r--r--themes/oroborus/stick-pressed.xpm23
-rw-r--r--themes/oroborus/themerc3
-rw-r--r--themes/oroborus/title-1-active.xpm29
-rw-r--r--themes/oroborus/title-1-inactive.xpm29
-rw-r--r--themes/oroborus/title-2-active.xpm32
-rw-r--r--themes/oroborus/title-2-inactive.xpm29
-rw-r--r--themes/oroborus/title-3-active.xpm29
-rw-r--r--themes/oroborus/title-3-inactive.xpm29
-rw-r--r--themes/oroborus/title-4-active.xpm32
-rw-r--r--themes/oroborus/title-4-inactive.xpm29
-rw-r--r--themes/oroborus/title-5-active.xpm29
-rw-r--r--themes/oroborus/title-5-inactive.xpm29
-rw-r--r--themes/oroborus/top-left-active.xpm29
-rw-r--r--themes/oroborus/top-left-inactive.xpm29
-rw-r--r--themes/oroborus/top-right-active.xpm29
-rw-r--r--themes/oroborus/top-right-inactive.xpm29
-rw-r--r--themes/platinum/Makefile.am45
-rw-r--r--themes/platinum/Makefile.in235
-rw-r--r--themes/platinum/bottom-active.xpm13
-rw-r--r--themes/platinum/bottom-inactive.xpm13
-rw-r--r--themes/platinum/bottom-left-active.xpm13
-rw-r--r--themes/platinum/bottom-left-inactive.xpm13
-rw-r--r--themes/platinum/bottom-right-active.xpm24
-rw-r--r--themes/platinum/bottom-right-inactive.xpm24
-rw-r--r--themes/platinum/close-active.xpm24
-rw-r--r--themes/platinum/close-inactive.xpm21
-rw-r--r--themes/platinum/close-pressed.xpm24
-rw-r--r--themes/platinum/hide-active.xpm24
-rw-r--r--themes/platinum/hide-inactive.xpm21
-rw-r--r--themes/platinum/hide-pressed.xpm24
-rw-r--r--themes/platinum/left-active.xpm24
-rw-r--r--themes/platinum/left-inactive.xpm24
-rw-r--r--themes/platinum/maximize-active.xpm24
-rw-r--r--themes/platinum/maximize-inactive.xpm21
-rw-r--r--themes/platinum/maximize-pressed.xpm24
-rw-r--r--themes/platinum/menu-active.xpm24
-rw-r--r--themes/platinum/menu-inactive.xpm21
-rw-r--r--themes/platinum/menu-pressed.xpm24
-rw-r--r--themes/platinum/right-active.xpm24
-rw-r--r--themes/platinum/right-inactive.xpm24
-rw-r--r--themes/platinum/shade-active.xpm24
-rw-r--r--themes/platinum/shade-inactive.xpm21
-rw-r--r--themes/platinum/shade-pressed.xpm24
-rw-r--r--themes/platinum/stick-active.xpm24
-rw-r--r--themes/platinum/stick-inactive.xpm21
-rw-r--r--themes/platinum/stick-pressed.xpm24
-rw-r--r--themes/platinum/themerc6
-rw-r--r--themes/platinum/title-1-active.xpm32
-rw-r--r--themes/platinum/title-1-inactive.xpm32
-rw-r--r--themes/platinum/title-2-active.xpm32
-rw-r--r--themes/platinum/title-2-inactive.xpm32
-rw-r--r--themes/platinum/title-3-active.xpm32
-rw-r--r--themes/platinum/title-3-inactive.xpm32
-rw-r--r--themes/platinum/title-4-active.xpm32
-rw-r--r--themes/platinum/title-4-inactive.xpm32
-rw-r--r--themes/platinum/title-5-active.xpm32
-rw-r--r--themes/platinum/title-5-inactive.xpm32
-rw-r--r--themes/platinum/top-left-active.xpm32
-rw-r--r--themes/platinum/top-left-inactive.xpm32
-rw-r--r--themes/platinum/top-right-active.xpm32
-rw-r--r--themes/platinum/top-right-inactive.xpm32
-rw-r--r--themes/redmond/Makefile.am45
-rw-r--r--themes/redmond/Makefile.in235
-rw-r--r--themes/redmond/bottom-active.xpm12
-rw-r--r--themes/redmond/bottom-inactive.xpm12
-rw-r--r--themes/redmond/bottom-left-active.xpm42
-rw-r--r--themes/redmond/bottom-left-inactive.xpm41
-rw-r--r--themes/redmond/bottom-right-active.xpm42
-rw-r--r--themes/redmond/bottom-right-inactive.xpm40
-rw-r--r--themes/redmond/close-active.xpm198
-rw-r--r--themes/redmond/close-inactive.xpm197
-rw-r--r--themes/redmond/close-pressed.xpm204
-rw-r--r--themes/redmond/hide-active.xpm156
-rw-r--r--themes/redmond/hide-inactive.xpm150
-rw-r--r--themes/redmond/hide-pressed.xpm151
-rw-r--r--themes/redmond/left-active.xpm12
-rw-r--r--themes/redmond/left-inactive.xpm12
-rw-r--r--themes/redmond/maximize-active.xpm149
-rw-r--r--themes/redmond/maximize-inactive.xpm143
-rw-r--r--themes/redmond/maximize-pressed.xpm146
-rw-r--r--themes/redmond/menu-active.xpm156
-rw-r--r--themes/redmond/menu-inactive.xpm150
-rw-r--r--themes/redmond/menu-pressed.xpm153
-rw-r--r--themes/redmond/right-active.xpm13
-rw-r--r--themes/redmond/right-inactive.xpm13
-rw-r--r--themes/redmond/shade-active.xpm154
-rw-r--r--themes/redmond/shade-inactive.xpm148
-rw-r--r--themes/redmond/shade-pressed.xpm150
-rw-r--r--themes/redmond/stick-active.xpm156
-rw-r--r--themes/redmond/stick-inactive.xpm150
-rw-r--r--themes/redmond/stick-pressed.xpm153
-rw-r--r--themes/redmond/themerc6
-rw-r--r--themes/redmond/title-1-active.xpm53
-rw-r--r--themes/redmond/title-1-inactive.xpm50
-rw-r--r--themes/redmond/title-2-active.xpm53
-rw-r--r--themes/redmond/title-2-inactive.xpm50
-rw-r--r--themes/redmond/title-3-active.xpm53
-rw-r--r--themes/redmond/title-3-inactive.xpm50
-rw-r--r--themes/redmond/title-4-active.xpm53
-rw-r--r--themes/redmond/title-4-inactive.xpm50
-rw-r--r--themes/redmond/title-5-active.xpm53
-rw-r--r--themes/redmond/title-5-inactive.xpm50
-rw-r--r--themes/redmond/top-left-active.xpm74
-rw-r--r--themes/redmond/top-left-inactive.xpm66
-rw-r--r--themes/redmond/top-right-active.xpm74
-rw-r--r--themes/redmond/top-right-inactive.xpm62
-rw-r--r--themes/slimline/Makefile.am45
-rw-r--r--themes/slimline/Makefile.in235
-rw-r--r--themes/slimline/bottom-active.xpm13
-rw-r--r--themes/slimline/bottom-inactive.xpm13
-rw-r--r--themes/slimline/bottom-left-active.xpm13
-rw-r--r--themes/slimline/bottom-left-inactive.xpm13
-rw-r--r--themes/slimline/bottom-right-active.xpm20
-rw-r--r--themes/slimline/bottom-right-inactive.xpm20
-rw-r--r--themes/slimline/close-active.xpm22
-rw-r--r--themes/slimline/close-inactive.xpm22
-rw-r--r--themes/slimline/close-pressed.xpm22
-rw-r--r--themes/slimline/hide-active.xpm22
-rw-r--r--themes/slimline/hide-inactive.xpm22
-rw-r--r--themes/slimline/hide-pressed.xpm22
-rw-r--r--themes/slimline/left-active.xpm24
-rw-r--r--themes/slimline/left-inactive.xpm24
-rw-r--r--themes/slimline/maximize-active.xpm22
-rw-r--r--themes/slimline/maximize-inactive.xpm22
-rw-r--r--themes/slimline/maximize-pressed.xpm22
-rw-r--r--themes/slimline/menu-active.xpm22
-rw-r--r--themes/slimline/menu-inactive.xpm22
-rw-r--r--themes/slimline/menu-pressed.xpm22
-rw-r--r--themes/slimline/right-active.xpm24
-rw-r--r--themes/slimline/right-inactive.xpm24
-rw-r--r--themes/slimline/shade-active.xpm22
-rw-r--r--themes/slimline/shade-inactive.xpm22
-rw-r--r--themes/slimline/shade-pressed.xpm22
-rw-r--r--themes/slimline/stick-active.xpm22
-rw-r--r--themes/slimline/stick-inactive.xpm22
-rw-r--r--themes/slimline/stick-pressed.xpm22
-rw-r--r--themes/slimline/themerc3
-rw-r--r--themes/slimline/title-1-active.xpm31
-rw-r--r--themes/slimline/title-1-inactive.xpm31
-rw-r--r--themes/slimline/title-2-active.xpm34
-rw-r--r--themes/slimline/title-2-inactive.xpm34
-rw-r--r--themes/slimline/title-3-active.xpm34
-rw-r--r--themes/slimline/title-3-inactive.xpm34
-rw-r--r--themes/slimline/title-4-active.xpm34
-rw-r--r--themes/slimline/title-4-inactive.xpm34
-rw-r--r--themes/slimline/title-5-active.xpm31
-rw-r--r--themes/slimline/title-5-inactive.xpm31
-rw-r--r--themes/slimline/top-left-active.xpm31
-rw-r--r--themes/slimline/top-left-inactive.xpm31
-rw-r--r--themes/slimline/top-right-active.xpm31
-rw-r--r--themes/slimline/top-right-inactive.xpm31
-rw-r--r--themes/windows/Makefile.am45
-rw-r--r--themes/windows/Makefile.in235
-rw-r--r--themes/windows/bottom-active.xpm12
-rw-r--r--themes/windows/bottom-inactive.xpm12
-rw-r--r--themes/windows/bottom-left-active.xpm20
-rw-r--r--themes/windows/bottom-left-inactive.xpm20
-rw-r--r--themes/windows/bottom-right-active.xpm19
-rw-r--r--themes/windows/bottom-right-inactive.xpm19
-rw-r--r--themes/windows/close-active.xpm22
-rw-r--r--themes/windows/close-inactive.xpm22
-rw-r--r--themes/windows/close-pressed.xpm22
-rw-r--r--themes/windows/hide-active.xpm22
-rw-r--r--themes/windows/hide-inactive.xpm22
-rw-r--r--themes/windows/hide-pressed.xpm22
-rw-r--r--themes/windows/left-active.xpm7
-rw-r--r--themes/windows/left-inactive.xpm7
-rw-r--r--themes/windows/maximize-active.xpm22
-rw-r--r--themes/windows/maximize-inactive.xpm22
-rw-r--r--themes/windows/maximize-pressed.xpm22
-rw-r--r--themes/windows/menu-active.xpm22
-rw-r--r--themes/windows/menu-inactive.xpm22
-rw-r--r--themes/windows/menu-pressed.xpm22
-rw-r--r--themes/windows/right-active.xpm8
-rw-r--r--themes/windows/right-inactive.xpm8
-rw-r--r--themes/windows/shade-active.xpm22
-rw-r--r--themes/windows/shade-inactive.xpm22
-rw-r--r--themes/windows/shade-pressed.xpm22
-rw-r--r--themes/windows/stick-active.xpm22
-rw-r--r--themes/windows/stick-inactive.xpm22
-rw-r--r--themes/windows/stick-pressed.xpm22
-rw-r--r--themes/windows/themerc4
-rw-r--r--themes/windows/title-1-active.xpm32
-rw-r--r--themes/windows/title-1-inactive.xpm32
-rw-r--r--themes/windows/title-2-active.xpm32
-rw-r--r--themes/windows/title-2-inactive.xpm32
-rw-r--r--themes/windows/title-3-active.xpm32
-rw-r--r--themes/windows/title-3-inactive.xpm32
-rw-r--r--themes/windows/title-4-active.xpm32
-rw-r--r--themes/windows/title-4-inactive.xpm32
-rw-r--r--themes/windows/title-5-active.xpm32
-rw-r--r--themes/windows/title-5-inactive.xpm32
-rw-r--r--themes/windows/top-left-active.xpm31
-rw-r--r--themes/windows/top-left-inactive.xpm31
-rw-r--r--themes/windows/top-right-active.xpm32
-rw-r--r--themes/windows/top-right-inactive.xpm32
-rw-r--r--themes/xfce/Makefile.am45
-rw-r--r--themes/xfce/Makefile.in235
-rw-r--r--themes/xfce/bottom-active.xpm13
-rw-r--r--themes/xfce/bottom-inactive.xpm13
-rw-r--r--themes/xfce/bottom-left-active.xpm28
-rw-r--r--themes/xfce/bottom-left-inactive.xpm28
-rw-r--r--themes/xfce/bottom-right-active.xpm28
-rw-r--r--themes/xfce/bottom-right-inactive.xpm28
-rw-r--r--themes/xfce/close-active.xpm28
-rw-r--r--themes/xfce/close-inactive.xpm28
-rw-r--r--themes/xfce/close-pressed.xpm30
-rw-r--r--themes/xfce/hide-active.xpm28
-rw-r--r--themes/xfce/hide-inactive.xpm28
-rw-r--r--themes/xfce/hide-pressed.xpm30
-rw-r--r--themes/xfce/left-active.xpm13
-rw-r--r--themes/xfce/left-inactive.xpm13
-rw-r--r--themes/xfce/maximize-active.xpm28
-rw-r--r--themes/xfce/maximize-inactive.xpm28
-rw-r--r--themes/xfce/maximize-pressed.xpm30
-rw-r--r--themes/xfce/menu-active.xpm28
-rw-r--r--themes/xfce/menu-inactive.xpm28
-rw-r--r--themes/xfce/menu-pressed.xpm30
-rw-r--r--themes/xfce/right-active.xpm13
-rw-r--r--themes/xfce/right-inactive.xpm13
-rw-r--r--themes/xfce/shade-active.xpm28
-rw-r--r--themes/xfce/shade-inactive.xpm28
-rw-r--r--themes/xfce/shade-pressed.xpm30
-rw-r--r--themes/xfce/stick-active.xpm28
-rw-r--r--themes/xfce/stick-inactive.xpm28
-rw-r--r--themes/xfce/stick-pressed.xpm30
-rw-r--r--themes/xfce/themerc4
-rw-r--r--themes/xfce/title-1-active.xpm33
-rw-r--r--themes/xfce/title-1-inactive.xpm33
-rw-r--r--themes/xfce/title-2-active.xpm34
-rw-r--r--themes/xfce/title-2-inactive.xpm34
-rw-r--r--themes/xfce/title-3-active.xpm34
-rw-r--r--themes/xfce/title-3-inactive.xpm34
-rw-r--r--themes/xfce/title-4-active.xpm34
-rw-r--r--themes/xfce/title-4-inactive.xpm34
-rw-r--r--themes/xfce/title-5-active.xpm33
-rw-r--r--themes/xfce/title-5-inactive.xpm33
-rw-r--r--themes/xfce/top-left-active.xpm33
-rw-r--r--themes/xfce/top-left-inactive.xpm33
-rw-r--r--themes/xfce/top-right-active.xpm33
-rw-r--r--themes/xfce/top-right-inactive.xpm33
551 files changed, 49712 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 000000000..7ab36910c
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,17 @@
+Authors and Contributors for Oroborus
+=====================================
+
+Author:
+ Ken Lynch <kenlynch@blueyonder.co.uk>
+
+Contributors:
+ Martin Hedenfalk
+ (border snapping, workspace keys, vertical/horizontal maximizing)
+
+Acknowledgments:
+ I would like to thank Decklin Foster for writing AEWM which I used to
+ help me write Oroborus. I would also like to thank Tomohiro Kubota for
+ the i18n code which I used to implement i18n support in Oroborus.
+
+ Finally I would like to thank all of you who have helped me to debug and
+ fine tune Oroborus and make it what it is today.
diff --git a/COPYING b/COPYING
new file mode 100644
index 000000000..b3c2d15bb
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..a0cf7f11b
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,54 @@
+Changes in Version 2.0.4
+
+* Small fix window shaping
+* Added move window to numbered workspace keybindings
+* Altered some of the default keybindings
+* Fixed a bug which caused title bar corruption for windows with no title text
+
+Changes in Version 2.0.3
+
+* Fixed a bug which caused hidden windows to be made visible again when changing
+ workspaces
+* Added the ability to change the resize keys in the config file which was
+ accidently left out
+* Alt+Tab now raises windows
+* Added keybindings to move window to next/previous workspace
+* Clicking close with button 3 now kills stubborn apps that refuse to close
+* Better handling of segfaults
+* New theme coldsteel which shows off some of the new features
+* Fixed a bug which caused windows to jump workspaces when edge flipping
+* Fixed a window unmapping bug
+* The Agua theme is back
+
+Changes in Version 2.0.2
+
+* Fixed a bug which caused a segfault when last window was closed
+* Created a .indent.pro file in the source directory with my preffered indent
+ settings
+* Improved border snapping
+* Added vertical/horizontal maximize
+* Added switch to numbered workspace keys
+
+Changes in Version 2.0.1
+
+* Fixed a bug which caused a segfault when Oroborus was run as the first app
+* Added --enable-debug option to configure script
+* Added example .oroborusrc file
+
+Changes in Version 2.0.0
+
+* Converted to automake/autoconf
+* Improved keyboard control
+* Can now resize window from any corner
+* Major enhancements to theme format
+* Added shade and maximize buttons
+* Configurable button positions
+* Added new color options for active and inactive borders
+* Introduced color schemes
+* Choice of box or opaque resize
+* Choice of box or opaque move
+* Added raise delay option
+* Configurable double click action, choice of maximize, shade, hide or none
+* Automatically adjusts for GNOME panel when maximizing and positioning
+* Added edge flipping when moving windows
+* Added snap to border feature
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 000000000..d1f493f17
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,15 @@
+Installation
+============
+
+Type the following:
+
+ ./configure
+ make
+ make install
+
+The default install locations are /usr/local/bin and /usr/local/share.
+
+If you want to change the install location, use configure's --prefix option
+e.g. ./configure --prefix=/usr will install into /usr/bin and /usr/share.
+
+If you want to enable debugging output use the --enable-debug option.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 000000000..f52cff242
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = example.xfwm4rc
+
+SUBDIRS = src defaults themes
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 000000000..aa982dff7
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,350 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+EXTRA_DIST = example.xfwm4rc
+
+SUBDIRS = src defaults themes
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
+Makefile.am Makefile.in NEWS TODO acconfig.h aclocal.m4 config.h.in \
+configure configure.in install-sh missing mkinstalldirs
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): configure.in
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+config.h: stamp-h
+ @if test ! -f $@; then \
+ rm -f stamp-h; \
+ $(MAKE) stamp-h; \
+ else :; fi
+stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES= CONFIG_HEADERS=config.h \
+ $(SHELL) ./config.status
+ @echo timestamp > stamp-h 2> /dev/null
+$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
+ @if test ! -f $@; then \
+ rm -f $(srcdir)/stamp-h.in; \
+ $(MAKE) $(srcdir)/stamp-h.in; \
+ else :; fi
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
+ cd $(top_srcdir) && $(AUTOHEADER)
+ @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+ -rm -f config.h
+
+maintainer-clean-hdr:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" != "." || dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+all-recursive-am: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile config.h
+all-redirect: all-recursive-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+install-data-recursive uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644
index 000000000..139597f9c
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,2 @@
+
+
diff --git a/README b/README
new file mode 100644
index 000000000..843144904
--- /dev/null
+++ b/README
@@ -0,0 +1,19 @@
+Oroborus Readme
+===============
+
+Oroborus is a small yet fully featured GNOME compliant window manager for the
+X Window System. It is distributed under the GPL (see LICENSE for more details).
+
+The code is sort of based on AEWM by Decklin Foster in that I studied that code
+to find out how a window manager works. It has since evolved into something
+quite beautiful.
+
+The I18N internationalisation code was taken from the TWM I18N patch from the
+I18N documentation available at www.debian.org.
+
+The main aim of Oroborus is to be small and light with very few fancy features,
+so there are no docks, no taskbars, no root menus and no icons. These can be
+added quite easily by either using Oroborus with GNOME or using some other
+applications that provide the required functionality.
+
+Have fun!
diff --git a/TODO b/TODO
new file mode 100644
index 000000000..079f0c60a
--- /dev/null
+++ b/TODO
@@ -0,0 +1,16 @@
+Things to do
+============
+
+* Implement freedesktop.org standards ** DONE **
+* Use pango for font redering (aa text, multibytes, etc) ** DONE **
+* Add new buttons for menu and stick/unstick
+* Implement window menu ** PARTIAL **
+* Implement xsettings
+* Implement session management
+* Reimplement Xinerama support
+* Implement autoraise window using GTK timeout ** DONE **
+* Make transient windows stay stacked above their parents ** DONE **
+* Implement GTK event loop ** DONE **
+* Implement GTK menus ** DONE **
+* Bugfix on MapRequest (crash when mapping/unmapping quickly) ** DONE **
+
diff --git a/acconfig.h b/acconfig.h
new file mode 100644
index 000000000..7d3deb87d
--- /dev/null
+++ b/acconfig.h
@@ -0,0 +1 @@
+#undef DEBUG
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 000000000..2c426b6dd
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,185 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+
+dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN([AM_MISSING_PROG],
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN([AM_CONFIG_HEADER],
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated. We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+ case " <<$>>CONFIG_HEADERS " in
+ *" <<$>>am_file "*<<)>>
+ echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+ ;;
+ esac
+ am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN(PKG_CHECK_MODULES, [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING($1_CFLAGS)
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ AC_MSG_RESULT($$1_CFLAGS)
+
+ AC_MSG_CHECKING($1_LIBS)
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ AC_MSG_RESULT($$1_LIBS)
+ else
+ $1_CFLAGS=""
+ $1_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
+ fi
+
+ AC_SUBST($1_CFLAGS)
+ AC_SUBST($1_LIBS)
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ ifelse([$3], , :, [$3])
+ else
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+ fi
+])
+
+
+
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 000000000..320306c00
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,57 @@
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+#undef DEBUG
+
+/* Define if you have the `X11' library (-lX11). */
+#undef HAVE_LIBX11
+
+/* Define if you have the `Xext' library (-lXext). */
+#undef HAVE_LIBXEXT
+
+/* Define if you have the `Xpm' library (-lXpm). */
+#undef HAVE_LIBXPM
+
+/* Define if you have the `malloc' function. */
+#undef HAVE_MALLOC
+
+/* Define if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have the `strrchr' function. */
+#undef HAVE_STRRCHR
+
+/* Define if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define as `__inline' if that's what the C compiler calls it, or to nothing
+ if it is not supported. */
+#undef inline
diff --git a/configure b/configure
new file mode 100755
index 000000000..76e8e525f
--- /dev/null
+++ b/configure
@@ -0,0 +1,17842 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by Autoconf 2.52.
+#
+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+cross_compiling=no
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+ac_unique_file="src/main.c"
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: should be removed in autoconf 3.0.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<EOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+EOF
+
+ cat <<EOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+EOF
+
+ cat <<\EOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+X features:
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\EOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-debug use this option if you want to debug xfwm4
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-x use the X Window System
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+ headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+EOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue
+ cd $ac_subdir
+ # A "../" for each directory in /$ac_subdir.
+ ac_dots=`echo $ac_subdir |
+ sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'`
+
+ case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_subdir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_sub_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_sub_srcdir/configure; then
+ echo
+ $SHELL $ac_sub_srcdir/configure --help=recursive
+ elif test -f $ac_sub_srcdir/configure.ac ||
+ test -f $ac_sub_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\EOF
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+EOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<EOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.52. Invocation command line was
+
+ $ $0 $@
+
+EOF
+{
+cat <<_ASUNAME
+## ---------- ##
+## Platform. ##
+## ---------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+PATH = $PATH
+
+_ASUNAME
+} >&5
+
+cat >&5 <<EOF
+## ------------ ##
+## Core tests. ##
+## ------------ ##
+
+EOF
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell meta-characters.
+ac_configure_args=
+ac_sep=
+for ac_arg
+do
+ case $ac_arg in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ ac_sep=" " ;;
+ *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg"
+ ac_sep=" " ;;
+ esac
+ # Get rid of the leading space.
+done
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ echo >&5
+ echo "## ----------------- ##" >&5
+ echo "## Cache variables. ##" >&5
+ echo "## ----------------- ##" >&5
+ echo >&5
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} >&5
+ sed "/^$/d" confdefs.h >conftest.log
+ if test -s conftest.log; then
+ echo >&5
+ echo "## ------------ ##" >&5
+ echo "## confdefs.h. ##" >&5
+ echo "## ------------ ##" >&5
+ echo >&5
+ cat conftest.log >&5
+ fi
+ (echo; echo) >&5
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal" >&5
+ echo "$as_me: exit $exit_status" >&5
+ rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:838: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:849: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:857: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:873: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:877: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:883: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:885: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:887: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status. It doesn't matter if
+ # we pass some twice (in addition to the command line arguments).
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"`
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val"
+ ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:906: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:908: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+echo "#! $SHELL" >conftest.sh
+echo "exit 0" >>conftest.sh
+chmod +x conftest.sh
+if { (echo "$as_me:928: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+ echo "$as_me:931: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+else
+ ac_path_separator=:
+fi
+PATH_SEPARATOR="$ac_path_separator"
+rm -f conftest.sh
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:957: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:977: checking for a BSD compatible install" >&5
+echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ for ac_dir in $PATH; do
+ IFS=$ac_save_IFS
+ # Account for people who put trailing slashes in PATH elements.
+ case $ac_dir/ in
+ / | ./ | .// | /cC/* \
+ | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \
+ | /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if $as_executable_p "$ac_dir/$ac_prog"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:1026: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:1037: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:1060: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:1073: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+rm -f conftest*
+echo "$as_me:1080: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+echo "$as_me:1095: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:1115: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:1119: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+PACKAGE=xfwm4
+
+VERSION=0.0.100
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { { echo "$as_me:1129: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+cat >>confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >>confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo "$as_me:1143: checking for working aclocal" >&5
+echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$as_me:1150: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$as_me:1154: result: missing" >&5
+echo "${ECHO_T}missing" >&6
+fi
+
+echo "$as_me:1158: checking for working autoconf" >&5
+echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$as_me:1165: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$as_me:1169: result: missing" >&5
+echo "${ECHO_T}missing" >&6
+fi
+
+echo "$as_me:1173: checking for working automake" >&5
+echo $ECHO_N "checking for working automake... $ECHO_C" >&6
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$as_me:1180: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$as_me:1184: result: missing" >&5
+echo "${ECHO_T}missing" >&6
+fi
+
+echo "$as_me:1188: checking for working autoheader" >&5
+echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$as_me:1195: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$as_me:1199: result: missing" >&5
+echo "${ECHO_T}missing" >&6
+fi
+
+echo "$as_me:1203: checking for working makeinfo" >&5
+echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$as_me:1210: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$as_me:1214: result: missing" >&5
+echo "${ECHO_T}missing" >&6
+fi
+
+ac_config_headers="$ac_config_headers config.h"
+
+ac_config_commands="$ac_config_commands default-1"
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:1230: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="${ac_tool_prefix}gcc"
+echo "$as_me:1245: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1253: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1256: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:1265: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="gcc"
+echo "$as_me:1280: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1288: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1291: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:1304: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="${ac_tool_prefix}cc"
+echo "$as_me:1319: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1327: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1330: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:1339: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="cc"
+echo "$as_me:1354: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1362: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1365: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:1378: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+fi
+ac_cv_prog_CC="cc"
+echo "$as_me:1398: found $ac_dir/$ac_word" >&5
+break
+done
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" ${1+"$@"}
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1420: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1423: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:1434: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+echo "$as_me:1449: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1457: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1460: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:1473: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="$ac_prog"
+echo "$as_me:1488: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1496: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1499: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$ac_ct_CC" && break
+done
+
+ CC=$ac_ct_CC
+fi
+
+fi
+
+test -z "$CC" && { { echo "$as_me:1511: error: no acceptable cc found in \$PATH" >&5
+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:1516:" \
+ "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:1519: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1522: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:1524: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1527: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:1529: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1532: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+#line 1536 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:1552: checking for C compiler default output" >&5
+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:1555: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+ echo "$as_me:1558: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+for ac_file in `ls a.exe conftest.exe 2>/dev/null;
+ ls a.out conftest 2>/dev/null;
+ ls a.* conftest.* 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ a.out ) # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
+ export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:1581: error: C compiler cannot create executables" >&5
+echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:1587: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:1592: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (eval echo "$as_me:1598: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1601: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:1608: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+echo "$as_me:1616: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:1623: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:1625: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:1628: checking for executable suffix" >&5
+echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+if { (eval echo "$as_me:1630: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:1633: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:1649: error: cannot compute EXEEXT: cannot compile and link" >&5
+echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:1655: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:1661: checking for object suffix" >&5
+echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1667 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:1679: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1682: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:1694: error: cannot compute OBJEXT: cannot compile" >&5
+echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:1701: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:1705: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1711 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1726: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1729: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1732: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1735: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:1747: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:1753: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1759 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1771: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1774: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1777: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1780: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:1790: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+# Some people use a C++ compiler to compile C. Since we use `exit',
+# in C++ we need to declare it. In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+ choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1817: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1820: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1823: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1826: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1838 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1851: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1854: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1857: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1860: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+continue
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1870 "configure"
+#include "confdefs.h"
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1882: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1885: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1888: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1891: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
+fi
+
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:1930: checking for a BSD compatible install" >&5
+echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ for ac_dir in $PATH; do
+ IFS=$ac_save_IFS
+ # Account for people who put trailing slashes in PATH elements.
+ case $ac_dir/ in
+ / | ./ | .// | /cC/* \
+ | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \
+ | /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if $as_executable_p "$ac_dir/$ac_prog"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:1979: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:1990: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line 1998 "configure"
+#include "confdefs.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX -qlanglvl=ansi
+# Ultrix and OSF/1 -std1
+# HP-UX 10.20 and later -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (eval echo "$as_me:2047: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:2050: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:2053: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2056: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+ x|xno)
+ echo "$as_me:2073: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+ *)
+ echo "$as_me:2076: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+ CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+echo "$as_me:2081: checking for inline" >&5
+echo $ECHO_N "checking for inline... $ECHO_C" >&6
+if test "${ac_cv_c_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2089 "configure"
+#include "confdefs.h"
+#ifndef __cplusplus
+static $ac_kw int static_foo () {return 0; }
+$ac_kw int foo () {return 0; }
+#endif
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:2098: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:2101: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:2104: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2107: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_inline=$ac_kw; break
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+
+fi
+echo "$as_me:2118: result: $ac_cv_c_inline" >&5
+echo "${ECHO_T}$ac_cv_c_inline" >&6
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ no)
+cat >>confdefs.h <<\EOF
+#define inline
+EOF
+ ;;
+ *) cat >>confdefs.h <<EOF
+#define inline $ac_cv_c_inline
+EOF
+ ;;
+esac
+
+echo "$as_me:2133: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2139 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset x;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *ccp;
+ char **p;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ ccp = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++ccp;
+ p = (char**) ccp;
+ ccp = (char const *const *) p;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ }
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:2197: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:2200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:2203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_c_const=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:2216: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\EOF
+#define const
+EOF
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:2231: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2252 "configure"
+#include "confdefs.h"
+#include <assert.h>
+ Syntax error
+_ACEOF
+if { (eval echo "$as_me:2257: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:2263: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2286 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:2290: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:2296: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:2333: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2343 "configure"
+#include "confdefs.h"
+#include <assert.h>
+ Syntax error
+_ACEOF
+if { (eval echo "$as_me:2348: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:2354: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2377 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:2381: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:2387: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:2415: error: C preprocessor \"$CPP\" fails sanity check" >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+echo "$as_me:2426: checking for X" >&5
+echo $ECHO_N "checking for X... $ECHO_C" >&6
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+ withval="$with_x"
+
+fi;
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+ # The user explicitly disabled X.
+ have_x=disabled
+else
+ if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+ # Both variables are already set.
+ have_x=yes
+ else
+ if test "${ac_cv_have_x+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -fr conftest.dir
+if mkdir conftest.dir; then
+ cd conftest.dir
+ # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+ cat >Imakefile <<'EOF'
+acfindx:
+ @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+ if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+ # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+ for ac_extension in a so sl; do
+ if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+ test -f $ac_im_libdir/libX11.$ac_extension; then
+ ac_im_usrlibdir=$ac_im_libdir; break
+ fi
+ done
+ # Screen out bogus values from the imake configuration. They are
+ # bogus both because they are the default anyway, and because
+ # using them would break gcc on systems where it needs fixed includes.
+ case $ac_im_incroot in
+ /usr/include) ;;
+ *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+ esac
+ case $ac_im_usrlibdir in
+ /usr/lib | /lib) ;;
+ *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+ esac
+ fi
+ cd ..
+ rm -fr conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+ # Guess where to find include files, by looking for Intrinsic.h.
+ # First, try using that file with no special directory specified.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2523 "configure"
+#include "confdefs.h"
+#include <X11/Intrinsic.h>
+_ACEOF
+if { (eval echo "$as_me:2527: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:2533: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ for ac_dir in $ac_x_header_dirs; do
+ if test -r "$ac_dir/X11/Intrinsic.h"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+done
+fi
+rm -f conftest.err conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+ # Check for the libraries.
+ # See if we find them without any special options.
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS=$LIBS
+ LIBS="-lXt $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2566 "configure"
+#include "confdefs.h"
+#include <X11/Intrinsic.h>
+int
+main ()
+{
+XtMalloc (0)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2578: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2581: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2584: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2587: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+LIBS=$ac_save_LIBS
+for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+ # Don't even attempt the hair of trying to link an X program!
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/libXt.$ac_extension; then
+ ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
+ # Didn't find X anywhere. Cache the known absence of X.
+ ac_cv_have_x="have_x=no"
+else
+ # Record where we found X for the cache.
+ ac_cv_have_x="have_x=yes \
+ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+
+ fi
+ eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+ echo "$as_me:2625: result: $have_x" >&5
+echo "${ECHO_T}$have_x" >&6
+ no_x=yes
+else
+ # If each of the values was on the command line, it overrides each guess.
+ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+ # Update the cache value to reflect the command line values.
+ ac_cv_have_x="have_x=yes \
+ ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+ echo "$as_me:2635: result: libraries $x_libraries, headers $x_includes" >&5
+echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+fi
+
+if test "$no_x" = yes; then
+ # Not all programs may use this symbol, but it does not hurt to define it.
+
+cat >>confdefs.h <<\EOF
+#define X_DISPLAY_MISSING 1
+EOF
+
+ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+ if test -n "$x_includes"; then
+ X_CFLAGS="$X_CFLAGS -I$x_includes"
+ fi
+
+ # It would also be nice to do this for all -L options, not just this one.
+ if test -n "$x_libraries"; then
+ X_LIBS="$X_LIBS -L$x_libraries"
+ # For Solaris; some versions of Sun CC require a space after -R and
+ # others require no space. Words are not sufficient . . . .
+ case `(uname -sr) 2>/dev/null` in
+ "SunOS 5"*)
+ echo "$as_me:2659: checking whether -R must be followed by a space" >&5
+echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
+ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2663 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2675: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2678: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2681: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2684: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_R_nospace=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_R_nospace=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ if test $ac_R_nospace = yes; then
+ echo "$as_me:2694: result: no" >&5
+echo "${ECHO_T}no" >&6
+ X_LIBS="$X_LIBS -R$x_libraries"
+ else
+ LIBS="$ac_xsave_LIBS -R $x_libraries"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2700 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2712: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2715: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2718: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2721: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_R_space=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_R_space=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ if test $ac_R_space = yes; then
+ echo "$as_me:2731: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ X_LIBS="$X_LIBS -R $x_libraries"
+ else
+ echo "$as_me:2735: result: neither works" >&5
+echo "${ECHO_T}neither works" >&6
+ fi
+ fi
+ LIBS=$ac_xsave_LIBS
+ esac
+ fi
+
+ # Check for system-dependent libraries X programs must link with.
+ # Do this before checking for the system-independent R6 libraries
+ # (-lICE), since we may need -lsocket or whatever for X linking.
+
+ if test "$ISC" = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+ else
+ # Martyn Johnson says this is needed for Ultrix, if the X
+ # libraries were built with DECnet support. And Karl Berry says
+ # the Alpha needs dnet_stub (dnet does not exist).
+ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2755 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char XOpenDisplay ();
+int
+main ()
+{
+XOpenDisplay ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2774: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2777: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2780: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2783: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+echo "$as_me:2789: checking for dnet_ntoa in -ldnet" >&5
+echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 2797 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dnet_ntoa ();
+int
+main ()
+{
+dnet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2816: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2819: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2822: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2825: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dnet_dnet_ntoa=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:2836: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ echo "$as_me:2843: checking for dnet_ntoa in -ldnet_stub" >&5
+echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 2851 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dnet_ntoa ();
+int
+main ()
+{
+dnet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2870: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2873: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2876: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2879: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:2890: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+ fi
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$ac_xsave_LIBS"
+
+ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+ # to get the SysV transport functions.
+ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+ # needs -lnsl.
+ # The nsl library prevents programs from opening the X display
+ # on Irix 5.2, according to T.E. Dickey.
+ # The functions gethostbyname, getservbyname, and inet_addr are
+ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+ echo "$as_me:2909: checking for gethostbyname" >&5
+echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+if test "${ac_cv_func_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 2915 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gethostbyname (); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+choke me
+#else
+f = gethostbyname;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2946: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2949: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:2952: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:2955: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gethostbyname=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_gethostbyname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:2965: result: $ac_cv_func_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+
+ if test $ac_cv_func_gethostbyname = no; then
+ echo "$as_me:2969: checking for gethostbyname in -lnsl" >&5
+echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 2977 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname ();
+int
+main ()
+{
+gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:2996: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:2999: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3002: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3005: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_nsl_gethostbyname=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3016: result: $ac_cv_lib_nsl_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+if test $ac_cv_lib_nsl_gethostbyname = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+ if test $ac_cv_lib_nsl_gethostbyname = no; then
+ echo "$as_me:3023: checking for gethostbyname in -lbsd" >&5
+echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3031 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gethostbyname ();
+int
+main ()
+{
+gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3050: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3053: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3056: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3059: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gethostbyname=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3070: result: $ac_cv_lib_bsd_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+if test $ac_cv_lib_bsd_gethostbyname = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+ fi
+ fi
+
+ # lieder@skyler.mavd.honeywell.com says without -lsocket,
+ # socket/setsockopt and other routines are undefined under SCO ODT
+ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
+ # on later versions), says Simon Leinen: it contains gethostby*
+ # variants that don't use the nameserver (or something). -lsocket
+ # must be given before -lnsl if both are needed. We assume that
+ # if connect needs -lnsl, so does gethostbyname.
+ echo "$as_me:3086: checking for connect" >&5
+echo $ECHO_N "checking for connect... $ECHO_C" >&6
+if test "${ac_cv_func_connect+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3092 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char connect (); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char connect ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_connect) || defined (__stub___connect)
+choke me
+#else
+f = connect;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3123: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3126: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3129: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3132: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_connect=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_connect=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:3142: result: $ac_cv_func_connect" >&5
+echo "${ECHO_T}$ac_cv_func_connect" >&6
+
+ if test $ac_cv_func_connect = no; then
+ echo "$as_me:3146: checking for connect in -lsocket" >&5
+echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+if test "${ac_cv_lib_socket_connect+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3154 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char connect ();
+int
+main ()
+{
+connect ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3173: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3176: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3179: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3182: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_socket_connect=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_socket_connect=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3193: result: $ac_cv_lib_socket_connect" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+if test $ac_cv_lib_socket_connect = yes; then
+ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+ fi
+
+ # Guillermo Gomez says -lposix is necessary on A/UX.
+ echo "$as_me:3202: checking for remove" >&5
+echo $ECHO_N "checking for remove... $ECHO_C" >&6
+if test "${ac_cv_func_remove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3208 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char remove (); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char remove ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_remove) || defined (__stub___remove)
+choke me
+#else
+f = remove;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3239: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3242: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3245: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3248: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_remove=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_remove=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:3258: result: $ac_cv_func_remove" >&5
+echo "${ECHO_T}$ac_cv_func_remove" >&6
+
+ if test $ac_cv_func_remove = no; then
+ echo "$as_me:3262: checking for remove in -lposix" >&5
+echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+if test "${ac_cv_lib_posix_remove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3270 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char remove ();
+int
+main ()
+{
+remove ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3289: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3292: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3295: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3298: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_posix_remove=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_posix_remove=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3309: result: $ac_cv_lib_posix_remove" >&5
+echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+if test $ac_cv_lib_posix_remove = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+ fi
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ echo "$as_me:3318: checking for shmat" >&5
+echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+if test "${ac_cv_func_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3324 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shmat (); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shmat ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_shmat) || defined (__stub___shmat)
+choke me
+#else
+f = shmat;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3355: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3358: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3361: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3364: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_shmat=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_shmat=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:3374: result: $ac_cv_func_shmat" >&5
+echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+ if test $ac_cv_func_shmat = no; then
+ echo "$as_me:3378: checking for shmat in -lipc" >&5
+echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3386 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shmat ();
+int
+main ()
+{
+shmat ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3405: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3408: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3411: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3414: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_ipc_shmat=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_ipc_shmat=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3425: result: $ac_cv_lib_ipc_shmat" >&5
+echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+if test $ac_cv_lib_ipc_shmat = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+ fi
+ fi
+
+ # Check for libraries that X11R6 Xt/Xaw programs need.
+ ac_save_LDFLAGS=$LDFLAGS
+ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+ # check for ICE first), but we must link in the order -lSM -lICE or
+ # we get undefined symbols. So assume we have SM if we have ICE.
+ # These have to be linked with before -lX11, unlike the other
+ # libraries we check for below, so use a different variable.
+ # John Interrante, Karl Berry
+ echo "$as_me:3443: checking for IceConnectionNumber in -lICE" >&5
+echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3451 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char IceConnectionNumber ();
+int
+main ()
+{
+IceConnectionNumber ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3470: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3473: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3476: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3479: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3490: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
+ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+ LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+echo "$as_me:3500: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3506 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+_ACEOF
+if { (eval echo "$as_me:3514: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:3520: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3542 "configure"
+#include "confdefs.h"
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3560 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3581 "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ exit(2);
+ exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:3607: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3610: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:3612: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3615: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_header_stdc=no
+fi
+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:3628: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\EOF
+#define STDC_HEADERS 1
+EOF
+
+fi
+
+for ac_header in stdlib.h string.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:3641: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3647 "configure"
+#include "confdefs.h"
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:3651: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:3657: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_ext
+fi
+echo "$as_me:3676: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+EOF
+
+fi
+done
+
+echo "$as_me:3686: checking for main in -lX11" >&5
+echo $ECHO_N "checking for main in -lX11... $ECHO_C" >&6
+if test "${ac_cv_lib_X11_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11 $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3694 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+main ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3706: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3709: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3712: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3715: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_X11_main=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_X11_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3726: result: $ac_cv_lib_X11_main" >&5
+echo "${ECHO_T}$ac_cv_lib_X11_main" >&6
+if test $ac_cv_lib_X11_main = yes; then
+ cat >>confdefs.h <<EOF
+#define HAVE_LIBX11 1
+EOF
+
+ LIBS="-lX11 $LIBS"
+
+else
+ { { echo "$as_me:3736: error: libX11 is missing from your system: Make sure you have both the X Window System libraries and development headers correctly installed" >&5
+echo "$as_me: error: libX11 is missing from your system: Make sure you have both the X Window System libraries and development headers correctly installed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+echo "$as_me:3741: checking for main in -lXext" >&5
+echo $ECHO_N "checking for main in -lXext... $ECHO_C" >&6
+if test "${ac_cv_lib_Xext_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXext $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3749 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+main ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3761: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3764: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3767: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3770: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_Xext_main=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_Xext_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3781: result: $ac_cv_lib_Xext_main" >&5
+echo "${ECHO_T}$ac_cv_lib_Xext_main" >&6
+if test $ac_cv_lib_Xext_main = yes; then
+ cat >>confdefs.h <<EOF
+#define HAVE_LIBXEXT 1
+EOF
+
+ LIBS="-lXext $LIBS"
+
+else
+ { { echo "$as_me:3791: error: The X Window System installed on this machine does not support the shape extension" >&5
+echo "$as_me: error: The X Window System installed on this machine does not support the shape extension" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+echo "$as_me:3796: checking for main in -lXpm" >&5
+echo $ECHO_N "checking for main in -lXpm... $ECHO_C" >&6
+if test "${ac_cv_lib_Xpm_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXpm $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 3804 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+main ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3816: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3819: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3822: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3825: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_Xpm_main=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_Xpm_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:3836: result: $ac_cv_lib_Xpm_main" >&5
+echo "${ECHO_T}$ac_cv_lib_Xpm_main" >&6
+if test $ac_cv_lib_Xpm_main = yes; then
+ cat >>confdefs.h <<EOF
+#define HAVE_LIBXPM 1
+EOF
+
+ LIBS="-lXpm $LIBS"
+
+else
+ { { echo "$as_me:3846: error: libXpm is missing from your system: Make sure you have both the Xpm libraries and development headers correctly installed" >&5
+echo "$as_me: error: libXpm is missing from your system: Make sure you have both the Xpm libraries and development headers correctly installed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+for ac_func in malloc setlocale strchr strdup strrchr strstr
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:3854: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 3860 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+char (*f) ();
+
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:3891: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:3894: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:3897: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:3900: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:3910: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+EOF
+
+fi
+done
+
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval="$enable_debug"
+ cat >>confdefs.h <<\EOF
+#define DEBUG 1
+EOF
+
+fi;
+
+## Versions of dependencies
+GLIB_REQUIRED_VERSION=2.0.0
+GTK_REQUIRED_VERSION=2.0.0
+PANGO_REQUIRED_VERSION=1.0.0
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo "$as_me:3939: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+ echo "$as_me:3956: found $ac_dir/$ac_word" >&5
+ break
+fi
+done
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+if test -n "$PKG_CONFIG"; then
+ echo "$as_me:3968: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6
+else
+ echo "$as_me:3971: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo "$as_me:3985: checking for glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION" >&5
+echo $ECHO_N "checking for glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION... $ECHO_C" >&6
+
+ if $PKG_CONFIG --exists "glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION" ; then
+ echo "$as_me:3989: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ succeeded=yes
+
+ echo "$as_me:3993: checking BASE_DEPENDENCIES_CFLAGS" >&5
+echo $ECHO_N "checking BASE_DEPENDENCIES_CFLAGS... $ECHO_C" >&6
+ BASE_DEPENDENCIES_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION"`
+ echo "$as_me:3996: result: $BASE_DEPENDENCIES_CFLAGS" >&5
+echo "${ECHO_T}$BASE_DEPENDENCIES_CFLAGS" >&6
+
+ echo "$as_me:3999: checking BASE_DEPENDENCIES_LIBS" >&5
+echo $ECHO_N "checking BASE_DEPENDENCIES_LIBS... $ECHO_C" >&6
+ BASE_DEPENDENCIES_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION"`
+ echo "$as_me:4002: result: $BASE_DEPENDENCIES_LIBS" >&5
+echo "${ECHO_T}$BASE_DEPENDENCIES_LIBS" >&6
+ else
+ BASE_DEPENDENCIES_CFLAGS=""
+ BASE_DEPENDENCIES_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ BASE_DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION"`
+ echo $BASE_DEPENDENCIES_PKG_ERRORS
+ fi
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ :
+ else
+ { { echo "$as_me:4022: error: Library requirements (glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+echo "$as_me: error: Library requirements (glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ac_config_files="$ac_config_files Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:4107: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:4283: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:4302: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:4347: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:4569: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:4587: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:4600: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:4661: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:4672: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:4685: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:4802: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files src/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:4963: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:5139: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:5158: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:5204: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:5426: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:5444: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:5457: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:5518: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:5529: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:5542: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:5659: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files defaults/defaults"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:5820: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:5996: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:6015: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:6062: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:6284: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:6302: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:6315: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:6376: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:6387: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:6400: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:6517: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files defaults/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:6678: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:6854: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:6873: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:6921: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:7143: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:7161: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:7174: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:7235: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:7246: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:7259: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:7376: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:7537: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:7713: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:7732: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:7781: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:8003: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:8021: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:8034: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:8095: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:8106: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:8119: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:8236: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/cruxish/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:8397: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:8573: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:8592: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:8642: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:8864: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:8882: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:8895: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:8956: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:8967: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:8980: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:9097: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/next/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:9258: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:9434: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:9453: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:9504: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:9726: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:9744: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:9757: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:9818: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:9829: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:9842: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:9959: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/oroborus/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:10120: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:10296: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:10315: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:10367: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:10589: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:10607: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:10620: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:10681: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:10692: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:10705: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:10822: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/platinum/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:10983: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:11159: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:11178: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:11231: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:11453: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:11471: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:11484: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:11545: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:11556: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:11569: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:11686: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/slimline/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:11847: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:12023: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:12042: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:12096: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:12318: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:12336: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:12349: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:12410: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:12421: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:12434: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:12551: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/windows/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:12712: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:12888: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:12907: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:12962: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:13184: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:13202: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:13215: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:13276: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:13287: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:13300: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:13417: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/coldsteel/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:13578: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:13754: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:13773: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:13829: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:14051: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:14069: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:14082: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:14143: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:14154: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:14167: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:14284: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/agua/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:14445: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:14621: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:14640: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
+ "themes/agua/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/agua/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:14697: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:14919: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:14937: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:14950: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:15011: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:15022: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:15035: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:15152: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/redmond/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:15313: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:15489: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:15508: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
+ "themes/agua/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/agua/Makefile" ;;
+ "themes/redmond/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/redmond/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:15566: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:15788: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:15806: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:15819: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:15880: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:15891: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:15904: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:16021: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/gtk/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:16182: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:16358: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:16377: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
+ "themes/agua/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/agua/Makefile" ;;
+ "themes/redmond/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/redmond/Makefile" ;;
+ "themes/gtk/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/gtk/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:16436: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:16658: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:16676: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:16689: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:16750: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:16761: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:16774: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:16891: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+ac_config_files="$ac_config_files themes/xfce/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if cmp -s $cache_file confcache; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:17052: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+ac_cs_invocation="\$0 \$@"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\EOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.52,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ shift
+ set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+ shift
+ ;;
+ -*);;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_need_defaults=false;;
+ esac
+
+ case $1 in
+ # Handling of the options.
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+ exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:17228: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ shift
+ CONFIG_FILES="$CONFIG_FILES $1"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $1"
+ ac_need_defaults=false;;
+
+ # This is an error.
+ -*) { { echo "$as_me:17247: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status. ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ > $ac_cs_invocation
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+#
+# INIT-COMMANDS section.
+#
+
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "defaults/defaults" ) CONFIG_FILES="$CONFIG_FILES defaults/defaults" ;;
+ "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
+ "themes/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/Makefile" ;;
+ "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+ "themes/next/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/next/Makefile" ;;
+ "themes/oroborus/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/oroborus/Makefile" ;;
+ "themes/platinum/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/platinum/Makefile" ;;
+ "themes/slimline/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/slimline/Makefile" ;;
+ "themes/windows/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/windows/Makefile" ;;
+ "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
+ "themes/agua/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/agua/Makefile" ;;
+ "themes/redmond/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/redmond/Makefile" ;;
+ "themes/gtk/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/gtk/Makefile" ;;
+ "themes/xfce/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/xfce/Makefile" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:17307: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=$TMPDIR/cs$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+ { (exit 1); exit 1; }
+}
+
+EOF
+
+cat >>$CONFIG_STATUS <<EOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@DEFS@,$DEFS,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+s,@BASE_DEPENDENCIES_CFLAGS@,$BASE_DEPENDENCIES_CFLAGS,;t t
+s,@BASE_DEPENDENCIES_LIBS@,$BASE_DEPENDENCIES_LIBS,;t t
+CEOF
+
+EOF
+
+ cat >>$CONFIG_STATUS <<\EOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case $srcdir in
+ .) ac_srcdir=.
+ if test -z "$ac_dots"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* )
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_dots$srcdir ;;
+ esac
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_dots$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:17529: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ configure_input="Generated automatically from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:17547: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:17560: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+EOF
+cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+$extrasub
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:17621: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:17632: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo $f
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+ { { echo "$as_me:17645: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+EOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\EOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+EOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\EOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+EOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # egrep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\EOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated automatically by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated automatically by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+ { echo "$as_me:17762: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ { case "$ac_dir" in
+ [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+ *) as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+ case $as_mkdir_dir in
+ # Skip DOS drivespec
+ ?:) as_incr_dir=$as_mkdir_dir ;;
+ *)
+ as_incr_dir=$as_incr_dir/$as_mkdir_dir
+ test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+ ;;
+ esac
+done; }
+
+ fi
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+done
+EOF
+cat >>$CONFIG_STATUS <<\EOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+ case $ac_dest in
+ default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+ esac
+done
+EOF
+
+cat >>$CONFIG_STATUS <<\EOF
+
+{ (exit 0); exit 0; }
+EOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 000000000..7804b8c97
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,45 @@
+AC_INIT(src/main.c)
+AM_INIT_AUTOMAKE(xfwm4, 0.0.100)
+
+AM_CONFIG_HEADER(config.h)
+AC_PROG_CC
+AC_PROG_INSTALL
+
+AC_C_INLINE
+AC_C_CONST
+
+AC_PATH_XTRA
+AC_HEADER_STDC
+AC_CHECK_HEADERS(stdlib.h string.h unistd.h)
+
+AC_CHECK_LIB(X11, main,, AC_MSG_ERROR([libX11 is missing from your system: Make sure you have both the X Window System libraries and development headers correctly installed]), $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS)
+AC_CHECK_LIB(Xext, main,, AC_MSG_ERROR([The X Window System installed on this machine does not support the shape extension]), $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS)
+AC_CHECK_LIB(Xpm, main,, AC_MSG_ERROR([libXpm is missing from your system: Make sure you have both the Xpm libraries and development headers correctly installed]), $X_CFLAGS $X_PRE_LIBS $X_EXTRA_LIBS $X_LIBS)
+
+AC_CHECK_FUNCS(malloc setlocale strchr strdup strrchr strstr)
+
+AC_ARG_ENABLE(debug, [ --enable-debug use this option if you want to debug xfwm4], [ AC_DEFINE(DEBUG, 1) ],)
+
+## Versions of dependencies
+GLIB_REQUIRED_VERSION=2.0.0
+GTK_REQUIRED_VERSION=2.0.0
+PANGO_REQUIRED_VERSION=1.0.0
+
+PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION gtk+-2.0 >= $GTK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION)
+
+AC_OUTPUT(Makefile)
+AC_OUTPUT(src/Makefile)
+AC_OUTPUT(defaults/defaults)
+AC_OUTPUT(defaults/Makefile)
+AC_OUTPUT(themes/Makefile)
+AC_OUTPUT(themes/cruxish/Makefile)
+AC_OUTPUT(themes/next/Makefile)
+AC_OUTPUT(themes/oroborus/Makefile)
+AC_OUTPUT(themes/platinum/Makefile)
+AC_OUTPUT(themes/slimline/Makefile)
+AC_OUTPUT(themes/windows/Makefile)
+AC_OUTPUT(themes/coldsteel/Makefile)
+AC_OUTPUT(themes/agua/Makefile)
+AC_OUTPUT(themes/redmond/Makefile)
+AC_OUTPUT(themes/gtk/Makefile)
+AC_OUTPUT(themes/xfce/Makefile)
diff --git a/defaults/Makefile.am b/defaults/Makefile.am
new file mode 100644
index 000000000..c9ac985fc
--- /dev/null
+++ b/defaults/Makefile.am
@@ -0,0 +1,5 @@
+defaultsdir = $(prefix)/share/xfwm4
+defaults_DATA = defaults
+
+distclean-local:
+ rm -f defaults
diff --git a/defaults/Makefile.in b/defaults/Makefile.in
new file mode 100644
index 000000000..e6284794e
--- /dev/null
+++ b/defaults/Makefile.in
@@ -0,0 +1,196 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+defaultsdir = $(prefix)/share/xfwm4
+defaults_DATA = defaults
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES = defaults
+DATA = $(defaults_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in defaults.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps defaults/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+defaults: $(top_builddir)/config.status defaults.in
+ cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+install-defaultsDATA: $(defaults_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(defaultsdir)
+ @list='$(defaults_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(defaultsdir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(defaultsdir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(defaultsdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(defaultsdir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-defaultsDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(defaults_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(defaultsdir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = defaults
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-defaultsDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-defaultsDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(defaultsdir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am distclean-local
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-defaultsDATA install-defaultsDATA tags distdir info-am \
+info dvi-am dvi check check-am installcheck-am installcheck \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+distclean-local:
+ rm -f defaults
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/defaults/defaults.in b/defaults/defaults.in
new file mode 100644
index 000000000..962a21adb
--- /dev/null
+++ b/defaults/defaults.in
@@ -0,0 +1,62 @@
+theme=@prefix@/share/xfwm4/themes/xfce
+title_alignment=center
+full_width_title=true
+button_layout=OTS|HMC
+button_spacing=1
+button_offset=0
+title_vertical_offset=0
+double_click_action=maximize
+box_move=false
+box_resize=false
+click_to_focus=true
+focus_new=true
+raise_on_focus=false
+raise_delay=250
+window_placement=center_mouse
+snap_to_border=true
+snap_width=10
+workspace_count=4
+wrap_workspaces=true
+hide_window_key=Mod1+F1
+close_window_key=Mod1+F4
+maximize_window_key=Mod1+F5
+maximize_vert_key=Mod1+F6
+maximize_horiz_key=Mod1+F7
+shade_window_key=Mod1+F2
+cycle_windows_key=Mod1+Tab
+raise_window_layer_key=Mod1+Page_Up
+lower_window_layer_key=Mod1+Page_Down
+move_window_up_key=Control+Shift+Up
+move_window_down_key=Control+Shift+Down
+move_window_left_key=Control+Shift+Left
+move_window_right_key=Control+Shift+Right
+resize_window_up_key=Shift+Mod1+Up
+resize_window_down_key=Shift+Mod1+Down
+resize_window_left_key=Shift+Mod1+Left
+resize_window_right_key=Shift+Mod1+Right
+next_workspace_key=Control+Mod1+Right
+prev_workspace_key=Control+Mod1+Left
+add_workspace_key=Mod1+Insert
+del_workspace_key=Mod1+Delete
+stick_window_key=Mod1+F3
+workspace_1_key=Control+F1
+workspace_2_key=Control+F2
+workspace_3_key=Control+F3
+workspace_4_key=Control+F4
+workspace_5_key=Control+F5
+workspace_6_key=Control+F6
+workspace_7_key=Control+F7
+workspace_8_key=Control+F8
+workspace_9_key=Control+F9
+move_window_next_workspace_key=Mod1+Control+End
+move_window_prev_workspace_key=Mod1+Control+Home
+move_window_workspace_1_key=Mod1+Control+KP_1
+move_window_workspace_2_key=Mod1+Control+KP_2
+move_window_workspace_3_key=Mod1+Control+KP_3
+move_window_workspace_4_key=Mod1+Control+KP_4
+move_window_workspace_5_key=Mod1+Control+KP_5
+move_window_workspace_6_key=Mod1+Control+KP_6
+move_window_workspace_7_key=Mod1+Control+KP_7
+move_window_workspace_8_key=Mod1+Control+KP_8
+move_window_workspace_9_key=Mod1+Control+KP_9
+
diff --git a/example.xfwm4rc b/example.xfwm4rc
new file mode 100644
index 000000000..28f019c9e
--- /dev/null
+++ b/example.xfwm4rc
@@ -0,0 +1,94 @@
+# This is an example configuration file
+#
+# You can use it as a template for your own configuration file
+
+# theme=directory
+theme=/usr/local/share/xfwm4/themes/xfce
+
+# title_alignment=left/right/center
+title_alignment=center
+
+# button_layout :
+# O = Option menu
+# T = Stick
+# H = hide
+# S = shade
+# M = maximize
+# C = close
+# | = title
+
+button_layout=OTS|HMC
+
+# ???_key=modifier+key
+hide_window_key=Mod1+F1
+close_window_key=Mod1+F4
+maximize_window_key=Mod1+F2
+shade_window_key=Mod1+F3
+cycle_windows_key=Mod1+Tab
+raise_window_layer_key=Mod1+Page_Up
+lower_window_layer_key=Mod1+Page_Down
+move_window_up_key=Control+Shift+Up
+move_window_down_key=Control+Shift+Down
+move_window_left_key=Control+Shift+Left
+move_window_right_key=Control+Shift+Right
+next_workspace_key=Control+Mod1+Right
+prev_workspace_key=Control+Mod1+Left
+add_workspace_key=Mod1+Insert
+del_workspace_key=Mod1+Delete
+stick_window_key=Mod1+F5
+workspace_1_key=Control+F1
+workspace_2_key=Control+F2
+workspace_3_key=Control+F3
+workspace_4_key=Control+F4
+workspace_5_key=Control+F5
+workspace_6_key=Control+F6
+workspace_7_key=Control+F7
+workspace_8_key=Control+F8
+workspace_9_key=Control+F9
+move_window_next_workspace_key=Mod1+Control+End
+move_window_prev_workspace_key=Mod1+Control+Home
+move_window_workspace_1_key=Mod1+Control+KP_1
+move_window_workspace_2_key=Mod1+Control+KP_2
+move_window_workspace_3_key=Mod1+Control+KP_3
+move_window_workspace_4_key=Mod1+Control+KP_4
+move_window_workspace_5_key=Mod1+Control+KP_5
+move_window_workspace_6_key=Mod1+Control+KP_6
+move_window_workspace_7_key=Mod1+Control+KP_7
+move_window_workspace_8_key=Mod1+Control+KP_8
+move_window_workspace_9_key=Mod1+Control+KP_9
+
+# double_click_action=shade/hide/maximize/none
+double_click_action=maximize
+
+# box_move=true/false
+box_move=false
+
+# box_resize=true/false
+box_resize=false
+
+# click_to_focus=true/false
+click_to_focus=true
+
+# focus_new=true/false
+focus_new=true
+
+# raise_on_focus=true/false
+raise_on_focus=false
+
+# raise_delay=number (milliseconds)
+raise_delay=250
+
+# window_placement=center_mouse/center_root
+window_placement=center_mouse
+
+# snap_to_border=true/false
+snap_to_border=true
+
+# snap_width=number
+snap_width=10
+
+# workspace_count=number
+workspace_count=4
+
+# wrap_workspaces=true/false
+wrap_workspaces=true
diff --git a/install-sh b/install-sh
new file mode 100755
index 000000000..e9de23842
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,251 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/missing b/missing
new file mode 100755
index 000000000..cbe2b0ef0
--- /dev/null
+++ b/missing
@@ -0,0 +1,188 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing - GNU libit 0.0"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`configure.in'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`configure.in'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`configure.in'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
+ if test -z "$files"; then
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
+ test -z "$files" || files="$files.in"
+ else
+ files=`echo "$files" | sed -e 's/:/ /g'`
+ fi
+ test -z "$files" && files="config.h.in"
+ touch $files
+ ;;
+
+ automake)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print \
+ | sed 's/^\(.*\).am$/touch \1.in/' \
+ | sh
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequirements for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/mkinstalldirs b/mkinstalldirs
new file mode 100755
index 000000000..d0fd194fd
--- /dev/null
+++ b/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id$
+
+errstatus=0
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp" 1>&2
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/src/.indent.pro b/src/.indent.pro
new file mode 100644
index 000000000..46a0aca85
--- /dev/null
+++ b/src/.indent.pro
@@ -0,0 +1,13 @@
+-i4
+-bli0
+-cli4
+-l80
+-nut
+-npsl
+-nbbo
+-ncs
+-npcs
+-nprs
+-nsaf
+-nsai
+-nsaw
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 000000000..115b66eb7
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,34 @@
+CFLAGS = @CFLAGS@ @X_CFLAGS@ @BASE_DEPENDENCIES_CFLAGS@ -DDATADIR=\"$(prefix)/share/xfwm4\"
+LIBS = @LIBS@ @X_LIBS@ @BASE_DEPENDENCIES_LIBS@
+
+bin_PROGRAMS = xfwm4
+xfwm4_SOURCES = \
+ client.c \
+ events.c \
+ frame.c \
+ gtk_style.c \
+ gtktoxevent.c \
+ hints.c \
+ keyboard.c \
+ main.c \
+ menu.c \
+ misc.c \
+ parserc.c \
+ pixmap.c \
+ settings.c \
+ workspaces.c \
+ client.h \
+ debug.h \
+ events.h \
+ frame.h \
+ gtk_style.h \
+ gtktoxevent.h \
+ hints.h \
+ keyboard.h \
+ main.h \
+ menu.h \
+ misc.h \
+ parserc.h \
+ pixmap.h \
+ settings.h \
+ workspaces.h
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 000000000..bad39c40e
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,309 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+CFLAGS = @CFLAGS@ @X_CFLAGS@ @BASE_DEPENDENCIES_CFLAGS@ -DDATADIR=\"$(prefix)/share/xfwm4\"
+LIBS = @LIBS@ @X_LIBS@ @BASE_DEPENDENCIES_LIBS@
+
+bin_PROGRAMS = xfwm4
+xfwm4_SOURCES = \
+ client.c \
+ events.c \
+ frame.c \
+ gtk_style.c \
+ gtktoxevent.c \
+ hints.c \
+ keyboard.c \
+ main.c \
+ menu.c \
+ misc.c \
+ parserc.c \
+ pixmap.c \
+ settings.c \
+ workspaces.c \
+ client.h \
+ debug.h \
+ events.h \
+ frame.h \
+ gtk_style.h \
+ gtktoxevent.h \
+ hints.h \
+ keyboard.h \
+ main.h \
+ menu.h \
+ misc.h \
+ parserc.h \
+ pixmap.h \
+ settings.h \
+ workspaces.h
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I..
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+X_CFLAGS = @X_CFLAGS@
+X_LIBS = @X_LIBS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+xfwm4_OBJECTS = client.o events.o frame.o gtk_style.o gtktoxevent.o \
+hints.o keyboard.o main.o menu.o misc.o parserc.o pixmap.o settings.o \
+workspaces.o
+xfwm4_LDADD = $(LDADD)
+xfwm4_DEPENDENCIES =
+xfwm4_LDFLAGS =
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+SOURCES = $(xfwm4_SOURCES)
+OBJECTS = $(xfwm4_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+xfwm4: $(xfwm4_OBJECTS) $(xfwm4_DEPENDENCIES)
+ @rm -f xfwm4
+ $(LINK) $(xfwm4_LDFLAGS) $(xfwm4_OBJECTS) $(xfwm4_LDADD) $(LIBS)
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = src
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS
+uninstall: uninstall-am
+all-am: Makefile $(PROGRAMS)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-binPROGRAMS clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-binPROGRAMS distclean-compile distclean-tags \
+ distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-binPROGRAMS \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/client.c b/src/client.c
new file mode 100644
index 000000000..eacd7801e
--- /dev/null
+++ b/src/client.c
@@ -0,0 +1,2709 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+#include <glib.h>
+
+#include "main.h"
+#include "client.h"
+#include "frame.h"
+#include "workspaces.h"
+#include "settings.h"
+#include "gtktoxevent.h"
+#include "debug.h"
+
+/* You don't like that ? Me either, but, hell, it's the way glib lists are designed */
+#define XWINDOW_TO_GPOINTER(w) ((gpointer) (Window) (w))
+#define GPOINTER_TO_XWINDOW(p) ((Window) (p))
+
+Client *clients = NULL;
+unsigned int client_count = 0;
+
+static Window *client_list = NULL;
+static GSList *windows = NULL;
+static GSList *windows_stack = NULL;
+static Client *client_focus = NULL;
+
+/* Forward decl */
+static unsigned long clientGetNetWmDesktop (Client *c);
+static void clientWindowType (Client *c);
+
+typedef struct _MoveResizeData MoveResizeData;
+struct _MoveResizeData
+{
+ gboolean use_keys;
+ gboolean grab;
+ int mx, my;
+ int ox, oy;
+ int oldw, oldh;
+ int corner;
+ Client *c;
+};
+
+typedef struct _ButtonPressData ButtonPressData;
+struct _ButtonPressData
+{
+ int b;
+ Client *c;
+};
+
+void clientSetNetState (Client *c)
+{
+ int i;
+ Atom data[12];
+ unsigned long desk;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientSetNetState\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ i = 0;
+ if (c->shaded)
+ {
+ DBG("clientSetNetState : shaded\n");
+ data[i++] = net_wm_state_shaded;
+ }
+ if (c->sticky)
+ {
+ DBG("clientSetNetState : sticky\n");
+ data[i++] = net_wm_state_sticky;
+ }
+ if (c->state_modal)
+ {
+ DBG("clientSetNetState : modal\n");
+ data[i++] = net_wm_state_modal;
+ }
+ if (c->skip_pager)
+ {
+ DBG("clientSetNetState : skip_pager\n");
+ data[i++] = net_wm_state_skip_pager;
+ }
+ if (c->skip_taskbar)
+ {
+ DBG("clientSetNetState : skip_taskbar\n");
+ data[i++] = net_wm_state_skip_taskbar;
+ }
+ if (c->win_state & WIN_STATE_MAXIMIZED)
+ {
+ DBG("clientSetNetState : maximize vert + horiz\n");
+ data[i++] = net_wm_state_maximized_horz;
+ data[i++] = net_wm_state_maximized_vert;
+ }
+ else if (c->win_state & WIN_STATE_MAXIMIZED_HORIZ)
+ {
+ DBG("clientSetNetState : maximize horiz\n");
+ data[i++] = net_wm_state_maximized_horz;
+ }
+ else if (c->win_state & WIN_STATE_MAXIMIZED_VERT)
+ {
+ DBG("clientSetNetState : vert\n");
+ data[i++] = net_wm_state_maximized_vert;
+ }
+ if ((c->shaded) || (c->hidden))
+ {
+ DBG("clientSetNetState : hidden\n");
+ data[i++] = net_wm_state_hidden;
+ }
+ XChangeProperty (dpy, c->window, net_wm_state, XA_ATOM, 32, PropModeReplace, (unsigned char *) data, i);
+ desk = clientGetNetWmDesktop (c);
+ setNetHint (dpy, c->window, net_wm_desktop, desk);
+}
+
+static void clientGetNetState (Client *c)
+{
+ int n_atoms = 0;
+ Atom *atoms = NULL;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientGetNetState\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ c->state_modal = False;
+ c->skip_pager = False;
+ c->skip_taskbar = False;
+
+ if (get_atom_list (dpy, c->window, net_wm_state, &atoms, &n_atoms))
+ {
+ int i;
+
+ i = 0;
+ while (i < n_atoms)
+ {
+ if (atoms[i] == net_wm_state_shaded)
+ {
+ DBG("clientGetNetState : shaded\n");
+ c->win_state |= WIN_STATE_SHADED;
+ c->shaded = True;
+ }
+ if (atoms[i] == net_wm_state_sticky)
+ {
+ DBG("clientGetNetState : sticky\n");
+ c->win_state |= WIN_STATE_STICKY;
+ c->sticky = True;
+ }
+ else if (atoms[i] == net_wm_state_maximized_horz)
+ {
+ DBG("clientGetNetState : maximized horiz\n");
+ c->win_state |= WIN_STATE_MAXIMIZED_HORIZ;
+ c->maximized = True;
+ }
+ else if (atoms[i] == net_wm_state_maximized_vert)
+ {
+ DBG("clientGetNetState : maximized vert\n");
+ c->win_state |= WIN_STATE_MAXIMIZED_VERT;
+ c->maximized = True;
+ }
+ else if (atoms[i] == net_wm_state_modal)
+ {
+ DBG("clientGetNetState : modal\n");
+ c->state_modal = True;
+ }
+
+ ++i;
+ }
+ if (atoms)
+ {
+ XFree (atoms);
+ }
+ }
+ if (c->win_state & (WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ))
+ {
+ c->win_state |= WIN_STATE_MAXIMIZED;
+ c->win_state &= ~(WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ);
+ }
+}
+
+void clientUpdateNetState (Client *c, XClientMessageEvent * ev)
+{
+ unsigned long action;
+ Atom first;
+ Atom second;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientUpdateNetState\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ action = ((XEvent *) ev)->xclient.data.l[0];
+ first = ((XEvent *) ev)->xclient.data.l[1];
+ second = ((XEvent *) ev)->xclient.data.l[2];
+
+ if ((first == net_wm_state_shaded) || (second == net_wm_state_shaded))
+ {
+ if(((action == NET_WM_STATE_ADD) && !(c->shaded)) || ((action == NET_WM_STATE_REMOVE) && (c->shaded)) || (action == NET_WM_STATE_TOGGLE))
+ {
+ clientToggleShaded (c);
+ }
+ }
+
+ if ((first == net_wm_state_sticky) || (second == net_wm_state_sticky))
+ {
+ if(((action == NET_WM_STATE_ADD) && !(c->sticky)) || ((action == NET_WM_STATE_REMOVE) && (c->sticky)) || (action == NET_WM_STATE_TOGGLE))
+ {
+ clientToggleSticky (c);
+ }
+ }
+
+ if ((first == net_wm_state_maximized_horz) || (second == net_wm_state_maximized_horz) || (first == net_wm_state_maximized_vert) || (second == net_wm_state_maximized_vert))
+ {
+ if((action == NET_WM_STATE_ADD) && !(c->maximized))
+ {
+ unsigned long mode = 0;
+ if ((first == net_wm_state_maximized_horz) || (second == net_wm_state_maximized_horz))
+ {
+ mode |= WIN_STATE_MAXIMIZED_HORIZ;
+ }
+ if ((first == net_wm_state_maximized_vert) || (second == net_wm_state_maximized_vert))
+ {
+ mode |= WIN_STATE_MAXIMIZED_VERT;
+ }
+ if (mode & (WIN_STATE_MAXIMIZED_HORIZ | WIN_STATE_MAXIMIZED_VERT))
+ {
+ mode |= WIN_STATE_MAXIMIZED;
+ mode &= ~(WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ);
+ }
+ clientToggleMaximized(c, mode);
+ }
+ else if((action == NET_WM_STATE_REMOVE) && (c->maximized))
+ {
+ unsigned long mode = 0;
+ if (mode & WIN_STATE_MAXIMIZED)
+ {
+ mode |= (WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ);
+ }
+ mode &= ~WIN_STATE_MAXIMIZED;
+ if ((first == net_wm_state_maximized_horz) || (second == net_wm_state_maximized_horz))
+ {
+ mode &= ~WIN_STATE_MAXIMIZED_HORIZ;
+ }
+ if ((first == net_wm_state_maximized_vert) || (second == net_wm_state_maximized_vert))
+ {
+ mode &= ~WIN_STATE_MAXIMIZED_VERT;
+ }
+ clientToggleMaximized(c, mode);
+ }
+ else if (action == NET_WM_STATE_TOGGLE)
+ {
+ unsigned long mode = 0;
+ if (mode & WIN_STATE_MAXIMIZED)
+ {
+ mode &= ~WIN_STATE_MAXIMIZED;
+ mode |= (WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ);
+ }
+ if ((first == net_wm_state_maximized_horz) || (second == net_wm_state_maximized_horz))
+ {
+ mode ^= WIN_STATE_MAXIMIZED_HORIZ;
+ }
+ if ((first == net_wm_state_maximized_vert) || (second == net_wm_state_maximized_vert))
+ {
+ mode ^= WIN_STATE_MAXIMIZED_VERT;
+ }
+ if (mode & (WIN_STATE_MAXIMIZED_HORIZ | WIN_STATE_MAXIMIZED_VERT))
+ {
+ mode |= WIN_STATE_MAXIMIZED;
+ mode &= ~(WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ);
+ }
+ clientToggleMaximized(c, mode);
+ }
+ }
+
+ if ((first == net_wm_state_modal) || (second == net_wm_state_modal))
+ {
+ if ((action == NET_WM_STATE_ADD) && !(c->state_modal))
+ {
+ c->state_modal = True;
+ clientSetNetState (c);
+ }
+ else if ((action == NET_WM_STATE_REMOVE) && (c->state_modal))
+ {
+ c->state_modal = False;
+ clientSetNetState (c);
+ }
+ else if (action == NET_WM_STATE_TOGGLE)
+ {
+ c->state_modal = !(c->state_modal);
+ clientSetNetState (c);
+ }
+ }
+
+ if ((first == net_wm_state_skip_pager) || (second == net_wm_state_skip_pager))
+ {
+ if ((action == NET_WM_STATE_ADD) && !(c->skip_pager))
+ {
+ c->skip_pager = True;
+ clientSetNetState (c);
+ }
+ else if ((action == NET_WM_STATE_REMOVE) && (c->skip_pager))
+ {
+ c->skip_pager = False;
+ clientSetNetState (c);
+ }
+ else if (action == NET_WM_STATE_TOGGLE)
+ {
+ c->skip_pager = !(c->skip_pager);
+ clientSetNetState (c);
+ }
+ }
+
+ if ((first == net_wm_state_skip_taskbar) || (second == net_wm_state_skip_taskbar))
+ {
+ if ((action == NET_WM_STATE_ADD) && !(c->skip_taskbar))
+ {
+ c->skip_taskbar = True;
+ clientSetNetState (c);
+ }
+ else if ((action == NET_WM_STATE_REMOVE) && (c->skip_taskbar))
+ {
+ c->skip_taskbar = False;
+ clientSetNetState (c);
+ }
+ else if (action == NET_WM_STATE_TOGGLE)
+ {
+ c->skip_taskbar = !(c->skip_taskbar);
+ clientSetNetState (c);
+ }
+ }
+}
+
+void clientGetNetWmType (Client *c)
+{
+ int n_atoms = 0;
+ Atom *atoms = NULL;
+ int i;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientGetNetWmType\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ n_atoms = 0;
+ atoms = NULL;
+
+ if (!get_atom_list (dpy, c->window, net_wm_window_type, &atoms, &n_atoms))
+ {
+ switch (c->win_layer)
+ {
+ case WIN_LAYER_DESKTOP:
+ c->type_atom = net_wm_window_type_desktop;
+ break;
+ case WIN_LAYER_DOCK:
+ c->type_atom = net_wm_window_type_dock;
+ break;
+ case WIN_LAYER_NORMAL:
+ default:
+ c->type_atom = net_wm_window_type_normal;
+ break;
+ }
+ }
+ else
+ {
+ i = 0;
+ while (i < n_atoms)
+ {
+ if ((atoms[i] == net_wm_window_type_desktop) || (atoms[i] == net_wm_window_type_dock) || (atoms[i] == net_wm_window_type_toolbar) || (atoms[i] == net_wm_window_type_menu) || (atoms[i] == net_wm_window_type_dialog) || (atoms[i] == net_wm_window_type_normal) || (atoms[i] == net_wm_window_type_utility) || (atoms[i] == net_wm_window_type_splashscreen))
+ {
+ c->type_atom = atoms[i];
+ break;
+ }
+ ++i;
+ }
+ if (atoms)
+ {
+ XFree (atoms);
+ }
+ }
+ clientWindowType (c);
+}
+
+static unsigned long clientGetNetWmDesktop (Client *c)
+{
+ g_return_val_if_fail (c != NULL, workspace);
+ DBG("entering clientGetNetWmDesktop\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ return ((unsigned long) c->win_workspace);
+}
+
+static void clientGetInitialNetWmDesktop (Client *c)
+{
+ long val = 0;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientGetInitialNetWmDesktop\n");
+ DBG("client \"%s\" (%#lx)\n", c->name, c->window);
+
+ c->win_workspace = workspace;
+ if(getNetHint(dpy, c->window, net_wm_desktop, &val))
+ {
+ DBG("atom net_wm_desktop detected\n");
+ if (val == (int) 0xFFFFFFFF)
+ {
+ DBG("atom net_wm_desktop specifies window \"%s\" is sticky\n", c->name);
+ c->win_workspace = workspace;
+ clientStick (c);
+ }
+ else
+ {
+ DBG("atom net_wm_desktop specifies window \"%s\" is on desk %i\n", c->name, (int) val);
+ c->win_workspace = (int) val;
+ }
+ }
+ else if (getGnomeHint(dpy, c->window, win_workspace, &val))
+ {
+ DBG("atom win_workspace specifies window \"%s\" is on desk %i\n", c->name, (int) val);
+ c->win_workspace = (int) val;
+ }
+ DBG("initial desktop for window \"%s\" is %i\n", c->name, c->win_workspace);
+ if(c->win_workspace > workspace_count - 1)
+ {
+ DBG("value off limits, using %i instead\n", workspace_count - 1);
+ c->win_workspace = workspace_count - 1;
+ }
+ DBG("initial desktop for window \"%s\" is %i\n", c->name, c->win_workspace);
+ setGnomeHint(dpy, c->window, win_workspace, c->win_workspace);
+ setNetHint(dpy, c->window, net_wm_desktop, c->win_workspace);
+}
+
+static void clientSetNetClientList (Atom a, GSList *list)
+{
+ Window *listw;
+ Window *index_dest;
+ GSList *index_src;
+ guint size, i;
+
+ DBG("entering clientSetNetClientList\n");
+
+ size = g_slist_length(list);
+ if (size <= 0)
+ {
+ XDeleteProperty (dpy, root, a);
+ }
+ else if ((listw = (Window *) malloc ((size + 1) * sizeof (Window))))
+ {
+ DBG("%i windows in list for %i clients\n", size, client_count);
+ for (i = 0, index_dest = listw, index_src = list; i < size; i++, index_dest++, index_src = g_slist_next (index_src))
+ {
+ *index_dest = GPOINTER_TO_XWINDOW(index_src->data);
+ }
+ XChangeProperty (dpy, root, a, XA_WINDOW, 32, PropModeReplace, (unsigned char *) listw, size);
+ free (listw);
+ }
+}
+
+static void clientWindowType (Client *c)
+{
+ WindowType old_type;
+ int layer;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientWindowType\n");
+ DBG("type for client \"%s\" (%#lx)\n", c->name, c->window);
+
+ old_type = c->type;
+ layer = c->win_layer;
+ if (c->type_atom != None)
+ {
+ if (c->type_atom == net_wm_window_type_desktop)
+ {
+ DBG("atom net_wm_window_type_desktop detected\n");
+ c->type = WINDOW_DESKTOP;
+ c->win_state |= WIN_STATE_STICKY;
+ c->has_border = False;
+ c->sticky = True;
+ c->skip_pager = True;
+ c->skip_taskbar = True;
+ layer = WIN_LAYER_DESKTOP;
+ }
+ else if (c->type_atom == net_wm_window_type_dock)
+ {
+ DBG("atom net_wm_window_type_dock detected\n");
+ c->type = WINDOW_DOCK;
+ layer = WIN_LAYER_DOCK;
+ }
+ else if (c->type_atom == net_wm_window_type_toolbar)
+ {
+ DBG("atom net_wm_window_type_toolbar detected\n");
+ c->type = WINDOW_TOOLBAR;
+ layer = WIN_LAYER_NORMAL;
+ }
+ else if (c->type_atom == net_wm_window_type_menu)
+ {
+ DBG("atom net_wm_window_type_menu detected\n");
+ c->type = WINDOW_MENU;
+ layer = WIN_LAYER_ONTOP;
+ c->win_state |= WIN_STATE_STICKY;
+ c->has_border = False;
+ c->sticky = True;
+ c->skip_pager = True;
+ c->skip_taskbar = True;
+ }
+ else if (c->type_atom == net_wm_window_type_dialog)
+ {
+ DBG("atom net_wm_window_type_dialog detected\n");
+ c->type = WINDOW_DIALOG;
+ layer = WIN_LAYER_ONTOP;
+ }
+ else if (c->type_atom == net_wm_window_type_normal)
+ {
+ DBG("atom net_wm_window_type_normal detected\n");
+ c->type = WINDOW_NORMAL;
+ layer = c->win_layer;
+ }
+ else if (c->type_atom == net_wm_window_type_utility)
+ {
+ DBG("atom net_wm_window_type_utility detected\n");
+ c->type = WINDOW_UTILITY;
+ c->has_border = False;
+ layer = WIN_LAYER_NORMAL;
+ }
+ else if (c->type_atom == net_wm_window_type_splashscreen)
+ {
+ DBG("atom net_wm_window_type_splashscreen detected\n");
+ c->type = WINDOW_SPLASHSCREEN;
+ c->has_border = False;
+ layer = WIN_LAYER_ABOVE_DOCK;
+ }
+ }
+ else
+ {
+ c->type = UNSET;
+ layer = c->win_layer;
+ }
+ if (c->transient_for != None)
+ {
+ Client *c2;
+
+ DBG("no \"net\" atom detected\n");
+
+ c->type = WINDOW_DIALOG;
+ c2 = clientGetFromWindow(c->transient_for, WINDOW);
+ if (c2)
+ {
+ layer = c2->win_layer;
+ }
+ }
+ if ((old_type != c->type) || (layer != c->win_layer))
+ {
+ DBG("setting state and layer %i\n", layer);
+ clientSetNetState (c);
+ clientSetLayer(c, layer);
+ }
+}
+
+void clientGrabKeys(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientGrabKeys\n");
+ DBG("grabbing keys for client \"%s\" (%#lx)\n", c->name, c->window);
+
+ grabKey(dpy, &keys[KEY_MOVE_UP], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_DOWN], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_LEFT], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_RIGHT], c->window);
+ grabKey(dpy, &keys[KEY_RESIZE_UP], c->window);
+ grabKey(dpy, &keys[KEY_RESIZE_DOWN], c->window);
+ grabKey(dpy, &keys[KEY_RESIZE_LEFT], c->window);
+ grabKey(dpy, &keys[KEY_RESIZE_RIGHT], c->window);
+ grabKey(dpy, &keys[KEY_CLOSE_WINDOW], c->window);
+ grabKey(dpy, &keys[KEY_HIDE_WINDOW], c->window);
+ grabKey(dpy, &keys[KEY_MAXIMIZE_WINDOW], c->window);
+ grabKey(dpy, &keys[KEY_MAXIMIZE_VERT], c->window);
+ grabKey(dpy, &keys[KEY_MAXIMIZE_HORIZ], c->window);
+ grabKey(dpy, &keys[KEY_SHADE_WINDOW], c->window);
+ grabKey(dpy, &keys[KEY_CYCLE_WINDOWS], c->window);
+ grabKey(dpy, &keys[KEY_LOWER_WINDOW_LAYER], c->window);
+ grabKey(dpy, &keys[KEY_RAISE_WINDOW_LAYER], c->window);
+ grabKey(dpy, &keys[KEY_NEXT_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_PREV_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_ADD_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_DEL_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_STICK_WINDOW], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_1], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_2], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_3], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_4], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_5], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_6], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_7], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_8], c->window);
+ grabKey(dpy, &keys[KEY_WORKSPACE_9], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_NEXT_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_PREV_WORKSPACE], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_1], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_2], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_3], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_4], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_5], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_6], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_7], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_8], c->window);
+ grabKey(dpy, &keys[KEY_MOVE_WORKSPACE_9], c->window);
+}
+
+void clientUngrabKeys(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientUngrabKeys\n");
+ DBG("ungrabing keys for client \"%s\" (%#lx)\n", c->name, c->window);
+
+ ungrabKeys(dpy, c->window);
+}
+
+void clientGravitate(Client * c, int mode)
+{
+ int gravity, dx = 0, dy = 0;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientGravitate\n");
+
+ gravity = c->size->flags & PWinGravity ? c->size->win_gravity : NorthWestGravity;
+ switch (gravity)
+ {
+ case CenterGravity:
+ dx = (c->border_width * 2) - ((frameLeft(c) + frameRight(c)) / 2);
+ dy = (c->border_width * 2) - ((frameTop(c) + frameBottom(c)) / 2);
+ break;
+ case NorthGravity:
+ dx = (c->border_width * 2) - ((frameLeft(c) + frameRight(c)) / 2);
+ dy = frameTop(c);
+ break;
+ case SouthGravity:
+ dx = (c->border_width * 2) - ((frameLeft(c) + frameRight(c)) / 2);
+ dy = (c->border_width * 2) - frameBottom(c);
+ break;
+ case EastGravity:
+ dx = (c->border_width * 2) - frameRight(c);
+ dy = (c->border_width * 2) - ((frameTop(c) + frameBottom(c)) / 2);
+ break;
+ case WestGravity:
+ dx = frameLeft(c);
+ dy = (c->border_width * 2) - ((frameTop(c) + frameBottom(c)) / 2);
+ break;
+ case NorthWestGravity:
+ dx = frameLeft(c);
+ dy = frameTop(c);
+ break;
+ case NorthEastGravity:
+ dx = (c->border_width * 2) - frameRight(c);
+ dy = frameTop(c);
+ break;
+ case SouthWestGravity:
+ dx = frameLeft(c);
+ dy = (c->border_width * 2) - frameBottom(c);
+ break;
+ case SouthEastGravity:
+ dx = (c->border_width * 2) - frameRight(c);
+ dy = (c->border_width * 2) - frameBottom(c);
+ break;
+ }
+ c->x = c->x + (dx * mode);
+ c->y = c->y + (dy * mode);
+}
+
+static void clientAddToList(Client * c)
+{
+ int i;
+ Window *new;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientAddToList\n");
+ client_count++;
+ new = malloc(sizeof(Window) * client_count);
+ if(new)
+ {
+ for(i = 0; i < client_count - 1; i++)
+ {
+ new[i] = client_list[i];
+ }
+ new[i] = c->window;
+ if(client_list)
+ {
+ free(client_list);
+ }
+ client_list = new;
+ XChangeProperty(dpy, root, win_client_list, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)client_list, client_count);
+ }
+ if(clients)
+ {
+ c->prev = clients->prev;
+ c->next = clients;
+ clients->prev->next = c;
+ clients->prev = c;
+ }
+ else
+ {
+ clients = c;
+ c->next = c;
+ c->prev = c;
+ }
+ if (!(c->skip_taskbar))
+ {
+ DBG("adding window \"%s\" (%#lx) to windows list\n", c->name, c->window);
+ windows = g_slist_append (windows, XWINDOW_TO_GPOINTER(c->window));
+ clientSetNetClientList(net_client_list, windows);
+ }
+
+ if (!(c->skip_pager))
+ {
+ DBG("adding window \"%s\" (%#lx) to windows_stack list\n", c->name, c->window);
+ windows_stack = g_slist_append (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ clientSetNetClientList(net_client_list_stacking, windows_stack);
+ }
+ c->managed = True;
+}
+
+static void clientRemoveFromList(Client * c)
+{
+ int i, j;
+ Window *new;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientRemoveFromList\n");
+ g_assert (client_count > 0);
+
+ c->managed = False;
+ new = malloc(sizeof(Window) * client_count);
+ if(new)
+ {
+ for(i = 0, j = 0; i < client_count; i++)
+ {
+ if(client_list[i] != c->window)
+ {
+ new[j++] = client_list[i];
+ }
+ }
+ if(client_list)
+ {
+ free(client_list);
+ }
+ client_list = new;
+ XChangeProperty(dpy, root, win_client_list, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)client_list, client_count - 1);
+ }
+ client_count--;
+ if(client_count == 0)
+ {
+ clients = NULL;
+ }
+ else
+ {
+ c->next->prev = c->prev;
+ c->prev->next = c->next;
+ if(c == clients)
+ {
+ clients = clients->next;
+ }
+ }
+
+ if (!(c->skip_taskbar))
+ {
+ DBG("removing window \"%s\" (%#lx) from windows list\n", c->name, c->window);
+ windows = g_slist_remove (windows, XWINDOW_TO_GPOINTER(c->window));
+ clientSetNetClientList(net_client_list, windows);
+ }
+ if (!(c->skip_pager))
+ {
+ DBG("removing window \"%s\" (%#lx) from windows_stack list\n", c->name, c->window);
+ windows_stack = g_slist_remove (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ clientSetNetClientList(net_client_list_stacking, windows_stack);
+ }
+}
+
+static int clientGetWidthInc(Client * c)
+{
+ g_return_val_if_fail (c != NULL, 0);
+ if(c->size->flags & PResizeInc)
+ {
+ return c->size->width_inc;
+ }
+ return 1;
+}
+
+static int clientGetHeightInc(Client * c)
+{
+ g_return_val_if_fail (c != NULL, 0);
+ if(c->size->flags & PResizeInc)
+ {
+ return c->size->height_inc;
+ }
+ return 1;
+}
+
+static void clientSetWidth(Client * c, int w1)
+{
+ int w2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientSetWidth\n");
+ DBG("setting width %i for client \"%s\" (%#lx)\n", w1, c->name, c->window);
+
+ if(c->size->flags & PResizeInc)
+ {
+ w2 = (w1 - c->size->min_width) / c->size->width_inc;
+ w1 = c->size->min_width + (w2 * c->size->width_inc);
+ }
+ if(c->size->flags & PMaxSize)
+ {
+ if(w1 > c->size->max_width)
+ {
+ w1 = c->size->max_width;
+ }
+ }
+ if(c->size->flags & PMinSize)
+ {
+ if(w1 < c->size->min_width)
+ {
+ w1 = c->size->min_width;
+ }
+ }
+ if(w1 < 1)
+ {
+ w1 = 1;
+ }
+ c->width = w1;
+}
+
+static void clientSetHeight(Client * c, int h1)
+{
+ int h2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientSetHeight\n");
+ DBG("setting height %i for client \"%s\" (%#lx)\n", h1, c->name, c->window);
+
+ if(c->size->flags & PResizeInc)
+ {
+ h2 = (h1 - c->size->min_height) / c->size->height_inc;
+ h1 = c->size->min_height + (h2 * c->size->height_inc);
+ }
+ if(c->size->flags & PMaxSize)
+ {
+ if(h1 > c->size->max_height)
+ {
+ h1 = c->size->max_height;
+ }
+ }
+ if(c->size->flags & PMinSize)
+ {
+ if(h1 < c->size->min_height)
+ {
+ h1 = c->size->min_height;
+ }
+ }
+ if(h1 < 1)
+ {
+ h1 = 1;
+ }
+ c->height = h1;
+}
+
+static inline Client *clientGetTopMost(int layer, Client * exclude)
+{
+ Window w1, w2, *wins = NULL;
+ unsigned int i, count;
+ Client *top = NULL, *c;
+
+ DBG("entering clientGetTopMost\n");
+
+ XQueryTree(dpy, root, &w1, &w2, &wins, &count);
+ DBG("XQueryTree returns %i child window(s)\n", count);
+ for(i = 0; i < count; i++)
+ {
+ c = clientGetFromWindow(wins[i], FRAME);
+ if (c)
+ {
+ DBG("*** stack window [%i]=(%lx) \"%s\", layer %i\n", i, c->window, c->name, c->win_layer);
+ if((c->visible) && (!exclude || (c != exclude)))
+ {
+ if(c->win_layer <= layer)
+ {
+ top = c;
+ }
+ }
+ }
+ }
+ if(wins)
+ {
+ XFree(wins);
+ }
+ return top;
+}
+
+static inline Client *clientGetBottomMost(int layer, Client *exclude)
+{
+ Window w1, w2, *wins = NULL;
+ unsigned int i, count;
+ Client *c;
+
+ DBG("entering clientGetBottomMost\n");
+
+ XQueryTree(dpy, root, &w1, &w2, &wins, &count);
+ DBG("XQueryTree returns %i child window(s)\n", count);
+ for(i = 0; i < count; i++)
+ {
+ c = clientGetFromWindow(wins[i], FRAME);
+ if (c)
+ {
+ DBG("*** stack window [%i]=(%lx) \"%s\", layer %i\n", i, c->window, c->name, c->win_layer);
+ if((c->visible) && (!exclude || (c != exclude)))
+ {
+ if (c->win_layer >= layer)
+ {
+ break;
+ }
+ }
+ }
+ }
+ if(wins)
+ {
+ XFree(wins);
+ }
+ return c;
+}
+
+static inline void clientComputeStackList(Client *c, Client *sibling, XWindowChanges * wc, int mask)
+{
+ if ((c->managed) && !(c->skip_pager) && (mask & CWStackMode))
+ {
+ if ((sibling) && (sibling != c) && (g_slist_find (windows_stack, XWINDOW_TO_GPOINTER(sibling->window))))
+ {
+ gint position;
+
+ if (wc->stack_mode == Below)
+ {
+ if (g_slist_index (windows_stack, XWINDOW_TO_GPOINTER(sibling->window)) > -1)
+ {
+ DBG("Below with sibling -> inserting window \"%s\" (%#lx) at position %i in stack list\n", c->name, c->window, position);
+ windows_stack = g_slist_remove (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ position = g_slist_index (windows_stack, XWINDOW_TO_GPOINTER(sibling->window));
+ windows_stack = g_slist_insert (windows_stack, XWINDOW_TO_GPOINTER(c->window), position);
+ }
+ }
+ else
+ {
+ if (g_slist_index (windows_stack, XWINDOW_TO_GPOINTER(sibling->window)) > -1)
+ {
+ windows_stack = g_slist_remove (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ position = g_slist_index (windows_stack, XWINDOW_TO_GPOINTER(sibling->window));
+ DBG("Above with sibling -> inserting window \"%s\" (%#lx) at position %i in stack list\n", c->name, c->window, position + 1);
+ windows_stack = g_slist_insert (windows_stack, XWINDOW_TO_GPOINTER(c->window), position + 1);
+ }
+ }
+ }
+ else
+ {
+ if (wc->stack_mode == Below)
+ {
+ DBG("Below without sibling -> inserting window \"%s\" (%#lx) at beginning of stack list\n", c->name, c->window);
+ windows_stack = g_slist_remove (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ windows_stack = g_slist_prepend (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ }
+ else
+ {
+ DBG("Above without sibling -> inserting window \"%s\" (%#lx) at end of stack list\n", c->name, c->window);
+ windows_stack = g_slist_remove (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ windows_stack = g_slist_append (windows_stack, XWINDOW_TO_GPOINTER(c->window));
+ }
+ }
+ }
+}
+
+static void _clientConfigure(Client * c, XWindowChanges * wc, int mask)
+{
+ gboolean transients = FALSE;
+ int i;
+ XConfigureEvent ce;
+ Client *sibling = NULL;
+ Client *c2 = NULL;
+ Client *lowest_transient = NULL;
+ Client *prev_transient = NULL;
+
+ g_return_if_fail (c != NULL);
+ g_return_if_fail (c->window != None);
+ DBG("entering _clientConfigure (recursive)\n");
+ DBG("configuring (recursive) client \"%s\" (%#lx), layer %i\n", c->name, c->window, c->win_layer);
+
+ if(mask & CWX)
+ {
+ c->x = wc->x;
+ }
+ if(mask & CWY)
+ {
+ c->y = wc->y;
+ }
+ if(mask & CWWidth)
+ {
+ clientSetWidth(c, wc->width);
+ }
+ if(mask & CWHeight)
+ {
+ clientSetHeight(c, wc->height);
+ }
+ if(mask & CWBorderWidth)
+ {
+ c->border_width = wc->border_width;
+ }
+ if(mask & CWStackMode)
+ {
+ switch (wc->stack_mode)
+ {
+ case Above:
+ DBG("Above\n");
+ if (mask & CWSibling)
+ {
+ DBG("Sibling specified for \"%s\" (%#lx) is (%#lx)\n", c->name, c->window, wc->sibling);
+ sibling = clientGetFromWindow (wc->sibling, WINDOW);
+ }
+ else
+ {
+ DBG("No sibling specified for \"%s\" (%#lx)\n", c->name, c->window);
+ sibling = clientGetTopMost(c->win_layer, c);
+ }
+ if(!sibling)
+ {
+ DBG("unable to determine sibling!\n");
+ wc->stack_mode = Below;
+ }
+ DBG("looking for transients\n");
+ for(c2 = clients, i = 0; i < client_count; c2 = c2->next, i++)
+ {
+ DBG("checking \"%s\" (%#lx)\n", c2->name, c2->window);
+ if ((c2->transient_for == c->window) && (c2->window != c->window))
+ {
+ XWindowChanges wc2;
+ DBG("transient \"%s\" (%#lx) found for \"%s\" (%#lx)\n", c2->name, c2->window, c->name, c->window);
+ if (!transients)
+ {
+ transients = TRUE;
+ lowest_transient = c2;
+ wc2.stack_mode = Above;
+ DBG("recursive call 1\n");
+ _clientConfigure(c2, &wc2, CWStackMode);
+ }
+ else
+ {
+ lowest_transient = c2;
+ wc2.stack_mode = Below;
+ wc2.sibling = prev_transient->window;
+ DBG("recursive call 2\n");
+ _clientConfigure(c2, &wc2, CWStackMode | CWSibling);
+ }
+ prev_transient = c2;
+ }
+ if (transients && lowest_transient)
+ {
+ DBG("Transient is %s (%#lx)\n", sibling->name, sibling->window);
+ sibling = lowest_transient;
+ wc->stack_mode = Below;
+ }
+ }
+ break;
+ case Below:
+ DBG("Below\n");
+ if (c->transient_for)
+ {
+ wc->sibling = c->transient_for;
+ wc->stack_mode = Above;
+ mask |= (CWSibling | CWStackMode);
+ sibling = clientGetFromWindow (wc->sibling, WINDOW);
+ DBG("lowering transient \"%s\" (%#lx) for \"%s\" (%#lx)\n", c->name, c->window, c->transient_for, sibling->name);
+ }
+ else if (mask & CWSibling)
+ {
+ sibling = clientGetFromWindow (wc->sibling, WINDOW);
+ }
+ else
+ {
+ sibling = clientGetBottomMost(c->win_layer, c);
+ }
+ break;
+ }
+ if(sibling)
+ {
+ if(sibling != c)
+ {
+ wc->sibling = sibling->frame;
+ mask |= CWSibling;
+ }
+ else
+ {
+ mask &= ~(CWSibling | CWStackMode);
+ }
+ }
+ else
+ {
+ mask &= ~CWSibling;
+ }
+ clientComputeStackList(c, sibling, wc, mask);
+ }
+
+ wc->x = frameX(c);
+ wc->y = frameY(c);
+ wc->width = frameWidth(c);
+ wc->height = frameHeight(c);
+ wc->border_width = 0;
+ XConfigureWindow(dpy, c->frame, mask, wc);
+ wc->x = frameLeft(c);
+ wc->y = frameTop(c);
+ wc->width = c->width;
+ wc->height = c->height;
+ mask = mask & ~CWStackMode;
+ mask = mask & ~CWSibling;
+ XConfigureWindow(dpy, c->window, mask, wc);
+
+ if(mask & (CWWidth | CWHeight))
+ {
+ frameDraw(c);
+ }
+ if(mask)
+ {
+ ce.type = ConfigureNotify;
+ ce.event = c->window;
+ ce.window = c->window;
+ ce.x = c->x;
+ ce.y = c->y;
+ ce.width = c->width;
+ ce.height = c->height;
+ ce.border_width = 0;
+ ce.above = c->frame;
+ ce.override_redirect = False;
+ XSendEvent(dpy, c->window, False, StructureNotifyMask, (XEvent *) & ce);
+ XSync(dpy, False);
+ }
+}
+
+void clientConfigure(Client * c, XWindowChanges * wc, int mask)
+{
+ DBG("entering clientConfigure\n");
+ DBG("configuring client \"%s\" (%#lx)\n", c->name, c->window);
+ _clientConfigure(c, wc, mask);
+ if ((c->managed) && (mask & CWStackMode))
+ {
+ clientSetNetClientList(net_client_list_stacking, windows_stack);
+ }
+}
+
+/* Compute rectangle overlap area */
+static unsigned long overlap (int x0, int y0, int x1, int y1, int tx0, int ty0, int tx1, int ty1)
+{
+ /* Compute overlapping box */
+ if (tx0 > x0)
+ {
+ x0 = tx0;
+ }
+ if (ty0 > y0)
+ {
+ y0 = ty0;
+ }
+ if (tx1 < x1)
+ {
+ x1 = tx1;
+ }
+ if (ty1 < y1)
+ {
+ y1 = ty1;
+ }
+ if (x1 <= x0 || y1 <= y0)
+ {
+ return 0;
+ }
+ return (x1 - x0) * (y1 - y0);
+}
+
+static void clientInitPosition(Client * c)
+{
+ int test_x = 0, test_y = 0;
+ Client *c2;
+ int xmax, ymax, best_x, best_y, bw, bh, i;
+ unsigned long best_overlaps = 0;
+ gboolean first = TRUE;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientInitPosition\n");
+
+ clientGravitate(c, APPLY);
+
+ if(c->size->flags & (PPosition | USPosition))
+ {
+ return;
+ }
+
+ bw = frameWidth (c);
+ bh = frameHeight (c);
+ xmax = XDisplayWidth(dpy, screen) - bw - margins[MARGIN_RIGHT];
+ ymax = XDisplayHeight(dpy, screen) - bh - margins[MARGIN_BOTTOM];
+ best_x = frameLeft(c) + margins[MARGIN_LEFT];
+ best_y = frameTop(c) + margins[MARGIN_TOP];
+
+ for (test_y = frameTop(c) + margins[MARGIN_TOP]; test_y < ymax; test_y += 8)
+ {
+ for (test_x = frameLeft(c) + margins[MARGIN_LEFT]; test_x < xmax; test_x += 8)
+ {
+ unsigned long count_overlaps = 0;
+ DBG("analyzing %i clients\n", client_count);
+ for(c2 = clients, i = 0; i < client_count; c2 = c2->next, i++)
+ {
+ if ((c2 != c) && (c->win_layer == c2->win_layer) && (c->win_workspace == c2->win_workspace) && (c2->visible))
+ {
+ count_overlaps += overlap (test_x, test_y, test_x + bw, test_y + bh, frameX(c2), frameY(c2), frameX(c2) + frameWidth(c2), frameY(c2) + frameHeight(c2));
+ }
+ }
+ DBG("overlaps so far is %u\n", count_overlaps);
+ if (count_overlaps == 0)
+ {
+ DBG("overlaps is 0 so it's the best we can get\n");
+ c->x = test_x;
+ c->y = test_y;
+ return;
+ }
+ else if ((count_overlaps < best_overlaps) || (first))
+ {
+ DBG("overlaps %u is better than the best we have %u\n", count_overlaps, best_overlaps);
+ best_x = test_x;
+ best_y = test_y;
+ best_overlaps = count_overlaps;
+ }
+ if (first)
+ {
+ first = FALSE;
+ }
+ }
+ }
+ c->x = best_x;
+ c->y = best_y;
+ return;
+}
+
+void clientFrame(Window w)
+{
+ Client *c;
+ XWindowAttributes attr;
+ XWindowChanges wc;
+ unsigned long dummy;
+ PropMwmHints *mwm_hints;
+ int i;
+ unsigned long valuemask;
+ XSetWindowAttributes attributes;
+ Window dummy_root;
+ int dummy_x, dummy_y;
+ unsigned int dummy_width, dummy_height, dummy_depth, dummy_bw;
+
+ g_return_if_fail (w != None);
+ DBG("entering clientFrame\n");
+ DBG("framing client (%#lx)\n", w);
+
+ if (w == gnome_win)
+ {
+ return;
+ }
+
+ c = malloc(sizeof(Client));
+ if(!c)
+ {
+ return;
+ }
+
+ MyXGrabServer (dpy);
+ if (XGetGeometry (dpy, w, &dummy_root, &dummy_x, &dummy_y, &dummy_width, &dummy_height, &dummy_bw, &dummy_depth) == 0)
+ {
+ free (c);
+ MyXUngrabServer (dpy);
+ return;
+ }
+ c->window = w;
+ getWindowName(dpy, c->window, &c->name);
+ DBG("name \"%s\"\n", c->name);
+ getTransientFor(dpy, c->window, &(c->transient_for));
+ c->size = XAllocSizeHints();
+ XGetWMNormalHints(dpy, w, c->size, &dummy);
+ XGetWindowAttributes(dpy, w, &attr);
+ c->x = attr.x;
+ c->y = attr.y;
+ c->width = attr.width;
+ c->height = attr.height;
+ c->border_width = attr.border_width;
+
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ c->button_pressed[i] = False;
+ }
+
+ c->type_atom = None;
+ c->type = UNSET;
+ c->ignore_unmap = ((attr.map_state == IsViewable) ? 1 : 0);
+ c->managed = False;
+ c->focus = False;
+ c->has_border = True;
+ c->sticky = False;
+ c->maximized = False;
+ c->shaded = False;
+ c->visible = False;
+ c->hidden = False;
+ c->state_modal = False;
+ c->skip_taskbar = False;
+ c->skip_pager = False;
+
+ mwm_hints = getMotifHints(dpy, c->window);
+ if(mwm_hints)
+ {
+ if(mwm_hints->flags & MWM_HINTS_DECORATIONS && !(mwm_hints->decorations & MWM_DECOR_ALL))
+ {
+ c->has_border = ((mwm_hints->decorations & MWM_DECOR_BORDER) ? True : False);
+ }
+ XFree(mwm_hints);
+ }
+
+ getGnomeHint(dpy, w, win_hints, &c->win_hints);
+ getGnomeHint(dpy, w, win_state, &c->win_state);
+ if (!getGnomeHint(dpy, w, win_layer, &c->win_layer))
+ {
+ c->win_layer = WIN_LAYER_NORMAL;
+ }
+ c->sticky = ((c->win_state & WIN_STATE_STICKY) ? True : False);
+ c->shaded = ((c->win_state & WIN_STATE_SHADED) ? True : False);
+ c->maximized = ((c->win_state & (WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ | WIN_STATE_MAXIMIZED)) ? True : False);
+
+ /* Beware, order of calls is important here ! */
+ clientGetNetState (c);
+ clientGetInitialNetWmDesktop (c);
+ clientGetNetWmType (c);
+
+ /* Once we know the type of window, we can initialize window position */
+ if(attr.map_state != IsViewable)
+ {
+ clientInitPosition(c);
+ }
+ else
+ {
+ clientGravitate(c, APPLY);
+ }
+
+ valuemask = CWEventMask;
+ attributes.event_mask = (SubstructureNotifyMask | SubstructureRedirectMask | EnterWindowMask);
+ c->frame = XCreateWindow (dpy, root, frameX(c), frameY(c), frameWidth(c), frameHeight(c), 0, CopyFromParent, InputOutput, CopyFromParent, valuemask, &attributes);
+ DBG("frame id (%#lx)\n", c->frame);
+ valuemask = (CWEventMask | CWDontPropagate);
+ attributes.event_mask = (FocusChangeMask | PropertyChangeMask);
+ attributes.do_not_propagate_mask = (ButtonPressMask | ButtonReleaseMask);
+ XChangeWindowAttributes (dpy, c->window, valuemask, &attributes);
+ if(shape)
+ {
+ XShapeSelectInput(dpy, c->window, ShapeNotifyMask);
+ }
+ XSetWindowBorderWidth(dpy, c->window, 0);
+ XReparentWindow(dpy, c->window, c->frame, frameLeft(c), frameTop(c));
+
+ MyXUngrabServer (dpy);
+
+ XGrabButton(dpy, AnyButton, AnyModifier, c->frame, False, ButtonPressMask, GrabModeSync, GrabModeAsync, None, None);
+
+ c->sides[SIDE_LEFT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->sides[SIDE_RIGHT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->sides[SIDE_BOTTOM] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->corners[CORNER_BOTTOM_LEFT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->corners[CORNER_BOTTOM_RIGHT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->corners[CORNER_TOP_LEFT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->corners[CORNER_TOP_RIGHT] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ c->title = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+
+ for(i = 0; i < 4; i++)
+ {
+ XDefineCursor(dpy, c->corners[i], resize_cursor[i]);
+ }
+ for(i = 0; i < 3; i++)
+ {
+ XDefineCursor(dpy, c->sides[i], resize_cursor[4 + i]);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ c->buttons[i] = XCreateSimpleWindow(dpy, c->frame, 0, 0, 1, 1, 0, 0, 0);
+ }
+
+ clientAddToList(c);
+ clientGrabKeys(c);
+
+ wc.x = c->x;
+ wc.y = c->y;
+ wc.width = c->width;
+ wc.height = c->height;
+ wc.stack_mode = Above;
+ clientConfigure(c, &wc, CWX | CWY | CWHeight | CWWidth | CWStackMode);
+
+ if(getWMState(dpy, c->window) != IconicState)
+ {
+ clientShow(c, True);
+ if(focus_new && !(c->win_hints & WIN_HINTS_SKIP_FOCUS))
+ {
+ clientSetFocus(c, True);
+ }
+ else
+ {
+ frameDraw(c);
+ }
+ }
+ else
+ {
+ c->hidden = True;
+ frameDraw(c);
+ setWMState(dpy, c->window, IconicState);
+ clientSetNetState(c);
+ }
+
+ DBG("client_count=%d\n", client_count);
+}
+
+void clientUnframe(Client * c, int remap)
+{
+ DBG("entering clientUnframe\n");
+ DBG("unframing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ g_return_if_fail (c != NULL);
+ if (client_focus == c)
+ {
+ client_focus = NULL;
+ }
+ clientGravitate(c, REMOVE);
+ clientUngrabKeys(c);
+ XSetWindowBorderWidth(dpy, c->window, c->border_width);
+ if(remap)
+ {
+ XMapWindow(dpy, c->window);
+ }
+ else
+ {
+ setWMState(dpy, c->window, WithdrawnState);
+ }
+ XReparentWindow(dpy, c->window, root, c->x, c->y);
+ XDestroyWindow(dpy, c->frame);
+ clientRemoveFromList(c);
+ if(c->name)
+ {
+ free(c->name);
+ }
+ if(c->size)
+ {
+ XFree(c->size);
+ }
+ free(c);
+ DBG("client_count=%d\n", client_count);
+}
+
+void clientFrameAll()
+{
+ unsigned int count, i;
+ Window w1, w2, *wins = NULL;
+ XWindowAttributes attr;
+
+ DBG("entering clientFrameAll\n");
+
+ /* Since this fn is called at startup, it's safe to initialize some vars here */
+ client_count = 0;
+ clients = NULL;
+ client_list = NULL;
+ client_list = NULL;
+ windows = NULL;
+ windows_stack = NULL;
+ client_focus = NULL;
+
+ XQueryTree(dpy, root, &w1, &w2, &wins, &count);
+ for(i = 0; i < count; i++)
+ {
+ XGetWindowAttributes(dpy, wins[i], &attr);
+ if((!attr.override_redirect) && (attr.map_state == IsViewable))
+ {
+ clientFrame(wins[i]);
+ }
+ }
+ if(wins)
+ {
+ XFree(wins);
+ }
+}
+
+void clientUnframeAll()
+{
+ Client *c;
+ unsigned int count, i;
+ Window w1, w2, *wins = NULL;
+
+ DBG("entering clientUnframeAll\n");
+
+ XQueryTree(dpy, root, &w1, &w2, &wins, &count);
+ for(i = 0; i < count; i++)
+ {
+ c = clientGetFromWindow(wins[i], FRAME);
+ if(c)
+ {
+ clientUnframe(c, True);
+ }
+ }
+ if(wins)
+ {
+ XFree(wins);
+ }
+}
+
+Client *clientGetFromWindow(Window w, int mode)
+{
+ Client *c;
+ int i;
+
+ g_return_val_if_fail (w != None, NULL);
+ DBG("entering clientGetFromWindow\n");
+ DBG("looking for (%#lx)\n", w);
+
+ for(c = clients, i = 0; i < client_count; c = c->next, i++)
+ {
+ switch (mode)
+ {
+ case WINDOW:
+ if (c->window == w)
+ {
+ DBG("found \"%s\" (mode WINDOW)\n", c->name);
+ return (c);
+ }
+ break;
+ case FRAME:
+ if (c->frame == w)
+ {
+ DBG("found \"%s\" (mode FRAME)\n", c->name);
+ return (c);
+ }
+ break;
+ case ANY:
+ default:
+ if ((c->frame == w) || (c->window == w))
+ {
+ DBG("found \"%s\" (mode ANY)\n", c->name);
+ return (c);
+ }
+ break;
+ }
+ }
+ DBG("no client found\n");
+
+ return NULL;
+}
+
+void clientShow(Client * c, int change_state)
+{
+ int i;
+ Client *c2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientShow\n");
+ DBG("showing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if((c->win_workspace == workspace) || (c->sticky))
+ {
+ for(c2 = c->next, i = 0; i < client_count; c2 = c2->next, i++)
+ {
+ if ((c2->transient_for == c->window) && (c2 != c))
+ {
+ clientShow(c2, change_state);
+ }
+ }
+ XMapWindow(dpy, c->window);
+ XMapWindow(dpy, c->frame);
+ c->visible = True;
+ }
+ if(change_state)
+ {
+ c->hidden = False;
+ setWMState(dpy, c->window, NormalState);
+ }
+ clientSetNetState (c);
+ XFlush (dpy);
+}
+
+void clientHide(Client * c, int change_state)
+{
+ int i;
+ Client *c2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientHide\n");
+ DBG("hiding client \"%s\" (%#lx)\n", c->name, c->window);
+
+ XUnmapWindow(dpy, c->window);
+ XUnmapWindow(dpy, c->frame);
+ for(c2 = c->next, i = 0; i < client_count; c2 = c2->next, i++)
+ {
+ if ((c2->transient_for == c->window) && (c2 != c))
+ {
+ clientHide(c2, change_state);
+ }
+ }
+
+ if(change_state)
+ {
+ c->hidden = True;
+ setWMState(dpy, c->window, IconicState);
+ }
+ c->ignore_unmap++;
+ c->visible = False;
+ clientSetNetState (c);
+ XFlush (dpy);
+}
+
+void clientClose(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientClose\n");
+ DBG("closing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ sendClientMessage(dpy, c->window, wm_protocols, wm_delete_window, NoEventMask);
+}
+
+void clientKill(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientKill\n");
+ DBG("killing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ XKillClient(dpy, c->window);
+}
+
+void clientRaise(Client * c)
+{
+ XWindowChanges wc;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientRaise\n");
+ DBG("raising client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if (c->managed)
+ {
+ wc.stack_mode = Above;
+ clientConfigure(c, &wc, CWStackMode);
+ }
+}
+
+void clientLower(Client * c)
+{
+ XWindowChanges wc;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientLower\n");
+ DBG("lowering client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if (c->managed)
+ {
+ wc.stack_mode = Below;
+ clientConfigure(c, &wc, CWStackMode);
+ }
+}
+
+void clientSetLayer(Client * c, int l)
+{
+ int old_layer;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientSetLayer\n");
+ DBG("setting client \"%s\" (%#lx) layer to %d\n", c->name, c->window, l);
+
+ old_layer = c->win_layer;
+ if(l == old_layer)
+ {
+ DBG("client \"%s\" (%#lx) already at layer %d\n", c->name, c->window, l);
+ return;
+ }
+
+ setGnomeHint(dpy, c->window, win_layer, l);
+ c->win_layer = l;
+ if(l > old_layer)
+ {
+ clientRaise(c);
+ }
+ else
+ {
+ clientLower(c);
+ }
+}
+
+void clientSetWorkspace(Client * c, int ws)
+{
+ unsigned long desk;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientSetWorkspace\n");
+ DBG("setting client \"%s\" (%#lx) to workspace %d\n", c->name, c->window, ws);
+
+ if(c->win_workspace == ws)
+ {
+ return;
+ }
+ setGnomeHint(dpy, c->window, win_workspace, ws);
+ c->win_workspace = ws;
+ desk = clientGetNetWmDesktop (c);
+ setNetHint (dpy, c->window, net_wm_desktop, desk);
+ if(getWMState(dpy, c->window) != IconicState)
+ {
+ if(c->sticky)
+ {
+ clientShow(c, False);
+ }
+ else
+ {
+ if(ws == workspace)
+ {
+ clientShow(c, False);
+ }
+ else
+ {
+ clientHide(c, False);
+ }
+ }
+ }
+}
+
+void clientToggleShaded(Client * c)
+{
+ XWindowChanges wc;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientToggleShaded\n");
+ DBG("shading/unshading client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if (!(c->has_border))
+ {
+ DBG("cowardly refusing to shade \"%s\" (%#lx) because it has no border\n", c->name, c->window);
+ return;
+ }
+ c->win_state = c->win_state ^ WIN_STATE_SHADED;
+ c->shaded = ((c->win_state & WIN_STATE_SHADED) ? True : False);
+ setGnomeHint(dpy, c->window, win_state, c->win_state);
+ wc.width = c->width;
+ wc.height = c->height;
+ clientSetNetState (c);
+ clientConfigure(c, &wc, CWWidth | CWHeight);
+}
+
+void clientStick(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientStick\n");
+ DBG("sticking client \"%s\" (%#lx)\n", c->name, c->window);
+
+ c->win_state |= WIN_STATE_STICKY;
+ c->sticky = True;
+ setGnomeHint(dpy, c->window, win_state, c->win_state);
+ clientSetWorkspace(c, workspace);
+ clientSetNetState (c);
+}
+
+void clientUnstick(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientUnstick\n");
+ DBG("unsticking client \"%s\" (%#lx)\n", c->name, c->window);
+
+ c->win_state &= ~WIN_STATE_STICKY;
+ c->sticky = False;
+ setGnomeHint(dpy, c->window, win_state, c->win_state);
+ clientSetWorkspace(c, workspace);
+ clientSetNetState (c);
+}
+
+void clientToggleSticky(Client * c)
+{
+ g_return_if_fail (c != NULL);
+ DBG("entering clientToggleSticky\n");
+ DBG("sticking/unsticking client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if (c->win_state & WIN_STATE_STICKY)
+ {
+ clientUnstick(c);
+ }
+ else
+ {
+ clientStick(c);
+ }
+}
+
+void clientToggleMaximized(Client * c, int mode)
+{
+ XWindowChanges wc;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientToggleMaximized\n");
+ DBG("maximzing/unmaximizing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if((c->size->flags & (PMinSize | PMaxSize)) &&
+ (c->size->min_width == c->size->max_width) &&
+ (c->size->min_height == c->size->max_height))
+ {
+ return;
+ }
+
+ if(c->win_state & WIN_STATE_MAXIMIZED)
+ {
+ wc.width = c->old_width;
+ wc.height = c->old_height;
+ wc.x = c->old_x;
+ wc.y = c->old_y;
+ c->win_state &= ~WIN_STATE_MAXIMIZED;
+ }
+ else
+ {
+ c->old_x = c->x;
+ c->old_y = c->y;
+ c->old_width = c->width;
+ c->old_height = c->height;
+
+ if(mode != WIN_STATE_MAXIMIZED_VERT)
+ {
+ wc.x = frameLeft(c) + margins[MARGIN_LEFT];
+ wc.width = XDisplayWidth(dpy, screen) - frameLeft(c) - frameRight(c) - margins[MARGIN_LEFT] - margins[MARGIN_RIGHT];
+ c->win_state |= WIN_STATE_MAXIMIZED_HORIZ;
+ }
+ else
+ {
+ wc.x = c->x;
+ wc.width = c->width;
+ }
+ if(mode != WIN_STATE_MAXIMIZED_HORIZ)
+ {
+ wc.y = frameTop(c) + margins[MARGIN_TOP];
+ wc.height = XDisplayHeight(dpy, screen) - frameTop(c) - frameBottom(c) - margins[MARGIN_TOP] - margins[MARGIN_BOTTOM];
+ c->win_state |= WIN_STATE_MAXIMIZED_VERT;
+ }
+ else
+ {
+ wc.y = c->y;
+ wc.height = c->height;
+ }
+ }
+ c->maximized = ((c->win_state & (WIN_STATE_MAXIMIZED_VERT | WIN_STATE_MAXIMIZED_HORIZ | WIN_STATE_MAXIMIZED)) ? True : False);
+ setGnomeHint(dpy, c->window, win_state, c->win_state);
+ clientSetNetState (c);
+ clientConfigure(c, &wc, CWX | CWY | CWWidth | CWHeight);
+}
+
+void clientUpdateFocus(Client * c)
+{
+ Client *c2 = ((client_focus != c) ? client_focus : NULL);
+ unsigned long data[2];
+
+ DBG("entering clientUpdateFocus\n");
+
+ if((c) && (c->win_hints & WIN_HINTS_SKIP_FOCUS))
+ {
+ DBG("SKIP_FOCUS set for client \"%s\" (%#lx)\n", c->name, c->window);
+ return;
+ }
+ client_focus = c;
+ if (c)
+ {
+ data[0] = c->window;
+ }
+ else
+ {
+ data[0] = None;
+ }
+ if (c2)
+ {
+ DBG("redrawing previous focus client \"%s\" (%#lx)\n", c2->name, c2->window);
+ frameDraw (c2);
+ }
+ data[1] = None;
+ XChangeProperty (dpy, root, net_active_window, XA_WINDOW, 32, PropModeReplace, (unsigned char*) data, 2);
+}
+
+void clientSetFocus(Client * c, int sort)
+{
+ Client *tmp;
+ Client *c2 = ((client_focus != c) ? client_focus : NULL);
+ unsigned long data[2];
+
+ DBG("entering clientSetFocus\n");
+
+ if((c) && (c->visible))
+ {
+ DBG("setting focus to client \"%s\" (%#lx)\n", c->name, c->window);
+ if(c->win_hints & WIN_HINTS_SKIP_FOCUS)
+ {
+ DBG("SKIP_FOCUS set for client \"%s\" (%#lx)\n", c->name, c->window);
+ return;
+ }
+ client_focus = c;
+ if(sort)
+ {
+ DBG("Sorting...\n");
+ if(client_count > 2 && c != clients)
+ {
+ tmp = c;
+ c->prev->next = c->next;
+ c->next->prev = c->prev;
+
+ c->prev = clients->prev;
+ c->next = clients;
+ clients->prev->next = c;
+ clients->prev = c;
+ }
+ clients = c;
+ }
+ XSetInputFocus(dpy, c->window, RevertToNone, CurrentTime);
+ data[0] = c->window;
+ }
+ else
+ {
+ DBG("setting focus to none\n");
+ client_focus = NULL;
+ XSetInputFocus(dpy, gnome_win, RevertToNone, CurrentTime);
+ data[0] = None;
+ }
+ if (c2)
+ {
+ DBG("redrawing previous focus client \"%s\" (%#lx)\n", c2->name, c2->window);
+ frameDraw (c2);
+ }
+ data[1] = None;
+ XChangeProperty (dpy, root, net_active_window, XA_WINDOW, 32, PropModeReplace, (unsigned char*) data, 2);
+}
+
+Client *clientGetFocus(void)
+{
+ return (client_focus);
+}
+
+void clientDrawOutline(Client * c)
+{
+ DBG("entering clientDrawOutline\n");
+
+ XDrawRectangle(dpy, root, box_gc, frameX(c), frameY(c), frameWidth(c) - 1, frameHeight(c) - 1);
+ if ((c->has_border) && !(c->shaded))
+ {
+ XDrawRectangle(dpy, root, box_gc, c->x, c->y, c->width - 1, c->height - 1);
+ }
+}
+
+static GtkToXEventFilterStatus clientMove_event_filter(XEvent *xevent, gpointer data)
+{
+ GtkToXEventFilterStatus status = XEV_FILTER_STOP;
+ MoveResizeData *passdata = (MoveResizeData *) data;
+ Client *c = passdata->c;
+ gboolean moving = TRUE;
+ XWindowChanges wc;
+ XEvent ev;
+
+ DBG("entering clientMove_event_filter\n");
+
+ if(xevent->type == KeyPress)
+ {
+ if(!passdata->grab && box_move)
+ {
+ MyXGrabServer(dpy);
+ passdata->grab = TRUE;
+ clientDrawOutline(c);
+ }
+ if(box_move)
+ {
+ clientDrawOutline(c);
+ }
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_HORIZ))
+ {
+ if(xevent->xkey.keycode == keys[KEY_MOVE_LEFT].keycode)
+ {
+ c->x = c->x - 16;
+ }
+ if(xevent->xkey.keycode == keys[KEY_MOVE_RIGHT].keycode)
+ {
+ c->x = c->x + 16;
+ }
+ }
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_VERT))
+ {
+ if(xevent->xkey.keycode == keys[KEY_MOVE_UP].keycode)
+ {
+ c->y = c->y - 16;
+ }
+ if(xevent->xkey.keycode == keys[KEY_MOVE_DOWN].keycode)
+ {
+ c->y = c->y + 16;
+ }
+ }
+ if(box_move)
+ {
+ clientDrawOutline(c);
+ }
+ else
+ {
+ wc.x = c->x;
+ wc.y = c->y;
+ clientConfigure(c, &wc, CWX | CWY);
+ }
+ }
+ else if(passdata->use_keys && xevent->type == KeyRelease)
+ {
+ if(IsModifierKey(XKeycodeToKeysym(dpy, xevent->xkey.keycode, 0)))
+ {
+ moving = FALSE;
+ }
+ }
+ else if(xevent->type == MotionNotify)
+ {
+ while(XCheckTypedEvent(dpy, MotionNotify, &ev));
+
+ if(!passdata->grab && box_move)
+ {
+ MyXGrabServer(dpy);
+ passdata->grab = TRUE;
+ clientDrawOutline(c);
+ }
+ if(box_move)
+ {
+ clientDrawOutline(c);
+ }
+
+ if(workspace_count > 1)
+ {
+ int msx, msy;
+
+ getMouseXY(dpy, root, &msx, &msy);
+ if(msx == 0 && !((workspace == 0) && !wrap_workspaces))
+ {
+ XEvent e;
+ workspaceSwitch(workspace - 1, c);
+ XWarpPointer(dpy, None, root, 0, 0, 0, 0, XDisplayWidth(dpy, screen) - 11, msy);
+ XFlush (dpy);
+ xevent->xmotion.x_root = XDisplayWidth(dpy, screen) - 11;
+ while(XCheckTypedEvent(dpy, MotionNotify, &e));
+ }
+ else if((msx == XDisplayWidth(dpy, screen) - 1) && !((workspace == workspace_count - 1) && !wrap_workspaces))
+ {
+ XEvent e;
+ workspaceSwitch(workspace + 1, c);
+ XWarpPointer(dpy, None, root, 0, 0, 0, 0, 10, msy);
+ XFlush (dpy);
+ xevent->xmotion.x_root = 10;
+ while(XCheckTypedEvent(dpy, MotionNotify, &e));
+ }
+ }
+
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_HORIZ))
+ {
+ c->x = passdata->ox + (xevent->xmotion.x_root - passdata->mx);
+ if(snap_to_border)
+ {
+ if(abs(frameX(c) - margins[MARGIN_LEFT]) < snap_width)
+ {
+ c->x = frameLeft(c) + margins[MARGIN_LEFT];
+ }
+ if(abs(frameX(c) - XDisplayWidth(dpy, screen) + frameWidth(c) + margins[MARGIN_RIGHT]) < snap_width)
+ {
+ c->x = (XDisplayWidth(dpy, screen) - frameRight(c) - c->width - margins[MARGIN_RIGHT]);
+ }
+ }
+ }
+
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_VERT))
+ {
+ c->y = passdata->oy + (xevent->xmotion.y_root - passdata->my);
+ if(snap_to_border)
+ {
+ if(abs(frameY(c) - margins[MARGIN_TOP]) < snap_width)
+ {
+ c->y = frameTop(c) + margins[MARGIN_TOP];
+ }
+ if(abs(frameY(c) - XDisplayHeight(dpy, screen) + frameHeight(c) + margins[MARGIN_BOTTOM]) < snap_width)
+ {
+ c->y = (XDisplayHeight(dpy, screen) - margins[MARGIN_BOTTOM] - frameHeight(c) + frameTop(c));
+ }
+ }
+ }
+
+ if(box_move)
+ {
+ clientDrawOutline(c);
+ }
+ else
+ {
+ wc.x = c->x;
+ wc.y = c->y;
+ clientConfigure(c, &wc, CWX | CWY);
+ }
+ }
+ else if(!passdata->use_keys && xevent->type == ButtonRelease)
+ {
+ moving = FALSE;
+ }
+ else if(xevent->type == UnmapNotify && xevent->xunmap.window == c->window)
+ {
+ moving = FALSE;
+ }
+ else if((xevent->type == EnterNotify) || (xevent->type == LeaveNotify))
+ {
+ /* Ignore enter/leave events */
+ }
+ else
+ {
+ status = XEV_FILTER_CONTINUE;
+ }
+ DBG("leaving clientMove_event_filter\n");
+
+ if (!moving)
+ {
+ DBG("event loop now finished\n");
+ gtk_main_quit ();
+ }
+
+ return status;
+}
+
+void clientMove(Client * c, XEvent * e)
+{
+ XWindowChanges wc;
+ MoveResizeData passdata;
+ int g1, g2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientDoMove\n");
+ DBG("moving client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if((c->win_state & WIN_STATE_MAXIMIZED) == WIN_STATE_MAXIMIZED)
+ {
+ return;
+ }
+
+ passdata.c = c;
+ passdata.use_keys = FALSE;
+ passdata.grab = FALSE;
+
+ g1 = XGrabKeyboard(dpy, c->window, False, GrabModeAsync, GrabModeAsync, CurrentTime);
+ g2 = XGrabPointer(dpy, c->frame, False, PointerMotionMask | ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, move_cursor, CurrentTime);
+
+ if((g1 != GrabSuccess) || (g2 != GrabSuccess))
+ {
+ DBG("passdata.grab failed in clientMove\n");
+ if(g1 == GrabSuccess)
+ {
+ XUngrabKeyboard(dpy, CurrentTime);
+ }
+ if(g2 == GrabSuccess)
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ }
+ return;
+ }
+
+ if(e->type == KeyPress)
+ {
+ passdata.use_keys = TRUE;
+ XPutBackEvent(dpy, e);
+ }
+
+ getMouseXY(dpy, root, &passdata.mx, &passdata.my);
+ passdata.ox = c->x;
+ passdata.oy = c->y;
+
+ DBG("entering move loop\n");
+ pushEventFilter (clientMove_event_filter, &passdata);
+ gtk_main ();
+ popEventFilter ();
+ DBG("leaving move loop\n");
+
+ XUngrabKeyboard(dpy, CurrentTime);
+ XUngrabPointer(dpy, CurrentTime);
+
+ if(passdata.grab && box_move)
+ {
+ clientDrawOutline(c);
+ }
+ wc.x = c->x;
+ wc.y = c->y;
+ clientConfigure(c, &wc, CWX | CWY);
+
+ if(passdata.grab && box_move)
+ {
+ MyXUngrabServer(dpy);
+ }
+}
+
+static GtkToXEventFilterStatus clientResize_event_filter(XEvent *xevent, gpointer data)
+{
+ GtkToXEventFilterStatus status = XEV_FILTER_STOP;
+ MoveResizeData *passdata = (MoveResizeData *) data;
+ Client *c = passdata->c;
+ gboolean resizing = TRUE;
+ XWindowChanges wc;
+
+ DBG("entering clientResize_event_filter\n");
+
+ if(xevent->type == KeyPress)
+ {
+ if(!passdata->grab && box_resize)
+ {
+ MyXGrabServer(dpy);
+ passdata->grab = TRUE;
+ clientDrawOutline(c);
+ }
+ if(box_resize)
+ {
+ clientDrawOutline(c);
+ }
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_VERT))
+ {
+ if(xevent->xkey.keycode == keys[KEY_MOVE_UP].keycode)
+ {
+ c->height = c->height - (clientGetHeightInc(c) < 10 ? 10 : clientGetHeightInc(c));
+ }
+ if(xevent->xkey.keycode == keys[KEY_MOVE_DOWN].keycode)
+ {
+ c->height = c->height + (clientGetHeightInc(c) < 10 ? 10 : clientGetHeightInc(c));
+ }
+ }
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_HORIZ))
+ {
+ if(xevent->xkey.keycode == keys[KEY_MOVE_LEFT].keycode)
+ {
+ c->width = c->width - (clientGetWidthInc(c) < 10 ? 10 : clientGetWidthInc(c));
+ }
+ if(xevent->xkey.keycode == keys[KEY_MOVE_RIGHT].keycode)
+ {
+ c->width = c->width + (clientGetWidthInc(c) < 10 ? 10 : clientGetWidthInc(c));
+ }
+ }
+ if(box_resize)
+ {
+ clientDrawOutline(c);
+ }
+ else
+ {
+ wc.x = c->x;
+ wc.y = c->y;
+ wc.width = c->width;
+ wc.height = c->height;
+ clientConfigure(c, &wc, CWX | CWY | CWWidth | CWHeight);
+ }
+ }
+ else if((passdata->use_keys) && (xevent->type == KeyRelease))
+ {
+ if(IsModifierKey(XKeycodeToKeysym(dpy, xevent->xkey.keycode, 0)))
+ {
+ resizing = FALSE;
+ }
+ }
+ else if(xevent->type == MotionNotify)
+ {
+ while(XCheckTypedEvent(dpy, MotionNotify, xevent));
+
+ if(!passdata->grab && box_resize)
+ {
+ MyXGrabServer(dpy);
+ passdata->grab = TRUE;
+ clientDrawOutline(c);
+ }
+ if(box_resize)
+ {
+ clientDrawOutline(c);
+ }
+ passdata->oldw = c->width;
+ passdata->oldh = c->height;
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_HORIZ))
+ {
+ if((passdata->corner == CORNER_TOP_LEFT) || (passdata->corner == CORNER_BOTTOM_LEFT) || (passdata->corner == 4 + SIDE_LEFT))
+ {
+ c->width = (c->x + c->width) - xevent->xmotion.x_root + passdata->mx - frameLeft(c);
+ }
+ if((passdata->corner == CORNER_BOTTOM_RIGHT) || (passdata->corner == CORNER_TOP_RIGHT) || (passdata->corner == 4 + SIDE_RIGHT))
+ {
+ c->width = (xevent->xmotion.x_root - c->x) + passdata->mx - frameRight(c);
+ }
+ }
+ if(!((c->win_state & WIN_STATE_MAXIMIZED_VERT) || (c->win_state & WIN_STATE_SHADED)))
+ {
+ if((passdata->corner == CORNER_TOP_LEFT) || (passdata->corner == CORNER_TOP_RIGHT))
+ {
+ c->height = (c->y + c->height) - xevent->xmotion.y_root + passdata->my - frameTop(c);
+ }
+ if((passdata->corner == CORNER_BOTTOM_RIGHT) || (passdata->corner == CORNER_BOTTOM_LEFT) || (passdata->corner == 4 + SIDE_BOTTOM))
+ {
+ c->height = (xevent->xmotion.y_root - c->y) + passdata->my - frameBottom(c);
+ }
+ }
+ clientSetWidth(c, c->width);
+ clientSetHeight(c, c->height);
+ if(!(c->win_state & WIN_STATE_MAXIMIZED_HORIZ) && ((passdata->corner == CORNER_TOP_LEFT) || (passdata->corner == CORNER_BOTTOM_LEFT) || (passdata->corner == 4 + SIDE_LEFT)))
+ {
+ c->x = c->x - (c->width - passdata->oldw);
+ }
+ if(!((c->win_state & WIN_STATE_MAXIMIZED_VERT) || (c->win_state & WIN_STATE_SHADED)) && (passdata->corner == CORNER_TOP_LEFT || passdata->corner == CORNER_TOP_RIGHT))
+ {
+ c->y = c->y - (c->height - passdata->oldh);
+ }
+ if(box_resize)
+ {
+ clientDrawOutline(c);
+ }
+ else
+ {
+ wc.x = c->x;
+ wc.y = c->y;
+ wc.width = c->width;
+ wc.height = c->height;
+ clientConfigure(c, &wc, CWX | CWY | CWWidth | CWHeight);
+ }
+ }
+ else if(xevent->type == ButtonRelease)
+ {
+ resizing = FALSE;
+ }
+ else if((xevent->type == UnmapNotify) && (xevent->xunmap.window == c->window))
+ {
+ resizing = FALSE;
+ }
+ else if((xevent->type == EnterNotify) || (xevent->type == LeaveNotify))
+ {
+ /* Ignore enter/leave events */
+ }
+ else
+ {
+ status = XEV_FILTER_CONTINUE;
+ }
+ DBG("leaving clientResize_event_filter\n");
+
+ if (!resizing)
+ {
+ DBG("event loop now finished\n");
+ gtk_main_quit ();
+ }
+
+ return status;
+}
+
+void clientResize(Client * c, int corner, XEvent * e)
+{
+ XWindowChanges wc;
+ MoveResizeData passdata;
+ int g1, g2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientResize\n");
+ DBG("resizing client \"%s\" (%#lx)\n", c->name, c->window);
+
+ if(c->win_state & WIN_STATE_MAXIMIZED)
+ {
+ return;
+ }
+
+ passdata.c = c;
+ passdata.corner = CORNER_BOTTOM_RIGHT;
+ passdata.use_keys = FALSE;
+ passdata.grab = FALSE;
+ passdata.corner = corner;
+
+ getMouseXY(dpy, c->frame, &passdata.mx, &passdata.my);
+ if(e->type == KeyPress)
+ {
+ passdata.use_keys = True;
+ }
+
+ g1 = XGrabKeyboard(dpy, c->window, False, GrabModeAsync, GrabModeAsync, CurrentTime);
+ g2 = XGrabPointer(dpy, c->frame, False, PointerMotionMask | ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, resize_cursor[passdata.corner], CurrentTime);
+
+ if((g1 != GrabSuccess) || (g2 != GrabSuccess))
+ {
+ DBG("grab failed in clientResize\n");
+ gdk_beep ();
+ if(g1 == GrabSuccess)
+ {
+ XUngrabKeyboard(dpy, CurrentTime);
+ }
+ if(g2 == GrabSuccess)
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ }
+ return;
+ }
+
+ if(passdata.use_keys)
+ {
+ XPutBackEvent(dpy, e);
+ }
+ if((passdata.corner == CORNER_TOP_RIGHT) || (passdata.corner == CORNER_BOTTOM_RIGHT) || (passdata.corner == 4+ SIDE_RIGHT))
+ {
+ passdata.mx = frameWidth(c) - passdata.mx;
+ }
+ if((passdata.corner == CORNER_BOTTOM_LEFT) || (passdata.corner == CORNER_BOTTOM_RIGHT) || (passdata.corner == 4 + SIDE_BOTTOM))
+ {
+ passdata.my = frameHeight(c) - passdata.my;
+ }
+ DBG("entering resize loop\n");
+ pushEventFilter (clientResize_event_filter, &passdata);
+ gtk_main ();
+ popEventFilter ();
+ DBG("leaving resize loop\n");
+
+ XUngrabKeyboard(dpy, CurrentTime);
+ XUngrabPointer(dpy, CurrentTime);
+
+ if(passdata.grab && box_resize)
+ {
+ clientDrawOutline(c);
+ }
+
+ wc.x = c->x;
+ wc.y = c->y;
+ wc.width = c->width;
+ wc.height = c->height;
+ clientConfigure(c, &wc, (CWX | CWY | CWHeight | CWWidth));
+
+ if(passdata.grab && box_resize)
+ {
+ MyXUngrabServer(dpy);
+ }
+}
+
+Client *clientGetNext(Client * c, int mask)
+{
+ Client *c2;
+ unsigned int i, okay;
+
+ DBG("entering clientGetNext\n");
+
+ if(c)
+ {
+ for(c2 = c->next, i = 0; i < client_count; c2 = c2->next, i++)
+ {
+ okay = True;
+ if((c2->win_hints & WIN_HINTS_SKIP_FOCUS) && !(mask & INCLUDE_SKIP_FOCUS))
+ {
+ okay = False;
+ }
+ if((getWMState(dpy, c2->window) == IconicState) && !(mask & INCLUDE_HIDDEN))
+ {
+ okay = False;
+ }
+ if((c2->win_workspace != workspace) && !(mask & INCLUDE_ALL_WORKSPACES))
+ {
+ okay = False;
+ }
+ if(okay)
+ {
+ return c2;
+ }
+ }
+ }
+ return NULL;
+}
+
+static GtkToXEventFilterStatus clientCycle_event_filter(XEvent *xevent, gpointer data)
+{
+ GtkToXEventFilterStatus status = XEV_FILTER_STOP;
+ gboolean cycling = TRUE;
+ Client **c2 = (Client **) data;
+
+ DBG("entering clientCycle_event_filter\n");
+ switch (xevent->type)
+ {
+ case KeyPress:
+ if(xevent->xkey.keycode == keys[KEY_CYCLE_WINDOWS].keycode)
+ {
+ if(getWMState(dpy, (*c2)->window) == IconicState)
+ {
+ clientHide(*c2, False);
+ }
+ *c2 = clientGetNext(*c2, INCLUDE_HIDDEN);
+ if(*c2)
+ {
+ clientShow(*c2, False);
+ clientRaise(*c2);
+ clientSetFocus(*c2, False);
+ }
+ else
+ {
+ cycling = FALSE;
+ }
+
+ }
+ break;
+ case KeyRelease:
+ if(IsModifierKey(XKeycodeToKeysym(dpy, xevent->xkey.keycode, 0)))
+ {
+ cycling = FALSE;
+ }
+ break;
+ case ButtonPress:
+ case ButtonRelease:
+ case EnterNotify:
+ case LeaveNotify:
+ case MotionNotify:
+ break;
+ default:
+ status = XEV_FILTER_CONTINUE;
+ break;
+ }
+
+ if (!cycling)
+ {
+ DBG("event loop now finished\n");
+ gtk_main_quit ();
+ }
+
+ return status;
+}
+
+void clientCycle(Client * c)
+{
+ Client *c2;
+ int g1, g2;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientCycle\n");
+
+ g1 = XGrabKeyboard(dpy, gnome_win, False, GrabModeAsync, GrabModeAsync, CurrentTime);
+ g2 = XGrabPointer(dpy, gnome_win, False, NoEventMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
+ if((g1 != GrabSuccess) || (g2 != GrabSuccess))
+ {
+ DBG("grab failed in clientCycle\n");
+ gdk_beep ();
+ if(g1 == GrabSuccess)
+ {
+ XUngrabKeyboard(dpy, CurrentTime);
+ }
+ if(g2 == GrabSuccess)
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ }
+ return;
+ }
+
+ c2 = clientGetNext(c, INCLUDE_HIDDEN);
+ if(c2)
+ {
+ clientShow(c2, False);
+ clientRaise(c2);
+ clientSetFocus(c2, False);
+ DBG("entering cycle loop\n");
+ pushEventFilter (clientCycle_event_filter, &c2);
+ gtk_main ();
+ popEventFilter ();
+ DBG("leaving cycle loop\n");
+ }
+
+ XUngrabKeyboard(dpy, CurrentTime);
+ XUngrabPointer(dpy, CurrentTime);
+
+ if(c2)
+ {
+ clientShow(c2, True);
+ clientSetFocus(c2, True);
+ }
+}
+
+static GtkToXEventFilterStatus clientButtonPress_event_filter(XEvent *xevent, gpointer data)
+{
+ GtkToXEventFilterStatus status = XEV_FILTER_STOP;
+ gboolean pressed = TRUE;
+ Client *c = ((ButtonPressData *) data)->c;
+ int b = ((ButtonPressData *) data)->b;
+
+ if(xevent->type == EnterNotify)
+ {
+ c->button_pressed[b] = True;
+ frameDraw(c);
+ }
+ else if(xevent->type == LeaveNotify)
+ {
+ c->button_pressed[b] = False;
+ frameDraw(c);
+ }
+ else if(xevent->type == ButtonRelease)
+ {
+ pressed = False;
+ }
+ else if((xevent->type == UnmapNotify) && (xevent->xunmap.window == c->window))
+ {
+ pressed = False;
+ c->button_pressed[b] = False;
+ }
+ else if((xevent->type == KeyPress) || (xevent->type == KeyRelease))
+ {
+ }
+ else
+ {
+ status = XEV_FILTER_CONTINUE;
+ }
+
+ if (!pressed)
+ {
+ DBG("event loop now finished\n");
+ gtk_main_quit ();
+ }
+
+ return status;
+}
+
+void clientButtonPress(Client * c, Window w, XButtonEvent * bev)
+{
+ int b, g1, g2;
+ ButtonPressData passdata;
+
+ g_return_if_fail (c != NULL);
+ DBG("entering clientButtonPress\n");
+
+ for(b = 0; b < BUTTON_COUNT; b++)
+ {
+ if(c->buttons[b] == w)
+ {
+ break;
+ }
+ }
+
+ g1 = XGrabKeyboard(dpy, c->window, False, GrabModeAsync, GrabModeAsync, CurrentTime);
+ g2 = XGrabPointer(dpy, w, False, ButtonReleaseMask | EnterWindowMask | LeaveWindowMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
+
+ if(g1 != GrabSuccess || g2 != GrabSuccess)
+ {
+ DBG("grab failed in clientButtonPress\n");
+ gdk_beep ();
+ if(g1 == GrabSuccess)
+ {
+ XUngrabKeyboard(dpy, CurrentTime);
+ }
+ if(g2 == GrabSuccess)
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ }
+ return;
+ }
+
+ passdata.c = c;
+ passdata.b = b;
+
+ c->button_pressed[b] = True;
+ frameDraw(c);
+
+ DBG("entering button press loop\n");
+ pushEventFilter (clientButtonPress_event_filter, &passdata);
+ gtk_main ();
+ popEventFilter ();
+ DBG("leaving button press loop\n");
+
+ XUngrabPointer(dpy, CurrentTime);
+ XUngrabKeyboard(dpy, CurrentTime);
+
+ if(c->button_pressed[b])
+ {
+ c->button_pressed[b] = False;
+ frameDraw(c);
+
+ switch (b)
+ {
+ case HIDE_BUTTON:
+ clientHide(c, True);
+ break;
+ case CLOSE_BUTTON:
+ if(bev->button == Button3)
+ {
+ clientKill(c);
+ }
+ else
+ {
+ clientClose(c);
+ }
+ break;
+ case MAXIMIZE_BUTTON:
+ if(bev->button == Button1)
+ {
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED);
+ }
+ else if(bev->button == Button2)
+ {
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED_VERT);
+ }
+ else if(bev->button == Button3)
+ {
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED_HORIZ);
+ }
+ break;
+ case SHADE_BUTTON:
+ clientToggleShaded(c);
+ break;
+ case STICK_BUTTON:
+ clientToggleSticky(c);
+ break;
+ }
+ }
+}
diff --git a/src/client.h b/src/client.h
new file mode 100644
index 000000000..1b8a18fa3
--- /dev/null
+++ b/src/client.h
@@ -0,0 +1,242 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __CLIENT_H__
+#define __CLIENT_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xmd.h>
+#include <X11/cursorfont.h>
+#include <X11/extensions/shape.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <signal.h>
+#include <unistd.h>
+#include "misc.h"
+#include "hints.h"
+#include "keyboard.h"
+#include "pixmap.h"
+#include "gtktoxevent.h"
+
+#define ANY 0
+#define WINDOW 1
+#define FRAME 2
+
+#define APPLY 1
+#define REMOVE -1
+
+#define PLACEMENT_MOUSE 0
+#define PLACEMENT_ROOT 1
+
+#define INCLUDE_HIDDEN (1<<0)
+#define INCLUDE_SKIP_FOCUS (1<<1)
+#define INCLUDE_ALL_WORKSPACES (1<<2)
+
+#define ACTIVE 0
+#define INACTIVE 1
+#define PRESSED 2
+
+#define MARGIN_LEFT 0
+#define MARGIN_RIGHT 1
+#define MARGIN_TOP 2
+#define MARGIN_BOTTOM 3
+
+#define CORNER_TOP_LEFT 0
+#define CORNER_TOP_RIGHT 1
+#define CORNER_BOTTOM_LEFT 2
+#define CORNER_BOTTOM_RIGHT 3
+
+#define SIDE_LEFT 0
+#define SIDE_RIGHT 1
+#define SIDE_BOTTOM 2
+
+#define TITLE_1 0
+#define TITLE_2 1
+#define TITLE_3 2
+#define TITLE_4 3
+#define TITLE_5 4
+
+#define HIDE_BUTTON 0
+#define SHADE_BUTTON 1
+#define MAXIMIZE_BUTTON 2
+#define CLOSE_BUTTON 3
+#define STICK_BUTTON 4
+#define MENU_BUTTON 5
+#define BUTTON_COUNT 6
+
+#define KEY_MOVE_UP 0
+#define KEY_MOVE_DOWN 1
+#define KEY_MOVE_LEFT 2
+#define KEY_MOVE_RIGHT 3
+#define KEY_RESIZE_UP 4
+#define KEY_RESIZE_DOWN 5
+#define KEY_RESIZE_LEFT 6
+#define KEY_RESIZE_RIGHT 7
+#define KEY_CYCLE_WINDOWS 8
+#define KEY_CLOSE_WINDOW 9
+#define KEY_HIDE_WINDOW 10
+#define KEY_MAXIMIZE_WINDOW 11
+#define KEY_MAXIMIZE_VERT 12
+#define KEY_MAXIMIZE_HORIZ 13
+#define KEY_SHADE_WINDOW 14
+#define KEY_RAISE_WINDOW_LAYER 15
+#define KEY_LOWER_WINDOW_LAYER 16
+#define KEY_NEXT_WORKSPACE 17
+#define KEY_PREV_WORKSPACE 18
+#define KEY_ADD_WORKSPACE 19
+#define KEY_DEL_WORKSPACE 20
+#define KEY_STICK_WINDOW 21
+#define KEY_WORKSPACE_1 22
+#define KEY_WORKSPACE_2 23
+#define KEY_WORKSPACE_3 24
+#define KEY_WORKSPACE_4 25
+#define KEY_WORKSPACE_5 26
+#define KEY_WORKSPACE_6 27
+#define KEY_WORKSPACE_7 28
+#define KEY_WORKSPACE_8 29
+#define KEY_WORKSPACE_9 30
+#define KEY_MOVE_NEXT_WORKSPACE 31
+#define KEY_MOVE_PREV_WORKSPACE 32
+#define KEY_MOVE_WORKSPACE_1 33
+#define KEY_MOVE_WORKSPACE_2 34
+#define KEY_MOVE_WORKSPACE_3 35
+#define KEY_MOVE_WORKSPACE_4 36
+#define KEY_MOVE_WORKSPACE_5 37
+#define KEY_MOVE_WORKSPACE_6 38
+#define KEY_MOVE_WORKSPACE_7 39
+#define KEY_MOVE_WORKSPACE_8 40
+#define KEY_MOVE_WORKSPACE_9 41
+#define KEY_COUNT 42
+
+#define ALIGN_LEFT 0
+#define ALIGN_RIGHT 1
+#define ALIGN_CENTER 2
+
+#define ACTION_NONE 0
+#define ACTION_MAXIMIZE 1
+#define ACTION_SHADE 2
+#define ACTION_HIDE 3
+
+typedef enum
+{
+ UNSET,
+ WINDOW_NORMAL,
+ WINDOW_DESKTOP,
+ WINDOW_DOCK,
+ WINDOW_DIALOG,
+ WINDOW_MODAL_DIALOG,
+ WINDOW_TOOLBAR,
+ WINDOW_MENU,
+ WINDOW_UTILITY,
+ WINDOW_SPLASHSCREEN
+} WindowType;
+
+typedef struct _Client Client;
+
+struct _Client
+{
+ Window window;
+ Window frame;
+ Window transient_for;
+ Window title;
+ Window sides[3];
+ Window corners[4];
+ Window buttons[BUTTON_COUNT];
+ unsigned long win_hints;
+ unsigned long win_state;
+ unsigned long win_layer;
+ int win_workspace;
+ Atom type_atom;
+ XSizeHints *size;
+ Client *next;
+ Client *prev;
+ WindowType type;
+ int x;
+ int y;
+ int width;
+ int height;
+ int border_width;
+ int old_x;
+ int old_y;
+ int old_width;
+ int old_height;
+ int button_pressed[BUTTON_COUNT];
+ char *name;
+ unsigned int ignore_unmap;
+ unsigned int managed : 1;
+ unsigned int focus : 1;
+ unsigned int has_border : 1;
+ unsigned int sticky : 1;
+ unsigned int maximized : 1;
+ unsigned int shaded : 1;
+ unsigned int visible : 1;
+ unsigned int hidden : 1;
+ unsigned int state_modal : 1;
+ unsigned int skip_taskbar : 1;
+ unsigned int skip_pager : 1;
+};
+
+extern Client *clients;
+extern Window *client_list;
+extern unsigned int client_count;
+
+void clientSetNetState (Client *);
+void clientUpdateNetState (Client *, XClientMessageEvent *);
+void clientGetNetWmType (Client *c);
+void clientGravitate(Client *, int);
+void clientConfigure(Client *, XWindowChanges *, int);
+void clientFrame(Window);
+void clientUnframe(Client *, int);
+void clientFrameAll();
+void clientUnframeAll();
+void clientGrabKeys(Client *);
+void clientUngrabKeys(Client *);
+Client *clientGetFromWindow(Window, int);
+void clientShow(Client *, int);
+void clientHide(Client *, int);
+void clientClose(Client *);
+void clientKill(Client *);
+void clientRaise(Client *);
+void clientLower(Client *);
+void clientSetLayer(Client *, int);
+void clientSetWorkspace(Client *, int);
+void clientToggleShaded(Client *);
+void clientStick(Client *);
+void clientUnstick(Client *);
+void clientToggleSticky(Client *);
+void clientToggleMaximized(Client *, int);
+void clientUpdateFocus(Client *);
+void clientSetFocus(Client *, int);
+Client *clientGetFocus();
+void clientMove(Client *, XEvent *);
+void clientResize(Client *, int, XEvent *);
+Client *clientGetNext(Client *, int);
+void clientCycle(Client *);
+void clientButtonPress(Client *, Window, XButtonEvent *);
+
+#endif /* __CLIENT_H__ */
diff --git a/src/debug.h b/src/debug.h
new file mode 100644
index 000000000..cd2558ad4
--- /dev/null
+++ b/src/debug.h
@@ -0,0 +1,28 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ */
+
+#ifndef __DEBUG_H__
+#define __DEBUG_H__
+
+#if defined(DEBUG) && DEBUG
+#include <stdio.h>
+#define DBG(fmt, args...) ({fprintf(stderr, __FILE__ ", line %d: ", __LINE__); fprintf(stderr , fmt , ## args );})
+#else
+#define DBG(fmt, args...) do {} while(0)
+#endif
+
+#endif /* __DEBUG_H__ */
diff --git a/src/events.c b/src/events.c
new file mode 100644
index 000000000..9125a0166
--- /dev/null
+++ b/src/events.c
@@ -0,0 +1,973 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gdk/gdkx.h>
+#include "main.h"
+#include "workspaces.h"
+#include "settings.h"
+#include "frame.h"
+#include "client.h"
+#include "menu.h"
+#include "gtktoxevent.h"
+#include "debug.h"
+
+static guint raise_timeout = 0;
+static gulong button_handler_id = 0;
+static GdkAtom atom_rcfiles = GDK_NONE;
+
+static void menu_callback (Menu *menu, MenuOp op, Window client_xwindow, gpointer menu_data, gpointer item_data);
+static gboolean show_popup_cb (GtkWidget *widget, GdkEventButton *ev, gpointer data);
+static gboolean client_event_cb (GtkWidget *widget, GdkEventClient *ev);
+
+static void clear_timeout (void)
+{
+ if (raise_timeout)
+ {
+ gtk_timeout_remove (raise_timeout);
+ raise_timeout = 0;
+ }
+}
+
+static gboolean raise_cb (gpointer data)
+{
+ Client *c;
+ DBG("entering raise_cb\n");
+
+ clear_timeout ();
+ c = clientGetFocus();
+ if(c)
+ {
+ clientRaise(c);
+ }
+ return (TRUE);
+}
+
+static void reset_timeout (void)
+{
+ if (raise_timeout)
+ {
+ gtk_timeout_remove (raise_timeout);
+ }
+ raise_timeout = gtk_timeout_add (raise_delay, (GtkFunction) raise_cb, NULL);
+}
+
+void handleKeyPress(XKeyEvent * ev)
+{
+ Client *c;
+ int state, key;
+ XEvent e;
+
+ DBG("entering handleKeyEvent\n");
+
+ c = clientGetFocus();
+ state = ev->state & (Mod1Mask | ShiftMask | ControlMask);
+ for(key = 0; key < KEY_COUNT; key++)
+ {
+ if((keys[key].keycode == ev->keycode) && (keys[key].modifier == state))
+ {
+ break;
+ }
+ }
+
+ if(c)
+ {
+ switch (key)
+ {
+ case KEY_MOVE_UP:
+ case KEY_MOVE_DOWN:
+ case KEY_MOVE_LEFT:
+ case KEY_MOVE_RIGHT:
+ if (c->has_border)
+ {
+ clientMove(c, (XEvent *) ev);
+ }
+ break;
+ case KEY_RESIZE_UP:
+ case KEY_RESIZE_DOWN:
+ case KEY_RESIZE_LEFT:
+ case KEY_RESIZE_RIGHT:
+ clientResize(c, CORNER_BOTTOM_RIGHT, (XEvent *) ev);
+ break;
+ case KEY_CYCLE_WINDOWS:
+ clientCycle(c);
+ break;
+ case KEY_CLOSE_WINDOW:
+ clientClose(c);
+ break;
+ case KEY_HIDE_WINDOW:
+ clientHide(c, True);
+ break;
+ case KEY_MAXIMIZE_WINDOW:
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED);
+ break;
+ case KEY_MAXIMIZE_VERT:
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED_VERT);
+ break;
+ case KEY_MAXIMIZE_HORIZ:
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED_HORIZ);
+ break;
+ case KEY_SHADE_WINDOW:
+ clientToggleShaded(c);
+ break;
+ case KEY_RAISE_WINDOW_LAYER:
+ clientSetLayer(c, c->win_layer + 1);
+ break;
+ case KEY_LOWER_WINDOW_LAYER:
+ clientSetLayer(c, c->win_layer - 1);
+ break;
+ case KEY_NEXT_WORKSPACE:
+ workspaceSwitch(workspace + 1, NULL);
+ break;
+ case KEY_PREV_WORKSPACE:
+ workspaceSwitch(workspace - 1, NULL);
+ break;
+ case KEY_ADD_WORKSPACE:
+ workspaceSetCount(workspace_count + 1);
+ break;
+ case KEY_DEL_WORKSPACE:
+ workspaceSetCount(workspace_count - 1);
+ break;
+ case KEY_STICK_WINDOW:
+ clientToggleSticky(c);
+ break;
+ case KEY_WORKSPACE_1:
+ workspaceSwitch(0, NULL);
+ break;
+ case KEY_WORKSPACE_2:
+ workspaceSwitch(1, NULL);
+ break;
+ case KEY_WORKSPACE_3:
+ workspaceSwitch(2, NULL);
+ break;
+ case KEY_WORKSPACE_4:
+ workspaceSwitch(3, NULL);
+ break;
+ case KEY_WORKSPACE_5:
+ workspaceSwitch(4, NULL);
+ break;
+ case KEY_WORKSPACE_6:
+ workspaceSwitch(5, NULL);
+ break;
+ case KEY_WORKSPACE_7:
+ workspaceSwitch(6, NULL);
+ break;
+ case KEY_WORKSPACE_8:
+ workspaceSwitch(7, NULL);
+ break;
+ case KEY_WORKSPACE_9:
+ workspaceSwitch(8, NULL);
+ break;
+ case KEY_MOVE_NEXT_WORKSPACE:
+ workspaceSwitch(workspace + 1, c);
+ break;
+ case KEY_MOVE_PREV_WORKSPACE:
+ workspaceSwitch(workspace - 1, c);
+ break;
+ case KEY_MOVE_WORKSPACE_1:
+ workspaceSwitch(0, c);
+ break;
+ case KEY_MOVE_WORKSPACE_2:
+ workspaceSwitch(1, c);
+ break;
+ case KEY_MOVE_WORKSPACE_3:
+ workspaceSwitch(2, c);
+ break;
+ case KEY_MOVE_WORKSPACE_4:
+ workspaceSwitch(3, c);
+ break;
+ case KEY_MOVE_WORKSPACE_5:
+ workspaceSwitch(4, c);
+ break;
+ case KEY_MOVE_WORKSPACE_6:
+ workspaceSwitch(5, c);
+ break;
+ case KEY_MOVE_WORKSPACE_7:
+ workspaceSwitch(6, c);
+ break;
+ case KEY_MOVE_WORKSPACE_8:
+ workspaceSwitch(7, c);
+ break;
+ case KEY_MOVE_WORKSPACE_9:
+ workspaceSwitch(8, c);
+ break;
+ }
+ }
+ else
+ {
+ switch (key)
+ {
+ case KEY_CYCLE_WINDOWS:
+ if(clients)
+ {
+ clientCycle(clients->prev);
+ }
+ break;
+ case KEY_NEXT_WORKSPACE:
+ workspaceSwitch(workspace + 1, NULL);
+ break;
+ case KEY_PREV_WORKSPACE:
+ workspaceSwitch(workspace - 1, NULL);
+ break;
+ case KEY_ADD_WORKSPACE:
+ workspaceSetCount(workspace_count + 1);
+ break;
+ case KEY_DEL_WORKSPACE:
+ workspaceSetCount(workspace_count - 1);
+ break;
+ case KEY_WORKSPACE_1:
+ workspaceSwitch(0, NULL);
+ break;
+ case KEY_WORKSPACE_2:
+ workspaceSwitch(1, NULL);
+ break;
+ case KEY_WORKSPACE_3:
+ workspaceSwitch(2, NULL);
+ break;
+ case KEY_WORKSPACE_4:
+ workspaceSwitch(3, NULL);
+ break;
+ case KEY_WORKSPACE_5:
+ workspaceSwitch(4, NULL);
+ break;
+ case KEY_WORKSPACE_6:
+ workspaceSwitch(5, NULL);
+ break;
+ case KEY_WORKSPACE_7:
+ workspaceSwitch(6, NULL);
+ break;
+ case KEY_WORKSPACE_8:
+ workspaceSwitch(7, NULL);
+ break;
+ case KEY_WORKSPACE_9:
+ workspaceSwitch(8, NULL);
+ break;
+ }
+ }
+
+ while(XCheckTypedEvent(dpy, EnterNotify, &e));
+}
+
+void handleButtonPress(XButtonEvent * ev)
+{
+ Client *c;
+ Window win;
+ int state, replay = False;
+ static Time last_button_time;
+
+ DBG("entering handleButtonPress\n");
+
+ /* Clear timeout */
+ clear_timeout ();
+
+ c = clientGetFromWindow(ev->window, FRAME);
+ if(c)
+ {
+
+ state = ev->state & (Mod1Mask | ShiftMask | ControlMask);
+ win = getMouseWindow(dpy, c->frame);
+
+ clientSetFocus(c, True);
+
+ if((win == c->buttons[HIDE_BUTTON]) || (win == c->buttons[CLOSE_BUTTON]) || (win == c->buttons[MAXIMIZE_BUTTON]) || (win == c->buttons[SHADE_BUTTON]) || (win == c->buttons[STICK_BUTTON]))
+ {
+ clientRaise(c);
+ clientButtonPress(c, win, ev);
+ }
+ else if(((win == c->title) && (ev->button == Button3)) || ((win == c->buttons[MENU_BUTTON]) && (ev->button == Button1)))
+ {
+ clientRaise(c);
+ ev->window = ev->root;
+ if (button_handler_id)
+ {
+ gtk_signal_disconnect (GTK_OBJECT (getDefaultGtkWidget()), button_handler_id);
+ }
+ button_handler_id = gtk_signal_connect (GTK_OBJECT (getDefaultGtkWidget()), "button_press_event", GTK_SIGNAL_FUNC (show_popup_cb), (gpointer) c);
+ /* Let GTK handle this for us. */
+ }
+ else if(((win == c->title) && ((ev->button == Button1) && (state == 0))) || ((ev->button == Button1) && (state == Mod1Mask)))
+ {
+ clientRaise(c);
+ if((ev->time - last_button_time <= 250) && (last_button_time != 0))
+ {
+ switch (double_click_action)
+ {
+ case ACTION_MAXIMIZE:
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED);
+ break;
+ case ACTION_SHADE:
+ clientToggleShaded(c);
+ break;
+ case ACTION_HIDE:
+ clientHide(c, True);
+ break;
+ }
+ last_button_time = 0;
+ }
+ else
+ {
+ if (c->has_border)
+ {
+ clientMove(c, (XEvent *) ev);
+ }
+ last_button_time = ev->time;
+ }
+ }
+ else if((win == c->corners[CORNER_TOP_LEFT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, CORNER_TOP_LEFT, (XEvent *) ev);
+ }
+ else if((win == c->corners[CORNER_TOP_RIGHT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, CORNER_TOP_RIGHT, (XEvent *) ev);
+ }
+ else if((win == c->corners[CORNER_BOTTOM_LEFT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, CORNER_BOTTOM_LEFT, (XEvent *) ev);
+ }
+ else if((win == c->corners[CORNER_BOTTOM_RIGHT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, CORNER_BOTTOM_RIGHT, (XEvent *) ev);
+ }
+ else if((win == c->sides[SIDE_BOTTOM]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, 4 + SIDE_BOTTOM, (XEvent *) ev);
+ }
+ else if((win == c->sides[SIDE_LEFT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, 4 + SIDE_LEFT, (XEvent *) ev);
+ }
+ else if((win == c->sides[SIDE_RIGHT]) && (ev->button == Button1) && (state == 0))
+ {
+ clientRaise(c);
+ clientResize(c, 4 + SIDE_RIGHT, (XEvent *) ev);
+ }
+ else if(((win != c->window) && (ev->button == Button2) && (state == 0)) || ((ev->button == Button2) && (state == (Mod1Mask | ControlMask))))
+ {
+ clientLower(c);
+ }
+ else
+ {
+ clientRaise(c);
+ if(win == c->window)
+ {
+ replay = True;
+ }
+ }
+
+ if(replay)
+ {
+ XAllowEvents(dpy, ReplayPointer, CurrentTime);
+ }
+ else
+ {
+ XAllowEvents(dpy, SyncPointer, CurrentTime);
+ }
+ }
+ else
+ {
+ XUngrabPointer(dpy, CurrentTime);
+ XSendEvent(dpy, gnome_win, False, SubstructureNotifyMask, (XEvent *) ev);
+ XSync(dpy, False);
+ }
+}
+
+void handleButtonRelease(XButtonEvent * ev)
+{
+ DBG("entering handleButtonRelease\n");
+
+ XSendEvent(dpy, gnome_win, False, SubstructureNotifyMask, (XEvent *) ev);
+ XSync(dpy, False);
+}
+
+void handleDestroyNotify(XDestroyWindowEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleDestroyNotify\n");
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ clientUnframe(c, False);
+ if(clients)
+ {
+ clientSetFocus(clientGetNext(clients->prev, 0), True);
+ }
+ else
+ {
+ clientSetFocus(NULL, True);
+ }
+ }
+}
+
+void handleUnmapNotify(XUnmapEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleUnmapNotify\n");
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ if(c->ignore_unmap)
+ {
+ c->ignore_unmap--;
+ }
+ else
+ {
+ clientUnframe(c, False);
+ if(clients)
+ {
+ clientSetFocus(clientGetNext(clients->prev, 0), True);
+ }
+ else
+ {
+ clientSetFocus(NULL, True);
+ }
+ }
+ }
+}
+
+void handleMapRequest(XMapRequestEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleMapRequest\n");
+
+ if (ev->window == None)
+ {
+ DBG("Mapping None ???\n");
+ return;
+ }
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ clientShow(c, True);
+ }
+ else
+ {
+ clientFrame(ev->window);
+ }
+}
+
+void handleConfigureRequest(XConfigureRequestEvent * ev)
+{
+ Client *c;
+ XWindowChanges wc;
+
+ DBG("entering handleConfigureRequest\n");
+
+ wc.x = ev->x;
+ wc.y = ev->y;
+ wc.width = ev->width;
+ wc.height = ev->height;
+ wc.sibling = ev->above;
+ wc.stack_mode = ev->detail;
+ wc.border_width = ev->border_width;
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ wc.x += frameLeft(c);
+ wc.y += frameTop(c);
+ clientConfigure(c, &wc, ev->value_mask);
+ }
+ else
+ {
+ XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
+ }
+}
+
+void handleEnterNotify(XCrossingEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleEnterNotify\n");
+
+ while(XCheckTypedEvent(dpy, EnterNotify, (XEvent *) ev));
+
+ DBG("EnterNotify window is (%#lx)\n", ev->window);
+
+ c = clientGetFromWindow(ev->window, FRAME);
+ if(c && !(click_to_focus) && !(c->win_hints & WIN_HINTS_SKIP_FOCUS))
+ {
+ DBG("EnterNotify window is \"%s\"\n", c->name);
+ clientSetFocus(c, True);
+ }
+}
+
+void handleFocusIn(XFocusChangeEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleFocusIn\n");
+ DBG("FocusIn window is (%#lx)\n", ev->window);
+
+ if (ev->window == gnome_win)
+ {
+ /* Don't get fooled by our own gtk window ! */
+ return;
+ }
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ DBG("focus set to \"%s\" (%#lx)\n", c->name, c->window);
+ clientUpdateFocus(c);
+ frameDraw(c);
+ if(raise_on_focus)
+ {
+ reset_timeout ();
+ }
+ }
+ else if(clients)
+ {
+ DBG("focus set to top window in list\n");
+ clientSetFocus(clientGetNext(clients->prev, 0), True);
+ }
+ else
+ {
+ DBG("focus set to default fallback window\n");
+ clientSetFocus(NULL, True);
+ }
+}
+
+void handleFocusOut(XFocusChangeEvent * ev)
+{
+ DBG("entering handleFocusOut\n");
+}
+
+void handlePropertyNotify(XPropertyEvent * ev)
+{
+ Client *c;
+ long dummy;
+
+ DBG("entering handlePropertyNotify\n");
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ if(ev->atom == XA_WM_NORMAL_HINTS)
+ {
+ DBG("client \"%s\" (%#lx) has received a XA_WM_NORMAL_HINTS notify\n", c->name, c->window);
+ XGetWMNormalHints(dpy, c->window, c->size, &dummy);
+ }
+ else if((ev->atom == XA_WM_NAME) || (ev->atom == net_wm_name))
+ {
+ DBG("client \"%s\" (%#lx) has received a XA_WM_NAME notify\n", c->name, c->window);
+ if(c->name)
+ {
+ free(c->name);
+ }
+ getWindowName(dpy, c->window, &c->name);
+ frameDraw(c);
+ }
+ else if(ev->atom == win_hints)
+ {
+ DBG("client \"%s\" (%#lx) has received a win_hints notify\n", c->name, c->window);
+ getGnomeHint(dpy, c->window, win_hints, &c->win_hints);
+ }
+ else if (ev->atom == win_layer)
+ {
+ DBG("client \"%s\" (%#lx) has received a win_layer notify\n", c->name, c->window);
+ getGnomeHint(dpy, c->window, win_layer, &dummy);
+ clientSetLayer(c, dummy);
+ clientSetNetState (c);
+ }
+ else if (ev->atom == net_wm_window_type)
+ {
+ DBG("client \"%s\" (%#lx) has received a net_wm_window_type notify\n", c->name, c->window);
+ clientGetNetWmType (c);
+ }
+ else if(ev->atom == win_workspace)
+ {
+ DBG("client \"%s\" (%#lx) has received a win_workspace notify\n", c->name, c->window);
+ getGnomeHint(dpy, c->window, win_workspace, &dummy);
+ clientSetWorkspace(c, dummy);
+ }
+ }
+ else
+ {
+ if(ev->atom == win_workspace_count)
+ {
+ DBG("root has received a win_workspace_count notify\n");
+ getGnomeHint(dpy, root, win_workspace_count, &dummy);
+ workspaceSetCount(dummy);
+ }
+ else if(ev->atom == gnome_panel_desktop_area)
+ {
+ DBG("root has received a gnome_panel_desktop_area notify\n");
+ getGnomeDesktopMargins(dpy, margins);
+ set_net_workarea (dpy, root, margins);
+ }
+ }
+}
+
+void handleClientMessage(XClientMessageEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleClientMessage\n");
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ if((ev->message_type == wm_change_state) && (ev->format == 32) && (ev->data.l[0] == IconicState))
+ {
+ DBG("client \"%s\" (%#lx) has received a wm_change_state event\n", c->name, c->window);
+ clientHide(c, True);
+ }
+ else if((ev->message_type == win_state) && (ev->format == 32) && (ev->data.l[0] & WIN_STATE_SHADED))
+ {
+ DBG("client \"%s\" (%#lx) has received a win_state/shaded event\n", c->name, c->window);
+ clientToggleShaded(c);
+ }
+ else if((ev->message_type == win_state) && (ev->format == 32) && (ev->data.l[0] & WIN_STATE_STICKY))
+ {
+ DBG("client \"%s\" (%#lx) has received a win_state/stick event\n", c->name, c->window);
+ clientToggleSticky(c);
+ }
+ else if((ev->message_type == win_layer) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a win_layer event\n", c->name, c->window);
+ clientSetLayer(c, ev->data.l[0]);
+ }
+ else if((ev->message_type == win_workspace) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a win_workspace event\n", c->name, c->window);
+ clientSetWorkspace(c, ev->data.l[0]);
+ }
+ else if((ev->message_type == net_wm_desktop) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a net_wm_desktop event\n", c->name, c->window);
+ if ((ev->data.l[0] == (int) 0xFFFFFFFF))
+ {
+ clientStick(c);
+ }
+ else
+ {
+ clientUnstick(c);
+ }
+ }
+ else if((ev->message_type == net_close_window) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a net_close_window event\n", c->name, c->window);
+ clientClose (c);
+ }
+ else if((ev->message_type == net_wm_state) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a net_wm_state event\n", c->name, c->window);
+ clientUpdateNetState (c, ev);
+ }
+ else if((ev->message_type == net_wm_moveresize) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a net_wm_moveresize event\n", c->name, c->window);
+ g_message ("Operation not supported (yet)\n");
+ /* TBD */
+ }
+ else if((ev->message_type == net_active_window) && (ev->format == 32))
+ {
+ DBG("client \"%s\" (%#lx) has received a net_active_window event\n", c->name, c->window);
+ workspaceSwitch(c->win_workspace, NULL);
+ clientShow (c, True);
+ clientRaise (c);
+ clientSetFocus(c, True);
+ }
+ }
+ else
+ {
+ if(((ev->message_type == win_workspace) || (ev->message_type == net_current_desktop)) && (ev->format == 32))
+ {
+ DBG("root has received a win_workspace or a net_current_desktop event\n");
+ workspaceSwitch(ev->data.l[0], NULL);
+ }
+ else if(((ev->message_type == win_workspace_count) || (ev->message_type == net_number_of_desktops)) && (ev->format == 32))
+ {
+ DBG("root has received a win_workspace_count event\n");
+ workspaceSetCount(ev->data.l[0]);
+ }
+ }
+}
+
+void handleShape(XShapeEvent * ev)
+{
+ Client *c;
+
+ DBG("entering handleShape\n");
+
+ c = clientGetFromWindow(ev->window, WINDOW);
+ if(c)
+ {
+ frameDraw(c);
+ }
+}
+
+void handleEvent(XEvent * ev)
+{
+ DBG("entering handleEvent\n");
+
+ switch (ev->type)
+ {
+ case KeyPress:
+ handleKeyPress((XKeyEvent *) ev);
+ break;
+ case ButtonPress:
+ handleButtonPress((XButtonEvent *) ev);
+ break;
+ case ButtonRelease:
+ handleButtonRelease((XButtonEvent *) ev);
+ break;
+ case DestroyNotify:
+ handleDestroyNotify((XDestroyWindowEvent *) ev);
+ break;
+ case UnmapNotify:
+ handleUnmapNotify((XUnmapEvent *) ev);
+ break;
+ case MapRequest:
+ handleMapRequest((XMapRequestEvent *) ev);
+ break;
+ case ConfigureRequest:
+ handleConfigureRequest((XConfigureRequestEvent *) ev);
+ break;
+ case EnterNotify:
+ handleEnterNotify((XCrossingEvent *) ev);
+ break;
+ case FocusIn:
+ handleFocusIn((XFocusChangeEvent *) ev);
+ break;
+ case FocusOut:
+ handleFocusOut((XFocusChangeEvent *) ev);
+ break;
+ case PropertyNotify:
+ handlePropertyNotify((XPropertyEvent *) ev);
+ break;
+ case ClientMessage:
+ handleClientMessage((XClientMessageEvent *) ev);
+ break;
+ default:
+ if(shape && (ev->type == shape_event))
+ {
+ handleShape((XShapeEvent *) ev);
+ }
+ }
+ if (!gdk_events_pending() && !XPending(dpy))
+ {
+ if(reload)
+ {
+ reloadSettings();
+ reload = False;
+ }
+ if(quit)
+ {
+ gtk_main_quit();
+ }
+ }
+}
+
+
+GtkToXEventFilterStatus xfwm4_event_filter(XEvent *xevent, gpointer data)
+{
+ DBG("entering xfwm4_event_filter\n");
+ handleEvent(xevent);
+ DBG("leaving xfwm4_event_filter\n");
+ return XEV_FILTER_STOP;
+}
+
+/* GTK stuff (menu, etc...) */
+
+static void menu_callback (Menu *menu, MenuOp op, Window client_xwindow, gpointer menu_data, gpointer item_data)
+{
+ Client *c = NULL;
+
+ DBG("entering menu_callback\n");
+ if (menu_data)
+ {
+ c = (Client *) menu_data;
+ c = clientGetFromWindow(c->window, WINDOW);
+ c->button_pressed[MENU_BUTTON] = False;
+ }
+
+ switch (op)
+ {
+ case MENU_OP_QUIT:
+ gtk_main_quit();
+ break;
+ case MENU_OP_MAXIMIZE:
+ case MENU_OP_UNMAXIMIZE:
+ if (c)
+ {
+ clientToggleMaximized(c, WIN_STATE_MAXIMIZED);
+ }
+ break;
+ case MENU_OP_MINIMIZE:
+ if (c)
+ {
+ clientHide(c, True);
+ }
+ break;
+ case MENU_OP_UNMINIMIZE:
+ if (c)
+ {
+ clientShow(c, True);
+ }
+ break;
+ case MENU_OP_SHADE:
+ case MENU_OP_UNSHADE:
+ if (c)
+ {
+ clientToggleShaded(c);
+ }
+ break;
+ case MENU_OP_STICK:
+ case MENU_OP_UNSTICK:
+ if (c)
+ {
+ clientToggleSticky(c);
+ frameDraw(c);
+ }
+ break;
+ case MENU_OP_DELETE:
+ if (c)
+ {
+ clientClose(c);
+ frameDraw(c);
+ }
+ break;
+ case MENU_OP_DESTROY:
+ if (c)
+ {
+ clientKill(c);
+ frameDraw(c);
+ }
+ break;
+ default:
+ if (c)
+ {
+ frameDraw(c);
+ }
+ break;
+ }
+ menu_free (menu);
+}
+
+static gboolean show_popup_cb (GtkWidget *widget, GdkEventButton *ev, gpointer data)
+{
+ Menu *menu;
+ MenuOp ops;
+ MenuOp insensitive;
+ Client *c = NULL;
+ gint x = ev->x_root;
+ gint y = ev->y_root;
+
+ DBG("entering show_popup_cb\n");
+
+ if (((ev->button == 1) || (ev->button == 3)) && (c = (Client *) data))
+ {
+ c->button_pressed[MENU_BUTTON] = True;
+ frameDraw(c);
+ y = c->y;
+ ops = MENU_OP_DELETE | MENU_OP_DESTROY;
+ insensitive = 0;
+
+ if (c->win_state & (WIN_STATE_MAXIMIZED | WIN_STATE_MAXIMIZED_HORIZ | WIN_STATE_MAXIMIZED_VERT))
+ {
+ ops |= MENU_OP_UNMAXIMIZE;
+ }
+ else
+ {
+ ops |= MENU_OP_MAXIMIZE;
+ }
+
+ if (getWMState(dpy, c->window) == IconicState)
+ {
+ ops |= MENU_OP_UNMINIMIZE;
+ }
+ else
+ {
+ ops |= MENU_OP_MINIMIZE;
+ }
+
+ if (c->win_state & WIN_STATE_SHADED)
+ {
+ ops |= MENU_OP_UNSHADE;
+ }
+ else
+ {
+ ops |= MENU_OP_SHADE;
+ }
+
+ if (c->sticky)
+ {
+ ops |= MENU_OP_UNSTICK;
+ }
+ else
+ {
+ ops |= MENU_OP_STICK;
+ }
+ }
+ else
+ {
+ return (TRUE);
+ }
+
+ if (button_handler_id)
+ {
+ gtk_signal_disconnect (GTK_OBJECT (getDefaultGtkWidget()), button_handler_id);
+ }
+ button_handler_id = gtk_signal_connect (GTK_OBJECT (getDefaultGtkWidget()), "button_press_event", GTK_SIGNAL_FUNC (show_popup_cb), (gpointer) NULL);
+
+ menu = menu_default (ops, insensitive, menu_callback, c);
+ menu_popup (menu, x, y, ev->button, ev->time);
+ return (TRUE);
+}
+
+static gboolean client_event_cb (GtkWidget *widget, GdkEventClient *ev)
+{
+ DBG("entering client_event_cb\n");
+
+ if (!atom_rcfiles)
+ {
+ atom_rcfiles = gdk_atom_intern ("_GTK_READ_RCFILES", FALSE);
+ }
+
+ if(ev->message_type == atom_rcfiles)
+ {
+ DBG("setting reload flag so all prefs will be reread at next event loop\n");
+ reload = True;
+ }
+
+ return (FALSE);
+}
+
+void initGtkCallbacks (void)
+{
+ button_handler_id = gtk_signal_connect (GTK_OBJECT (getDefaultGtkWidget()), "button_press_event", GTK_SIGNAL_FUNC (show_popup_cb), (gpointer) NULL);
+ gtk_signal_connect (GTK_OBJECT (getDefaultGtkWidget()), "client_event", GTK_SIGNAL_FUNC (client_event_cb), (gpointer) NULL);
+}
diff --git a/src/events.h b/src/events.h
new file mode 100644
index 000000000..e02d9b95f
--- /dev/null
+++ b/src/events.h
@@ -0,0 +1,39 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __EVENTS_H__
+#define __EVENTS_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include "gtktoxevent.h"
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <glib.h>
+
+void handleEvent(XEvent *);
+GtkToXEventFilterStatus xfwm4_event_filter(XEvent *xevent, gpointer data);
+void initGtkCallbacks (void);
+
+#endif /* __EVENTS_H__ */
diff --git a/src/frame.c b/src/frame.c
new file mode 100644
index 000000000..75f8da949
--- /dev/null
+++ b/src/frame.c
@@ -0,0 +1,625 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <pango/pango.h>
+#include "main.h"
+#include "client.h"
+#include "settings.h"
+#include "frame.h"
+#include "debug.h"
+
+inline int frameLeft(Client * c)
+{
+ DBG("entering frameLeft\n");
+
+ if(c->has_border)
+ {
+ return sides[SIDE_LEFT][ACTIVE].width;
+ }
+ return 0;
+}
+
+inline int frameRight(Client * c)
+{
+ DBG("entering frameRight\n");
+
+ if(c->has_border)
+ {
+ return sides[SIDE_RIGHT][ACTIVE].width;
+ }
+ return 0;
+}
+
+inline int frameTop(Client * c)
+{
+ DBG("entering frameTop\n");
+
+ if(c->has_border)
+ {
+ return title[TITLE_3][ACTIVE].height;
+ }
+ return 0;
+}
+
+inline int frameBottom(Client * c)
+{
+ DBG("entering frameBottom\n");
+
+ if(c->has_border)
+ {
+ return sides[SIDE_BOTTOM][ACTIVE].height;
+ }
+ return 0;
+}
+
+inline int frameX(Client * c)
+{
+ DBG("entering frameX\n");
+
+ if(c->has_border)
+ {
+ return c->x - frameLeft(c);
+ }
+ return c->x;
+}
+
+inline int frameY(Client * c)
+{
+ DBG("entering frameY\n");
+
+ if(c->has_border)
+ {
+ return c->y - frameTop(c);
+ }
+ return c->y;
+}
+
+inline int frameWidth(Client * c)
+{
+ DBG("entering frameWidth\n");
+
+ if(c->has_border)
+ {
+ return c->width + frameLeft(c) + frameRight(c);
+ }
+ return c->width;
+}
+
+inline int frameHeight(Client * c)
+{
+ DBG("entering frameHeight\n");
+
+ if(c->has_border && c->shaded)
+ {
+ return frameTop(c) + frameBottom(c);
+ }
+ else if(c->has_border)
+ {
+ return c->height + frameTop(c) + frameBottom(c);
+ }
+ return c->height;
+}
+
+void fillRectangle(Display * dpy, Drawable d, Pixmap pm, int x, int y,
+ int width, int height)
+{
+ XGCValues gv;
+ GC gc;
+ unsigned long mask;
+
+ DBG("entering fillRectangle\n");
+
+ gv.fill_style = FillTiled;
+ gv.tile = pm;
+ gv.ts_x_origin = x;
+ gv.ts_y_origin = y;
+ gv.foreground = WhitePixel(dpy, DefaultScreen(dpy));
+ if(gv.tile != None)
+ {
+ mask = GCTile | GCFillStyle | GCTileStipXOrigin;
+ }
+ else
+ {
+ mask = GCForeground;
+ }
+ gc = XCreateGC(dpy, d, mask, &gv);
+
+ XFillRectangle(dpy, d, gc, x, y, width, height);
+ XFreeGC(dpy, gc);
+}
+
+void frameCreateTitlePixmap(Client * c, int state, int left, int right,
+ MyPixmap * pm)
+{
+ int width, x = 0, tp = 0, w1 = 0, w2, w3, w4, w5, temp;
+ MyPixmap title1, title3, title5;
+ GdkPixmap *gpixmap = NULL;
+ GdkGCValues values;
+ GdkGC *gc;
+ PangoLayout *layout;
+ PangoRectangle logical_rect;
+
+ DBG("entering frameCreateTitlePixmap\n");
+
+ if(left > right)
+ {
+ temp = left;
+ left = right;
+ right = temp;
+ }
+
+ width = frameWidth(c) - corners[CORNER_TOP_LEFT][ACTIVE].width - corners[CORNER_TOP_RIGHT][ACTIVE].width;
+ if(left < corners[CORNER_TOP_LEFT][ACTIVE].width)
+ {
+ left = corners[CORNER_TOP_LEFT][ACTIVE].width;
+ }
+ if(right > frameWidth(c) - corners[CORNER_TOP_RIGHT][ACTIVE].width)
+ {
+ right = frameWidth(c) - corners[CORNER_TOP_RIGHT][ACTIVE].width;
+ }
+ if(right < corners[CORNER_TOP_LEFT][ACTIVE].width)
+ {
+ right = corners[CORNER_TOP_LEFT][ACTIVE].width;
+ }
+
+ left = left - corners[CORNER_TOP_LEFT][ACTIVE].width;
+ right = right - corners[CORNER_TOP_LEFT][ACTIVE].width;
+
+ w2 = title[TITLE_2][ACTIVE].width;
+ w4 = title[TITLE_4][ACTIVE].width;
+ layout = gtk_widget_create_pango_layout (getDefaultGtkWidget (), c->name);
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+ if(full_width_title)
+ {
+ w1 = left;
+ w5 = width - right;
+ w3 = width - w1 - w2 - w4 - w5;
+ if(w3 < 0)
+ {
+ w3 = 0;
+ }
+ switch (title_alignment)
+ {
+ case ALIGN_RIGHT:
+ tp = w3 - logical_rect.width;
+ break;
+ case ALIGN_CENTER:
+ tp = (w3 / 2) - (logical_rect.width / 2);
+ break;
+ }
+ if(tp < 0)
+ {
+ tp = 0;
+ }
+ }
+ else
+ {
+ w3 = logical_rect.width;
+ w5 = width;
+ if(w3 > width - w2 - w4)
+ {
+ w3 = width - w2 - w4;
+ }
+ if(w3 < 0)
+ {
+ w3 = 0;
+ }
+ switch (title_alignment)
+ {
+ case ALIGN_LEFT:
+ w1 = left;
+ break;
+ case ALIGN_RIGHT:
+ w1 = right - w2 - w3 - w4;
+ break;
+ case ALIGN_CENTER:
+ w1 = left + ((right - left) / 2) - (w3 / 2) - w2;
+ break;
+ }
+ if(w1 < left)
+ {
+ w1 = left;
+ }
+ }
+
+ pm->pixmap = XCreatePixmap(dpy, root, width, frameTop(c), depth);
+ pm->mask = XCreatePixmap(dpy, pm->pixmap, width, frameTop(c), 1);
+ gpixmap = gdk_pixmap_foreign_new (pm->pixmap);
+ gdk_drawable_set_colormap(gpixmap, gdk_colormap_get_system());
+ gc = gdk_gc_new(gpixmap);
+ gdk_gc_get_values (title_colors[state].gc, &values);
+ gdk_gc_set_values (gc, &values, GDK_GC_FOREGROUND);
+
+ if(w1 > 0)
+ {
+ scalePixmap(dpy, &title[TITLE_1][state], &title1, w1, frameTop(c));
+ fillRectangle(dpy, pm->pixmap, title1.pixmap, 0, 0, w1, frameTop(c));
+ fillRectangle(dpy, pm->mask, title1.mask, 0, 0, w1, frameTop(c));
+ x = x + w1;
+ }
+
+ fillRectangle(dpy, pm->pixmap, title[TITLE_2][state].pixmap, x, 0, w2, frameTop(c));
+ fillRectangle(dpy, pm->mask, title[TITLE_2][state].mask, x, 0, w2, frameTop(c));
+ x = x + w2;
+
+ if(w3 > 0)
+ {
+ scalePixmap(dpy, &title[TITLE_3][state], &title3, w3, frameTop(c));
+ fillRectangle(dpy, pm->pixmap, title3.pixmap, x, 0, w3, frameTop(c));
+ fillRectangle(dpy, pm->mask, title3.mask, x, 0, w3, frameTop(c));
+ gdk_draw_layout(gpixmap, gc, x + tp, (frameTop(c) + title_vertical_offset - logical_rect.height) / 2, layout);
+ x = x + w3;
+ }
+
+ if(x > right - w4)
+ {
+ x = right - w4;
+ }
+ fillRectangle(dpy, pm->pixmap, title[TITLE_4][state].pixmap, x, 0, w4, frameTop(c));
+ fillRectangle(dpy, pm->mask, title[TITLE_4][state].mask, x, 0, w4, frameTop(c));
+ x = x + w4;
+
+ if(w5 > 0)
+ {
+ scalePixmap(dpy, &title[TITLE_5][state], &title5, w5, frameTop(c));
+ fillRectangle(dpy, pm->pixmap, title5.pixmap, x, 0, w5, frameTop(c));
+ fillRectangle(dpy, pm->mask, title5.mask, x, 0, w5, frameTop(c));
+ }
+ g_object_unref (G_OBJECT (layout));
+ g_object_unref (G_OBJECT (gc));
+ gdk_drawable_unref (gpixmap);
+ freePixmap(dpy, &title1);
+ freePixmap(dpy, &title3);
+ freePixmap(dpy, &title5);
+}
+
+int getButtonFromLetter(char c)
+{
+ int b;
+
+ DBG("entering getButtonFromLetter\n");
+
+ switch (c)
+ {
+ case 'H':
+ b = HIDE_BUTTON;
+ break;
+ case 'C':
+ b = CLOSE_BUTTON;
+ break;
+ case 'M':
+ b = MAXIMIZE_BUTTON;
+ break;
+ case 'S':
+ b = SHADE_BUTTON;
+ break;
+ case 'T':
+ b = STICK_BUTTON;
+ break;
+ case 'O':
+ b = MENU_BUTTON;
+ break;
+ default:
+ b = -1;
+ }
+ return b;
+}
+
+char getLetterFromButton(int b)
+{
+ char c;
+
+ DBG("entering getLetterFromButton\n");
+
+ switch (b)
+ {
+ case HIDE_BUTTON:
+ c = 'H';
+ break;
+ case CLOSE_BUTTON:
+ c = 'C';
+ break;
+ case MAXIMIZE_BUTTON:
+ c = 'M';
+ break;
+ case SHADE_BUTTON:
+ c = 'S';
+ break;
+ case STICK_BUTTON:
+ c = 'T';
+ break;
+ case MENU_BUTTON:
+ c = 'O';
+ break;
+ default:
+ c = 0;
+ }
+ return c;
+}
+
+void frameSetShape(Client * c, int state, MyPixmap * title,
+ MyPixmap pm_sides[3], int button_x[BUTTON_COUNT])
+{
+ Window temp;
+ int i;
+ XRectangle rect;
+
+ DBG("entering frameSetShape\n");
+ DBG("setting shape for client (%#lx)\n", c->window);
+
+ if(!shape)
+ {
+ return;
+ }
+
+ temp = XCreateSimpleWindow(dpy, root, 0, 0, frameWidth(c), frameHeight(c), 0, 0, 0);
+
+ if(c->shaded)
+ {
+ rect.x = 0;
+ rect.y = 0;
+ rect.width = frameWidth(c);
+ rect.height = frameHeight(c);
+ XShapeCombineRectangles(dpy, temp, ShapeBounding, 0, 0, &rect, 1,
+ ShapeSubtract, 0);
+ }
+ else
+ {
+ XShapeCombineShape(dpy, temp, ShapeBounding, frameLeft(c), frameTop(c), c->window, ShapeBounding, ShapeSet);
+ }
+ if(c->has_border)
+ {
+ XShapeCombineMask(dpy, c->title, ShapeBounding, 0, 0, title->mask, ShapeSet);
+ for(i = 0; i < 3; i++)
+ {
+ XShapeCombineMask(dpy, c->sides[i], ShapeBounding, 0, 0, pm_sides[i].mask, ShapeSet);
+ }
+ for(i = 0; i < 4; i++)
+ {
+ XShapeCombineMask(dpy, c->corners[i], ShapeBounding, 0, 0, corners[i][state].mask, ShapeSet);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ if(c->button_pressed[i])
+ {
+ XShapeCombineMask(dpy, c->buttons[i], ShapeBounding, 0, 0, buttons[i][PRESSED].mask, ShapeSet);
+ }
+ else
+ {
+ XShapeCombineMask(dpy, c->buttons[i], ShapeBounding, 0, 0, buttons[i][state].mask, ShapeSet);
+ }
+ }
+
+ if(corners[CORNER_TOP_LEFT][ACTIVE].height > frameHeight(c) - frameBottom(c) + 1)
+ {
+ rect.x = 0;
+ rect.y = frameHeight(c) - frameBottom(c) + 1;
+ rect.width = corners[CORNER_TOP_LEFT][ACTIVE].width;
+ rect.height = corners[CORNER_TOP_LEFT][ACTIVE].height - (frameHeight(c) - frameBottom(c) + 1);
+ XShapeCombineRectangles(dpy, c->corners[CORNER_TOP_LEFT], ShapeBounding, 0, 0, &rect, 1, ShapeSubtract, 0);
+ }
+ if(corners[CORNER_TOP_RIGHT][ACTIVE].height > frameHeight(c) - frameBottom(c) + 1)
+ {
+ rect.x = 0;
+ rect.y = frameHeight(c) - frameBottom(c) + 1;
+ rect.width = corners[CORNER_TOP_RIGHT][ACTIVE].width;
+ rect.height = corners[CORNER_TOP_RIGHT][ACTIVE].height - (frameHeight(c) - frameBottom(c) + 1);
+ XShapeCombineRectangles(dpy, c->corners[CORNER_TOP_RIGHT], ShapeBounding, 0, 0, &rect, 1, ShapeSubtract, 0);
+ }
+ if(corners[CORNER_BOTTOM_LEFT][ACTIVE].height > frameHeight(c) - frameTop(c) + 1)
+ {
+ rect.x = 0;
+ rect.y = 0;
+ rect.width = corners[CORNER_BOTTOM_LEFT][ACTIVE].width;
+ rect.height = corners[CORNER_BOTTOM_LEFT][ACTIVE].height - (frameHeight(c) - frameTop(c) + 1);
+ XShapeCombineRectangles(dpy, c->corners[CORNER_BOTTOM_LEFT], ShapeBounding, 0, 0, &rect, 1, ShapeSubtract, 0);
+ }
+ if(corners[CORNER_BOTTOM_RIGHT][ACTIVE].height > frameHeight(c) - frameTop(c) + 1)
+ {
+ rect.x = 0;
+ rect.y = 0;
+ rect.width = corners[CORNER_BOTTOM_RIGHT][ACTIVE].width;
+ rect.height = corners[CORNER_BOTTOM_RIGHT][ACTIVE].height - (frameHeight(c) - frameTop(c) + 1);
+ XShapeCombineRectangles(dpy, c->corners[CORNER_BOTTOM_RIGHT], ShapeBounding, 0, 0, &rect, 1, ShapeSubtract, 0);
+ }
+
+ XShapeCombineShape(dpy, temp, ShapeBounding, 0, frameTop(c), c->sides[SIDE_LEFT], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, frameWidth(c) - frameRight(c), frameTop(c), c->sides[SIDE_RIGHT], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, corners[CORNER_TOP_LEFT][ACTIVE].width, 0, c->title, ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, corners[CORNER_BOTTOM_LEFT][ACTIVE].width, frameHeight(c) - frameBottom(c), c->sides[SIDE_BOTTOM], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, 0, frameHeight(c) - corners[CORNER_BOTTOM_LEFT][ACTIVE].height, c->corners[CORNER_BOTTOM_LEFT], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, frameWidth(c) - corners[CORNER_BOTTOM_RIGHT][ACTIVE].width, frameHeight(c) - corners[CORNER_BOTTOM_RIGHT][ACTIVE].height, c->corners[CORNER_BOTTOM_RIGHT], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, 0, 0, c->corners[CORNER_TOP_LEFT], ShapeBounding, ShapeUnion);
+ XShapeCombineShape(dpy, temp, ShapeBounding, frameWidth(c) - corners[CORNER_TOP_RIGHT][ACTIVE].width, 0, c->corners[CORNER_TOP_RIGHT], ShapeBounding, ShapeUnion);
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ if(strchr(button_layout, getLetterFromButton(i)))
+ {
+ XShapeCombineShape(dpy, temp, ShapeBounding, button_x[i], (frameTop(c) - buttons[i][ACTIVE].height) / 2, c->buttons[i], ShapeBounding, ShapeUnion);
+ }
+ }
+ }
+ XShapeCombineShape(dpy, c->frame, ShapeBounding, 0, 0, temp, ShapeBounding, ShapeSet);
+ XDestroyWindow(dpy, temp);
+}
+
+void frameDraw(Client * c)
+{
+ int state = ACTIVE;
+ int i;
+ int x;
+ int button;
+ int left;
+ int right;
+ int top_width;
+ int bottom_width;
+ int left_height;
+ int right_height;
+ int button_x[BUTTON_COUNT];
+ MyPixmap pm_title, pm_sides[3];
+
+ DBG("entering frameDraw\n");
+ DBG("drawing frame for \"%s\" (%#lx)\n", c->name, c->window);
+
+ if(c != clientGetFocus())
+ {
+ DBG("\"%s\" is not the active window\n", c->name);
+ state = INACTIVE;
+ }
+ if(c->has_border)
+ {
+ XMapWindow(dpy, c->title);
+ for(i = 0; i < 3; i++)
+ {
+ XMapWindow(dpy, c->sides[i]);
+ }
+ for(i = 0; i < 4; i++)
+ {
+ XMapWindow(dpy, c->corners[i]);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ if(strchr(button_layout, getLetterFromButton(i)))
+ {
+ XMapWindow(dpy, c->buttons[i]);
+ }
+ else
+ {
+ XUnmapWindow(dpy, c->buttons[i]);
+ }
+ }
+
+ x = frameLeft(c) + button_offset;
+ for(i = 0; i < strlen(button_layout); i++)
+ {
+ button = getButtonFromLetter(button_layout[i]);
+ if(button >= 0)
+ {
+ XMoveResizeWindow(dpy, c->buttons[button], x, (frameTop(c) - buttons[button][ACTIVE].height) / 2, buttons[button][ACTIVE].width, buttons[button][ACTIVE].height);
+ button_x[button] = x;
+ x = x + buttons[button][ACTIVE].width + button_spacing;
+ }
+ else
+ {
+ break;
+ }
+ }
+ left = x - button_spacing;
+
+ x = frameWidth(c) - frameRight(c) + button_spacing - button_offset;
+ for(i = strlen(button_layout) - 1; i >= 0; i--)
+ {
+ button = getButtonFromLetter(button_layout[i]);
+ if(button >= 0)
+ {
+ x = x - buttons[button][ACTIVE].width - button_spacing;
+ XMoveResizeWindow(dpy, c->buttons[button], x, (frameTop(c) - buttons[button][ACTIVE].height) / 2, buttons[button][ACTIVE].width, buttons[button][ACTIVE].height);
+ button_x[button] = x;
+ }
+ else
+ {
+ break;
+ }
+ }
+ right = x;
+
+ top_width = frameWidth(c) - corners[CORNER_TOP_LEFT][ACTIVE].width - corners[CORNER_TOP_RIGHT][ACTIVE].width;
+ bottom_width = frameWidth(c) - corners[CORNER_BOTTOM_LEFT][ACTIVE].width - corners[CORNER_BOTTOM_RIGHT][ACTIVE].width;
+ left_height = frameHeight(c) - frameTop(c) - corners[CORNER_BOTTOM_LEFT][ACTIVE].height;
+ right_height = frameHeight(c) - frameTop(c) - corners[CORNER_BOTTOM_RIGHT][ACTIVE].height;
+
+ frameCreateTitlePixmap(c, state, left, right, &pm_title);
+ scalePixmap(dpy, &sides[SIDE_LEFT][state], &pm_sides[SIDE_LEFT], frameLeft(c), left_height);
+ scalePixmap(dpy, &sides[SIDE_RIGHT][state], &pm_sides[SIDE_RIGHT], frameRight(c), right_height);
+ scalePixmap(dpy, &sides[SIDE_BOTTOM][state], &pm_sides[SIDE_BOTTOM], bottom_width, frameBottom(c));
+
+ XSetWindowBackgroundPixmap(dpy, c->title, pm_title.pixmap);
+ for(i = 0; i < 3; i++)
+ {
+ XSetWindowBackgroundPixmap(dpy, c->sides[i], pm_sides[i].pixmap);
+ }
+ for(i = 0; i < 4; i++)
+ {
+ XSetWindowBackgroundPixmap(dpy, c->corners[i], corners[i][state].pixmap);
+ }
+
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ if(c->button_pressed[i])
+ {
+ XSetWindowBackgroundPixmap(dpy, c->buttons[i], buttons[i][PRESSED].pixmap);
+ }
+ else
+ {
+ XSetWindowBackgroundPixmap(dpy, c->buttons[i], buttons[i][state].pixmap);
+ }
+ }
+
+ XMoveResizeWindow(dpy, c->title, corners[CORNER_TOP_LEFT][ACTIVE].width, 0, top_width < 1 ? 1 : top_width, frameTop(c));
+ XMoveResizeWindow(dpy, c->sides[SIDE_BOTTOM], corners[CORNER_BOTTOM_LEFT][ACTIVE].width, frameHeight(c) - frameBottom(c), bottom_width < 1 ? 1 : bottom_width, frameBottom(c));
+ XMoveResizeWindow(dpy, c->sides[SIDE_LEFT], 0, frameTop(c), frameLeft(c), left_height < 1 ? 1 : left_height);
+ XMoveResizeWindow(dpy, c->sides[SIDE_RIGHT], frameWidth(c) - frameRight(c), frameTop(c), frameRight(c), right_height < 1 ? 1 : right_height);
+
+ XMoveResizeWindow(dpy, c->corners[CORNER_TOP_LEFT], 0, 0, corners[CORNER_TOP_LEFT][ACTIVE].width, corners[CORNER_TOP_LEFT][ACTIVE].height);
+ XMoveResizeWindow(dpy, c->corners[CORNER_TOP_RIGHT], frameWidth(c) - corners[CORNER_TOP_RIGHT][ACTIVE].width, 0, corners[CORNER_TOP_RIGHT][ACTIVE].width, corners[CORNER_TOP_RIGHT][ACTIVE].height);
+ XMoveResizeWindow(dpy, c->corners[CORNER_BOTTOM_LEFT], 0, frameHeight(c) - corners[CORNER_BOTTOM_LEFT][ACTIVE].height, corners[CORNER_BOTTOM_LEFT][ACTIVE].width, corners[CORNER_BOTTOM_LEFT][ACTIVE].height);
+ XMoveResizeWindow(dpy, c->corners[CORNER_BOTTOM_RIGHT], frameWidth(c) - corners[CORNER_BOTTOM_RIGHT][ACTIVE].width, frameHeight(c) - corners[CORNER_BOTTOM_RIGHT][ACTIVE].height, corners[CORNER_BOTTOM_RIGHT][ACTIVE].width, corners[CORNER_BOTTOM_RIGHT][ACTIVE].height);
+
+ XClearWindow(dpy, c->title);
+ for(i = 0; i < 3; i++)
+ {
+ XClearWindow(dpy, c->sides[i]);
+ }
+ for(i = 0; i < 4; i++)
+ {
+ XClearWindow(dpy, c->corners[i]);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ XClearWindow(dpy, c->buttons[i]);
+ }
+ frameSetShape(c, state, &pm_title, pm_sides, button_x);
+ freePixmap(dpy, &pm_title);
+ for(i = 0; i < 3; i++)
+ {
+ freePixmap(dpy, &pm_sides[i]);
+ }
+ }
+ else
+ {
+ for(i = 0; i < 3; i++)
+ {
+ XUnmapWindow(dpy, c->sides[i]);
+ }
+ for(i = 0; i < 4; i++)
+ {
+ XUnmapWindow(dpy, c->corners[i]);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ XUnmapWindow(dpy, c->buttons[i]);
+ }
+ frameSetShape(c, 0, NULL, NULL, NULL);
+ }
+}
diff --git a/src/frame.h b/src/frame.h
new file mode 100644
index 000000000..00d9b6f36
--- /dev/null
+++ b/src/frame.h
@@ -0,0 +1,40 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __FRAME_H__
+#define __FRAME_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "client.h"
+
+inline int frameLeft(Client *);
+inline int frameRight(Client *);
+inline int frameTop(Client *);
+inline int frameBottom(Client *);
+inline int frameX(Client *);
+inline int frameY(Client *);
+inline int frameWidth(Client *);
+inline int frameHeight(Client *);
+void frameDraw(Client *);
+
+#endif /* __FRAME_H__ */
diff --git a/src/gtk_style.c b/src/gtk_style.c
new file mode 100644
index 000000000..834878add
--- /dev/null
+++ b/src/gtk_style.c
@@ -0,0 +1,238 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ sawfish - (c) 1999 John Harper
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <pango/pango-font.h>
+#include <stdio.h>
+#include <string.h>
+#include "debug.h"
+
+char *states[] = {
+ "normal", "active", "prelight", "selected", "insensitive", NULL
+};
+
+char *names[] = {
+ "fg", "bg", "text", "base", "light", "dark", "mid", NULL
+};
+
+#define GTKSTYLE_FG 0
+#define GTKSTYLE_BG 1
+#define GTKSTYLE_TEXT 2
+#define GTKSTYLE_BASE 3
+#define GTKSTYLE_LIGHT 4
+#define GTKSTYLE_DARK 5
+#define GTKSTYLE_MID 6
+
+static gint state_value (gchar *s)
+{
+ gchar *t;
+ gint u;
+
+ t = states[0];
+ u = 0;
+
+ while ((states[u]) && (strcmp (states[u], s)))
+ {
+ u++;
+ }
+ if (states[u])
+ {
+ return (u);
+ }
+ return (0);
+}
+
+static gint name_value (gchar *s)
+{
+ gchar *t;
+ gint u;
+
+ t = names[0];
+ u = 0;
+
+ while ((names[u]) && (strcmp (names[u], s)))
+ {
+ u++;
+ }
+ if (names[u])
+ {
+ return (u);
+ }
+ return (0);
+}
+
+static gchar *print_color (GdkColor *c)
+{
+ gchar *s;
+
+ s = g_new (gchar, 8);
+ g_snprintf (s, 8, "#%02x%02x%02x", c->red / 256, c->green / 256, c->blue / 256);
+ return (s);
+}
+
+static gchar *print_colors (GdkColor *x, int n)
+{
+ return (print_color (x + n));
+}
+
+static gchar *print_rc_style (gchar *name, gchar *state, GtkStyle *style)
+{
+ gchar *s;
+ gint n, m;
+ g_return_val_if_fail (state != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+
+ n = state_value (state);
+ m = name_value (name);
+
+ switch (m)
+ {
+ case GTKSTYLE_FG:
+ s = print_colors (style->fg, n);
+ break;
+ case GTKSTYLE_BG:
+ s = print_colors (style->bg, n);
+ break;
+ case GTKSTYLE_TEXT:
+ s = print_colors (style->text, n);
+ break;
+ case GTKSTYLE_BASE:
+ s = print_colors (style->base, n);
+ break;
+ case GTKSTYLE_LIGHT:
+ s = print_colors (style->light, n);
+ break;
+ case GTKSTYLE_DARK:
+ s = print_colors (style->dark, n);
+ break;
+ default:
+ case GTKSTYLE_MID:
+ s = print_colors (style->mid, n);
+ break;
+ }
+ return (s);
+}
+
+gchar *get_style (GtkWidget *win, gchar *name, gchar *state)
+{
+ GtkStyle *style = NULL;
+ gchar *s = NULL;
+
+ DBG("entering get_style\n");
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (win), NULL);
+
+ style = gtk_rc_get_style (win);
+ if (!style)
+ {
+ style = gtk_widget_get_style (win);
+ }
+ s = print_rc_style (name, state, style);
+ DBG("%s[%s]=%s\n", name, state, s);
+ return (s);
+}
+
+static GdkGC *_get_style_gc (gchar *name, gchar *state, GtkStyle *style)
+{
+ GdkGC *gc = NULL;
+ gint n, m;
+ g_return_val_if_fail (state != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+
+ n = state_value (state);
+ m = name_value (name);
+
+ switch (m)
+ {
+ case GTKSTYLE_FG:
+ gc = style->fg_gc[n];
+ break;
+ case GTKSTYLE_BG:
+ gc = style->bg_gc[n];
+ break;
+ case GTKSTYLE_TEXT:
+ gc = style->text_gc[n];
+ break;
+ case GTKSTYLE_BASE:
+ gc = style->base_gc[n];
+ break;
+ case GTKSTYLE_LIGHT:
+ gc = style->light_gc[n];
+ break;
+ case GTKSTYLE_DARK:
+ gc = style->dark_gc[n];
+ break;
+ default:
+ case GTKSTYLE_MID:
+ gc = style->mid_gc[n];
+ break;
+ }
+ return (gc);
+}
+
+GdkGC *get_style_gc (GtkWidget *win, gchar *name, gchar *state)
+{
+ GtkStyle *style = NULL;
+
+ DBG("entering get_style_gc\n");
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (win), NULL);
+
+ style = gtk_rc_get_style (win);
+ if (!style)
+ {
+ style = gtk_widget_get_style (win);
+ }
+ return (_get_style_gc(name, state, style));
+}
+
+PangoFontDescription *get_font_desc (GtkWidget *win)
+{
+ DBG("entering get_font_desc\n");
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (win), NULL);
+
+ return (win->style->font_desc);
+}
+
+PangoContext *pango_get_context (GtkWidget *win)
+{
+ DBG("entering pango_get_context\n");
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (win), NULL);
+ return (gtk_widget_get_pango_context (win));
+}
+
+GdkFont *get_style_font(GtkWidget *win)
+{
+ GtkStyle *style = NULL;
+
+ DBG("entering get_style_font\n");
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (win), NULL);
+ style = gtk_rc_get_style (win);
+ if (!style)
+ {
+ style = gtk_widget_get_style (win);
+ }
+ return (gtk_style_get_font (style));
+}
diff --git a/src/gtk_style.h b/src/gtk_style.h
new file mode 100644
index 000000000..5cdc6205a
--- /dev/null
+++ b/src/gtk_style.h
@@ -0,0 +1,38 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ sawfish - (c) 1999 John Harper
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __GTKSTYLE_H__
+#define __GTKSTYLE_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <pango/pango-font.h>
+
+gchar *get_style (GtkWidget *, gchar *, gchar *);
+GdkGC *get_style_gc (GtkWidget *, gchar *, gchar *);
+PangoFontDescription *get_font_desc (GtkWidget *);
+PangoContext *pango_get_context (GtkWidget *);
+GdkFont *get_style_font(GtkWidget *);
+
+#endif
diff --git a/src/gtktoxevent.c b/src/gtktoxevent.c
new file mode 100644
index 000000000..28ce493ec
--- /dev/null
+++ b/src/gtktoxevent.c
@@ -0,0 +1,254 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+
+#include "debug.h"
+#include "gtktoxevent.h"
+
+static GtkToXEventFilterStack *filterstack = NULL;
+static GtkWidget *gtk_win = NULL;
+static GdkWindow *event_win = NULL;
+
+static GtkToXEventFilterStatus default_event_filter(XEvent *xevent, gpointer data)
+{
+ switch (xevent->type)
+ {
+ case KeyPress:
+ DBG("Unhandled KeyPress event");
+ break;
+ case KeyRelease:
+ DBG("Unhandled KeyRelease event");
+ break;
+ case ButtonPress:
+ DBG("Unhandled ButtonPress event");
+ break;
+ case ButtonRelease:
+ DBG("Unhandled ButtonRelease event");
+ break;
+ case MotionNotify:
+ DBG("Unhandled MotionNotify event");
+ break;
+ case EnterNotify:
+ DBG("Unhandled EnterNotify event");
+ break;
+ case LeaveNotify:
+ DBG("Unhandled LeaveNotify event");
+ break;
+ case FocusIn:
+ DBG("Unhandled FocusIn event");
+ break;
+ case FocusOut:
+ DBG("Unhandled FocusOut event");
+ break;
+ case KeymapNotify:
+ DBG("Unhandled KeymapNotify event");
+ break;
+ case Expose:
+ DBG("Unhandled Expose event");
+ break;
+ case GraphicsExpose:
+ DBG("Unhandled GraphicsExpose event");
+ break;
+ case NoExpose:
+ DBG("Unhandled NoExpose event");
+ break;
+ case VisibilityNotify:
+ DBG("Unhandled VisibilityNotify event");
+ break;
+ case DestroyNotify:
+ DBG("Unhandled DestroyNotify event");
+ break;
+ case UnmapNotify:
+ DBG("Unhandled UnmapNotify event");
+ break;
+ case MapNotify:
+ DBG("Unhandled MapNotify event");
+ break;
+ case MapRequest:
+ DBG("Unhandled MapRequest event");
+ break;
+ case ReparentNotify:
+ DBG("Unhandled ReparentNotify event");
+ break;
+ case ConfigureNotify:
+ DBG("Unhandled ConfigureNotify event");
+ break;
+ case ConfigureRequest:
+ DBG("Unhandled ConfigureRequest event");
+ break;
+ case GravityNotify:
+ DBG("Unhandled GravityNotify event");
+ break;
+ case ResizeRequest:
+ DBG("Unhandled ResizeRequest event");
+ break;
+ case CirculateNotify:
+ DBG("Unhandled CirculateNotify event");
+ break;
+ case CirculateRequest:
+ DBG("Unhandled CirculateRequest event");
+ break;
+ case PropertyNotify:
+ DBG("Unhandled PropertyNotify event");
+ break;
+ case SelectionClear:
+ DBG("Unhandled SelectionClear event");
+ break;
+ case SelectionRequest:
+ DBG("Unhandled SelectionRequest event");
+ break;
+ case SelectionNotify:
+ DBG("Unhandled SelectionNotify event");
+ break;
+ case ColormapNotify:
+ DBG("Unhandled ColormapNotify event");
+ break;
+ case MappingNotify:
+ DBG("Unhandled MappingNotify event");
+ break;
+ default:
+ DBG("Unhandled Unknown event");
+ break;
+ }
+ /* This is supposed to be the default fallback event handler, so we return XEV_FILTER_STOP since we have "treated" the event */
+ return XEV_FILTER_STOP;
+}
+
+static GdkFilterReturn gdkXEventFilter(GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data)
+{
+ XEvent *xevent = (XEvent*)gdk_xevent;
+ GtkToXEventFilterStatus loop = XEV_FILTER_CONTINUE;
+ GtkToXEventFilterStack *filterelt = filterstack;
+
+ g_return_val_if_fail (filterelt != NULL, GDK_FILTER_CONTINUE);
+
+ while ((filterelt) && (loop == XEV_FILTER_CONTINUE))
+ {
+ loop = (*filterelt->filter) (xevent, filterelt->data);
+ filterelt = filterelt->next;
+ }
+ return GDK_FILTER_CONTINUE;
+}
+
+GtkToXEventFilterStack *pushEventFilter(GtkToXEventFilter filter, gpointer data)
+{
+ g_assert (filter != NULL);
+ if (filterstack)
+ {
+ GtkToXEventFilterStack *newfilterstack = (GtkToXEventFilterStack *) g_new (GtkToXEventFilterStack, 1);
+ newfilterstack->filter = filter;
+ newfilterstack->data = data;
+ newfilterstack->next = filterstack;
+ filterstack = newfilterstack;
+ }
+ else
+ {
+ filterstack = (GtkToXEventFilterStack *) g_new (GtkToXEventFilterStack, 1);
+ filterstack->filter = filter;
+ filterstack->data = data;
+ filterstack->next = NULL;
+ }
+ return (filterstack);
+}
+
+GtkToXEventFilterStack *popEventFilter(void)
+{
+ GtkToXEventFilterStack *oldfilterstack = filterstack;
+ g_return_val_if_fail (filterstack != NULL, NULL);
+ filterstack = oldfilterstack->next;
+ g_free (oldfilterstack);
+ return (filterstack);
+}
+
+GtkToXEventFilterStack *initEventFilter(long event_mask, gpointer data)
+{
+ XWindowAttributes attribs;
+
+ pushEventFilter (default_event_filter, data);
+ event_win = gdk_window_foreign_new(GDK_ROOT_WINDOW());
+#if ((GTK_MAJOR_VERSION <= 1) && (GTK_MINOR_VERSION <= 2))
+ /* This is a hack for gtk 1.2.x */
+ gdk_window_add_filter(GDK_ROOT_PARENT(), gdkXEventFilter, NULL);
+#endif
+ gdk_window_add_filter(NULL, gdkXEventFilter, NULL);
+
+ gdk_error_trap_push();
+ XGetWindowAttributes(GDK_DISPLAY(), GDK_ROOT_WINDOW(), &attribs);
+ XSelectInput(GDK_DISPLAY(), GDK_ROOT_WINDOW(), attribs.your_event_mask | event_mask);
+ gdk_flush();
+ if (gdk_error_trap_pop())
+ {
+ g_error ("Another Window Manager is already running");
+ }
+ /* Create a GTK window so that we are just like any other GTK application */
+ gtk_win = gtk_window_new (GTK_WINDOW_POPUP);
+#if ((GTK_MAJOR_VERSION <= 1) && (GTK_MINOR_VERSION <= 2))
+ gtk_widget_set_usize (gtk_win, 5, 5);
+ gtk_widget_set_uposition (gtk_win, -1000, -1000);
+#else
+ gtk_window_resize (GTK_WINDOW(gtk_win), 5, 5);
+ gtk_window_move (GTK_WINDOW(gtk_win), -1000, -1000);
+#endif
+ gtk_widget_show_now (gtk_win);
+ gdk_window_set_user_data (event_win, gtk_win);
+ gdk_flush();
+
+ return (filterstack);
+}
+
+void closeEventFilter(void)
+{
+ GtkToXEventFilterStack *filterelt = filterstack;
+ while((filterelt = popEventFilter()));
+ gdk_window_remove_filter(NULL, gdkXEventFilter, NULL);
+ gdk_window_set_user_data (event_win, NULL);
+ gtk_widget_destroy(gtk_win);
+ gdk_flush();
+}
+
+GtkWidget *getDefaultGtkWidget(void)
+{
+ return (GTK_WIDGET(gtk_win));
+}
+
+Window getDefaultXWindow(void)
+{
+ g_return_val_if_fail (gtk_win != NULL, None);
+ return (GDK_WINDOW_XWINDOW(gtk_win->window));
+}
+
+GdkWindow *getGdkEventWindow(void)
+{
+ return (event_win);
+}
+
+GdkWindow *getDefaultGdkWindow(void)
+{
+ g_return_val_if_fail (gtk_win != NULL, NULL);
+ return ((GdkWindow *) gtk_win->window);
+}
+
diff --git a/src/gtktoxevent.h b/src/gtktoxevent.h
new file mode 100644
index 000000000..f3926b69c
--- /dev/null
+++ b/src/gtktoxevent.h
@@ -0,0 +1,55 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __GTKTOXEVENT_H__
+#define __GTKTOXEVENT_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <X11/Xlib.h>
+
+typedef enum
+{
+ XEV_FILTER_STOP = TRUE,
+ XEV_FILTER_CONTINUE = FALSE
+} GtkToXEventFilterStatus;
+
+typedef GtkToXEventFilterStatus (*GtkToXEventFilter) (XEvent *xevent, gpointer data);
+
+typedef struct GtkToXEventFilterStack
+{
+ GtkToXEventFilter filter;
+ gpointer data;
+ struct GtkToXEventFilterStack *next;
+} GtkToXEventFilterStack;
+
+GtkToXEventFilterStack *pushEventFilter(GtkToXEventFilter filter, gpointer data);
+GtkToXEventFilterStack *popEventFilter(void);
+GtkToXEventFilterStack *initEventFilter(long event_mask, gpointer data);
+void closeEventFilter(void);
+GtkWidget *getDefaultGtkWidget(void);
+Window getDefaultXWindow(void);
+GdkWindow *getGdkEventWindow(void);
+GdkWindow *getDefaultGdkWindow(void);
+
+#endif /* __GTKTOXEVENT_H__ */
diff --git a/src/hints.c b/src/hints.c
new file mode 100644
index 000000000..225ae6ff4
--- /dev/null
+++ b/src/hints.c
@@ -0,0 +1,501 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ Metacity - (c) 2001 Havoc Pennington
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xmd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include "main.h"
+#include "hints.h"
+#include "debug.h"
+
+Atom wm_state;
+Atom wm_change_state;
+Atom wm_delete_window;
+Atom wm_protocols;
+Atom motif_wm_hints;
+Atom win_hints;
+Atom win_state;
+Atom win_client_list;
+Atom win_layer;
+Atom win_workspace;
+Atom win_workspace_count;
+Atom win_desktop_button_proxy;
+Atom win_supporting_wm_check;
+Atom gnome_panel_desktop_area;
+
+/* freedesktop.org protocol */
+
+Atom utf8_string;
+Atom net_wm_name;
+Atom net_close_window;
+Atom net_wm_state;
+Atom motif_wm_hints;
+Atom net_wm_state_shaded;
+Atom net_wm_state_sticky;
+Atom net_wm_state_maximized_horz;
+Atom net_wm_state_maximized_vert;
+Atom net_wm_desktop;
+Atom net_number_of_desktops;
+Atom net_current_desktop;
+Atom net_desktop_viewport;
+Atom net_desktop_geometry;
+Atom net_workarea;
+Atom net_supporting_wm_check;
+Atom net_supported;
+Atom net_wm_window_type;
+Atom net_wm_window_type_desktop;
+Atom net_wm_window_type_dock;
+Atom net_wm_window_type_toolbar;
+Atom net_wm_window_type_menu;
+Atom net_wm_window_type_dialog;
+Atom net_wm_window_type_normal;
+Atom net_wm_state_modal;
+Atom net_client_list;
+Atom net_client_list_stacking;
+Atom net_wm_state_skip_taskbar;
+Atom net_wm_state_skip_pager;
+Atom net_wm_icon_name;
+Atom net_wm_icon;
+Atom net_wm_icon_geometry;
+Atom net_wm_moveresize;
+Atom net_active_window;
+Atom net_wm_strut;
+Atom net_wm_state_hidden;
+Atom net_wm_window_type_utility;
+Atom net_wm_window_type_splashscreen;
+
+
+void initICCCMHints(Display * dpy)
+{
+ DBG("entering initICCCMHints\n");
+
+ wm_state = XInternAtom(dpy, "WM_STATE", False);
+ wm_change_state = XInternAtom(dpy, "WM_CHANGE_STATE", False);
+ wm_delete_window = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
+ wm_protocols = XInternAtom(dpy, "WM_PROTOCOLS", False);
+}
+
+unsigned long getWMState(Display * dpy, Window w)
+{
+ Atom real_type;
+ int real_format;
+ unsigned long items_read, items_left;
+ unsigned long *data = NULL, state = WithdrawnState;
+
+ DBG("entering getWmState\n");
+
+ if((XGetWindowProperty(dpy, w, wm_state, 0L, 2L, False, wm_state, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read))
+ {
+ state = *data;
+ XFree(data);
+ }
+ return (state);
+}
+
+void setWMState(Display * dpy, Window w, unsigned long state)
+{
+ CARD32 data[2];
+
+ DBG("entering setWmState\n");
+
+ data[0] = state;
+ data[1] = None;
+
+ XChangeProperty(dpy, w, wm_state, wm_state, 32, PropModeReplace, (unsigned char *)data, 2);
+}
+
+void initMotifHints(Display * dpy)
+{
+ DBG("entering initMotifHints\n");
+
+ motif_wm_hints = XInternAtom(dpy, "_MOTIF_WM_HINTS", False);
+}
+
+PropMwmHints *getMotifHints(Display * dpy, Window w)
+{
+ Atom real_type;
+ int real_format;
+ unsigned long items_read, items_left;
+ PropMwmHints *data = NULL;
+
+ DBG("entering getMotifHints\n");
+
+ if((XGetWindowProperty(dpy, w, motif_wm_hints, 0L, 20L, False, motif_wm_hints, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read))
+ {
+ return (data);
+ }
+ else
+ {
+ return (NULL);
+ }
+}
+
+void initGnomeHints(Display * dpy)
+{
+ DBG("entering initGnomeHints\n");
+
+ win_hints = XInternAtom(dpy, "_WIN_HINTS", False);
+ win_state = XInternAtom(dpy, "_WIN_STATE", False);
+ win_client_list = XInternAtom(dpy, "_WIN_CLIENT_LIST", False);
+ win_layer = XInternAtom(dpy, "_WIN_LAYER", False);
+ win_workspace = XInternAtom(dpy, "_WIN_WORKSPACE", False);
+ win_workspace_count = XInternAtom(dpy, "_WIN_WORKSPACE_COUNT", False);
+ win_desktop_button_proxy = XInternAtom(dpy, "_WIN_DESKTOP_BUTTON_PROXY", False);
+ win_supporting_wm_check = XInternAtom(dpy, "_WIN_SUPPORTING_WM_CHECK", False);
+ gnome_panel_desktop_area = XInternAtom(dpy, "GNOME_PANEL_DESKTOP_AREA", False);
+}
+
+int getGnomeHint(Display * dpy, Window w, Atom a, long *value)
+{
+ Atom real_type;
+ int real_format, success = False;
+ unsigned long items_read, items_left;
+ long *data = NULL;
+
+ DBG("entering getGnomeHint\n");
+
+ *value = 0;
+
+ if((XGetWindowProperty (dpy, w, a, 0L, 1L, False, XA_CARDINAL, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read))
+ {
+ *value = *data;
+ XFree(data);
+ success = True;
+ }
+ return (success);
+}
+
+void setGnomeHint(Display * dpy, Window w, Atom a, long value)
+{
+ DBG("entering setGnomeHint\n");
+
+ XChangeProperty(dpy, w, a, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&value, 1);
+}
+
+void getGnomeDesktopMargins(Display * dpy, CARD32 * margins)
+{
+ Atom real_type;
+ int real_format;
+ unsigned long items_read, items_left;
+ CARD32 *data = NULL;
+
+ DBG("entering getGnomeDesktopMargins\n");
+
+ if((XGetWindowProperty (dpy, XDefaultRootWindow(dpy), gnome_panel_desktop_area, 0L, 4L, False, XA_CARDINAL, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read >= 4))
+ {
+ margins[0] = data[0];
+ margins[1] = data[1];
+ margins[2] = data[2];
+ margins[3] = data[3];
+ XFree(data);
+ }
+ else
+ {
+ margins[0] = 0;
+ margins[1] = 0;
+ margins[2] = 0;
+ margins[3] = 0;
+ }
+}
+
+void initNetHints(Display * dpy)
+{
+ DBG("entering initNetHints\n");
+
+ utf8_string = XInternAtom(dpy, "UTF8_STRING", False);
+ net_wm_name = XInternAtom(dpy, "_NET_WM_NAME", False);
+ net_close_window = XInternAtom(dpy, "_NET_CLOSE_WINDOW", False);
+ net_wm_state = XInternAtom(dpy, "_NET_WM_STATE", False);
+ net_wm_state_shaded = XInternAtom(dpy, "_NET_WM_STATE_SHADED", False);
+ net_wm_state_sticky = XInternAtom(dpy, "_NET_WM_STATE_STICKY", False);
+ net_wm_state_maximized_horz = XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
+ net_wm_state_maximized_vert = XInternAtom(dpy, "_NET_WM_STATE_MAXIMIZED_VERT", False);
+ net_wm_desktop = XInternAtom(dpy, "_NET_WM_DESKTOP", False);
+ net_number_of_desktops = XInternAtom(dpy, "_NET_NUMBER_OF_DESKTOPS", False);
+ net_current_desktop = XInternAtom(dpy, "_NET_CURRENT_DESKTOP", False);
+ net_desktop_viewport = XInternAtom(dpy, "_NET_DESKTOP_VIEWPORT", False);
+ net_desktop_geometry = XInternAtom(dpy, "_NET_DESKTOP_GEOMETRY", False);
+ net_workarea = XInternAtom(dpy, "_NET_WORKAREA", False);
+ net_supporting_wm_check = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False);
+ net_supported = XInternAtom(dpy, "_NET_SUPPORTED", False);
+ net_wm_window_type = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
+ net_wm_window_type_desktop = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DESKTOP", False);
+ net_wm_window_type_dock = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False);
+ net_wm_window_type_toolbar = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_TOOLBAR", False);
+ net_wm_window_type_menu = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_MENU", False);
+ net_wm_window_type_dialog = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
+ net_wm_window_type_normal = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_NORMAL", False);
+ net_wm_state_modal = XInternAtom(dpy, "_NET_WM_STATE_MODAL", False);
+ net_client_list = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
+ net_client_list_stacking = XInternAtom(dpy, "_NET_CLIENT_LIST_STACKING", False);
+ net_wm_state_skip_taskbar = XInternAtom(dpy, "_NET_WM_STATE_SKIP_TASKBAR", False);
+ net_wm_state_skip_pager = XInternAtom(dpy, "_NET_WM_STATE_SKIP_PAGER", False);
+ net_wm_icon_name = XInternAtom(dpy, "_NET_WM_ICON_NAME", False);
+ net_wm_icon = XInternAtom(dpy, "_NET_WM_ICON", False);
+ net_wm_icon_geometry = XInternAtom(dpy, "_NET_WM_ICON_GEOMETRY", False);
+ net_wm_moveresize = XInternAtom(dpy, "_NET_WM_MOVERESIZE", False);
+ net_active_window = XInternAtom(dpy, "_NET_ACTIVE_WINDOW", False);
+ net_wm_strut = XInternAtom(dpy, "_NET_WM_STRUT", False);
+ net_wm_state_hidden = XInternAtom(dpy, "_NET_WM_STATE_HIDDEN", False);
+ net_wm_window_type_utility = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_UTILITY", False);
+ net_wm_window_type_splashscreen = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_SPLASHSCREEN", False);
+}
+
+int getNetHint(Display * dpy, Window w, Atom a, long *value)
+{
+ Atom real_type;
+ int real_format, success = False;
+ unsigned long items_read, items_left;
+ long *data = NULL;
+
+ DBG("entering getNetHint\n");
+
+ *value = 0;
+
+ if((XGetWindowProperty (dpy, w, a, 0L, 1L, False, XA_CARDINAL, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read))
+ {
+ *value = *data;
+ XFree(data);
+ success = True;
+ }
+ return (success);
+}
+
+void set_net_supported_hint (Display * dpy, Window root_win, Window check_win)
+{
+ Atom atoms[30];
+ unsigned long data[1];
+ int i = 0;
+
+ atoms[i++] = net_wm_name;
+ atoms[i++] = net_close_window;
+ atoms[i++] = net_wm_state;
+ atoms[i++] = net_wm_state_shaded;
+ atoms[i++] = net_wm_state_sticky;
+ atoms[i++] = net_wm_state_maximized_vert;
+ atoms[i++] = net_wm_state_maximized_horz;
+ atoms[i++] = net_wm_desktop;
+ atoms[i++] = net_number_of_desktops;
+ atoms[i++] = net_current_desktop;
+ atoms[i++] = net_desktop_geometry;
+ atoms[i++] = net_desktop_viewport;
+ atoms[i++] = net_workarea;
+ atoms[i++] = net_wm_window_type;
+ atoms[i++] = net_wm_window_type_desktop;
+ atoms[i++] = net_wm_window_type_dock;
+ atoms[i++] = net_wm_window_type_toolbar;
+ atoms[i++] = net_wm_window_type_menu;
+ atoms[i++] = net_wm_window_type_dialog;
+ atoms[i++] = net_wm_window_type_normal;
+ atoms[i++] = net_wm_state_modal;
+ atoms[i++] = net_client_list_stacking;
+ atoms[i++] = net_client_list;
+ atoms[i++] = net_wm_state_skip_taskbar;
+ atoms[i++] = net_wm_state_skip_pager;
+ /* Not supported (yet)
+ atoms[i++] = net_wm_strut;
+ atoms[i++] = net_wm_moveresize;
+ */
+ atoms[i++] = net_wm_state_hidden;
+ atoms[i++] = net_wm_window_type_utility;
+ atoms[i++] = net_wm_window_type_splashscreen;
+
+ XChangeProperty (dpy, check_win, net_supported, XA_ATOM, 32, PropModeReplace, (unsigned char *) atoms, i);
+ data[0] = check_win;
+ XChangeProperty (dpy, root_win, net_supporting_wm_check, XA_WINDOW, 32, PropModeReplace, (unsigned char *) data, 1);
+}
+
+static int check_type_and_format (Display *dpy, Window w, Atom a, int expected_format, Atom expected_type, int n_items, int format, Atom type)
+{
+ if ((expected_format == format) && (expected_type == type) && (n_items < 0 || n_items > 0))
+ {
+ return (True);
+ }
+ return (False);
+}
+
+int get_atom_list (Display *dpy, Window w, Atom a, Atom **atoms_p, int *n_atoms_p)
+{
+ Atom type;
+ int format;
+ unsigned long n_atoms;
+ unsigned long bytes_after;
+ Atom *atoms;
+
+ *atoms_p = NULL;
+ *n_atoms_p = 0;
+
+ if (XGetWindowProperty (dpy, w, a, 0L, 1L, False, XA_ATOM, &type, &format, &n_atoms, &bytes_after, (guchar **)&atoms) != Success || type == None)
+ {
+ return (False);
+ }
+
+ if (!check_type_and_format (dpy, w, a, 32, XA_ATOM, -1, format, type))
+ {
+ if (atoms)
+ {
+ XFree (atoms);
+ }
+ *atoms_p = NULL;
+ *n_atoms_p = 0;
+ return (False);
+ }
+
+ *atoms_p = atoms;
+ *n_atoms_p = n_atoms;
+
+ return (True);
+}
+
+void set_net_workarea (Display * dpy, Window w, CARD32 *margins)
+{
+ unsigned long data[4];
+ data[0] = margins[MARGIN_LEFT];
+ data[1] = margins[MARGIN_TOP];
+ data[2] = XDisplayWidth(dpy, screen) - (margins[MARGIN_LEFT] + margins[MARGIN_RIGHT]);
+ data[3] = XDisplayHeight(dpy, screen) - (margins[MARGIN_TOP] + margins[MARGIN_BOTTOM]);
+ XChangeProperty (dpy, w, net_workarea, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 4);
+}
+
+void init_net_desktop_params (Display * dpy, Window w, int workspace)
+{
+ unsigned long data[2];
+ data[0] = XDisplayWidth(dpy, screen);
+ data[1] = XDisplayHeight(dpy, screen);
+ XChangeProperty (dpy, w, net_desktop_geometry, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 2);
+ data[0] = 0;
+ data[1] = 0;
+ XChangeProperty (dpy, w, net_desktop_viewport, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 2);
+#if 0
+ /* TBD : See why this prevents kdesktop from working properly */
+ data[0] = workspace;
+ XChangeProperty (dpy, w, net_current_desktop, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 1);
+#endif
+}
+
+void
+set_utf8_string_hint (Display *dpy, Window w, Atom atom, const char *val)
+{
+ XChangeProperty (dpy, w, atom, utf8_string, 8, PropModeReplace, (unsigned char *) val, strlen (val) + 1);
+}
+
+void getTransientFor(Display * dpy, Window w, Window *transient_for)
+{
+ DBG("entering getTransientFor\n");
+
+ if (!XGetTransientForHint (dpy, w, transient_for))
+ {
+ *transient_for = None;
+ }
+
+ DBG("Window (%#lx) is transient for (%#lx)\n", w, *transient_for);
+}
+
+int get_utf8_string (Display *dpy, Window w, Atom xatom, char **str_p)
+{
+ Atom type;
+ int format;
+ unsigned long bytes_after;
+ unsigned char *str;
+ unsigned long n_items;
+
+ *str_p = NULL;
+
+ if ((XGetWindowProperty (dpy, w, xatom, 0, G_MAXLONG, FALSE, utf8_string, &type, &format, &n_items, &bytes_after, (unsigned char **)&str) != Success) || (type == None))
+ {
+ return False;
+ }
+
+ if (!check_type_and_format (dpy, w, xatom, 8, utf8_string, -1, format, type))
+ {
+ XFree (str);
+ return False;
+ }
+
+ if (!g_utf8_validate (str, n_items, NULL))
+ {
+ char *name;
+
+ name = XGetAtomName (dpy, xatom);
+ DBG ("Property %s on window (%lx) contained invalid UTF-8\n", name, w);
+ XFree (name);
+ XFree (str);
+
+ return False;
+ }
+
+ *str_p = str;
+
+ return True;
+}
+
+void getWindowName(Display * dpy, Window w, char **name)
+{
+ int status, num;
+ char **list;
+ char *str;
+ XTextProperty text_prop;
+
+ DBG("entering getWindowName\n");
+
+ *name = NULL;
+ if (get_utf8_string (dpy, w, net_wm_name, &str))
+ {
+ *name = strdup(str);
+ XFree (str);
+ return;
+ }
+
+ status = XGetWMName(dpy, w, &text_prop);
+ if((!status) || (!text_prop.value) || (!text_prop.nitems))
+ {
+ *name = strdup("");
+ return;
+ }
+
+ if(text_prop.encoding == XA_STRING)
+ {
+ if(text_prop.value)
+ {
+ *name = strdup(text_prop.value);
+ XFree(text_prop.value);
+ }
+ }
+ else
+ {
+ XmbTextPropertyToTextList(dpy, &text_prop, &list, &num);
+ if(num && *list)
+ {
+ XFree(text_prop.value);
+ *name = strdup(*list);
+ XFreeStringList(list);
+ }
+ }
+ return;
+}
diff --git a/src/hints.h b/src/hints.h
new file mode 100644
index 000000000..df5019c96
--- /dev/null
+++ b/src/hints.h
@@ -0,0 +1,156 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ Metacity - (c) 2001 Havoc Pennington
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __HINTS_H
+#define __HINTS_H
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xatom.h>
+
+#define MWM_HINTS_DECORATIONS (1L<<1)
+#define MWM_DECOR_ALL (1L<<0)
+#define MWM_DECOR_BORDER (1L<<1)
+#define MWM_DECOR_TITLE (1L<<3)
+#define MWM_DECOR_MAXIMIZE (1L<<6)
+
+#define WIN_STATE_STICKY (1L<<0)
+#define WIN_STATE_MAXIMIZED_VERT (1L<<2)
+#define WIN_STATE_MAXIMIZED_HORIZ (1L<<3)
+#define WIN_STATE_MAXIMIZED ((1L<<2)|(1L<<3))
+#define WIN_STATE_SHADED (1L<<5)
+
+#define WIN_HINTS_SKIP_FOCUS (1L<<0)
+#define WIN_HINTS_SKIP_TASKBAR (1L<<2)
+
+#define WIN_LAYER_DESKTOP 0
+#define WIN_LAYER_BELOW 2
+#define WIN_LAYER_NORMAL 4
+#define WIN_LAYER_ONTOP 6
+#define WIN_LAYER_DOCK 8
+#define WIN_LAYER_ABOVE_DOCK 10
+
+#define NET_WM_MOVERESIZE_SIZE_TOPLEFT 0
+#define NET_WM_MOVERESIZE_SIZE_TOP 1
+#define NET_WM_MOVERESIZE_SIZE_TOPRIGHT 2
+#define NET_WM_MOVERESIZE_SIZE_RIGHT 3
+#define NET_WM_MOVERESIZE_SIZE_BOTTOMRIGHT 4
+#define NET_WM_MOVERESIZE_SIZE_BOTTOM 5
+#define NET_WM_MOVERESIZE_SIZE_BOTTOMLEFT 6
+#define NET_WM_MOVERESIZE_SIZE_LEFT 7
+#define NET_WM_MOVERESIZE_MOVE 8
+
+#define NET_WM_STATE_REMOVE 0
+#define NET_WM_STATE_ADD 1
+#define NET_WM_STATE_TOGGLE 2
+
+typedef struct
+{
+ CARD32 flags;
+ CARD32 functions;
+ CARD32 decorations;
+ INT32 inputMode;
+ CARD32 status;
+}
+PropMwmHints;
+
+extern Atom wm_state;
+extern Atom wm_change_state;
+extern Atom wm_delete_window;
+extern Atom wm_protocols;
+extern Atom motif_wm_hints;
+extern Atom win_hints;
+extern Atom win_state;
+extern Atom win_client_list;
+extern Atom win_layer;
+extern Atom win_workspace;
+extern Atom win_workspace_count;
+extern Atom win_desktop_button_proxy;
+extern Atom win_supporting_wm_check;
+extern Atom gnome_panel_desktop_area;
+
+/* freedesktop.org protocol */
+
+extern Atom net_wm_name;
+extern Atom net_close_window;
+extern Atom net_wm_state;
+extern Atom motif_wm_hints;
+extern Atom net_wm_state_shaded;
+extern Atom net_wm_state_sticky;
+extern Atom net_wm_state_maximized_horz;
+extern Atom net_wm_state_maximized_vert;
+extern Atom net_wm_desktop;
+extern Atom net_number_of_desktops;
+extern Atom net_current_desktop;
+extern Atom net_desktop_viewport;
+extern Atom net_desktop_geometry;
+extern Atom net_workarea;
+extern Atom net_supporting_wm_check;
+extern Atom net_supported;
+extern Atom net_wm_window_type;
+extern Atom net_wm_window_type_desktop;
+extern Atom net_wm_window_type_dock;
+extern Atom net_wm_window_type_toolbar;
+extern Atom net_wm_window_type_menu;
+extern Atom net_wm_window_type_dialog;
+extern Atom net_wm_window_type_normal;
+extern Atom net_wm_state_modal;
+extern Atom net_client_list;
+extern Atom net_client_list_stacking;
+extern Atom net_wm_state_skip_taskbar;
+extern Atom net_wm_state_skip_pager;
+extern Atom net_wm_icon_name;
+extern Atom net_wm_icon;
+extern Atom net_wm_icon_geometry;
+extern Atom net_wm_moveresize;
+extern Atom net_active_window;
+extern Atom net_wm_strut;
+extern Atom net_wm_state_hidden;
+extern Atom net_wm_window_type_utility;
+extern Atom net_wm_window_type_splashscreen;
+
+
+void initICCCMHints(Display *);
+unsigned long getWMState(Display *, Window);
+void setWMState(Display *, Window, unsigned long state);
+void initMotifHints(Display *);
+PropMwmHints *getMotifHints(Display *, Window);
+void initGnomeHints(Display *);
+int getGnomeHint(Display *, Window, Atom, long *);
+void setGnomeHint(Display *, Window, Atom, long);
+void getGnomeDesktopMargins(Display *, CARD32 *);
+void initNetHints(Display * dpy);
+int getNetHint(Display *, Window, Atom, long *);
+void set_net_supported_hint (Display *, Window, Window);
+int get_atom_list (Display *, Window, Atom, Atom **, int *);
+void set_net_workarea (Display *, Window, CARD32 *);
+void init_net_desktop_params (Display *, Window, int);
+void set_utf8_string_hint (Display *, Window, Atom, const char *);
+void getTransientFor(Display * dpy, Window w, Window *transient_for);
+void getWindowName(Display * dpy, Window w, char **name);
+int get_utf8_string (Display *, Window, Atom, char **);
+void getWindowName(Display *, Window, char **);
+
+#define setNetHint setGnomeHint
+
+#endif /* __HINTS_H */
diff --git a/src/keyboard.c b/src/keyboard.c
new file mode 100644
index 000000000..3e9435841
--- /dev/null
+++ b/src/keyboard.c
@@ -0,0 +1,85 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <glib.h>
+#include "keyboard.h"
+#include "debug.h"
+
+void parseKeyString(Display * dpy, MyKey * key, char *str)
+{
+ char *k;
+
+ DBG("entering parseKeyString\n");
+ DBG("key string=%s\n", str);
+
+ key->keycode = 0;
+ key->modifier = 0;
+
+ if(!g_strcasecmp((gchar *) str, "none"))
+ return;
+
+ k = strrchr(str, '+');
+ if(k)
+ {
+ key->keycode = XKeysymToKeycode(dpy, XStringToKeysym(k + 1));
+ if(strstr(str, "Shift"))
+ key->modifier = key->modifier | ShiftMask;
+ if(strstr(str, "Control"))
+ key->modifier = key->modifier | ControlMask;
+ if(strstr(str, "Mod1"))
+ key->modifier = key->modifier | Mod1Mask;
+ if(strstr(str, "Mod2"))
+ key->modifier = key->modifier | Mod2Mask;
+ if(strstr(str, "Mod3"))
+ key->modifier = key->modifier | Mod3Mask;
+ if(strstr(str, "Mod4"))
+ key->modifier = key->modifier | Mod4Mask;
+ if(strstr(str, "Mod5"))
+ key->modifier = key->modifier | Mod5Mask;
+ }
+}
+
+void grabKey(Display * dpy, MyKey * key, Window w)
+{
+ DBG("entering grabKey\n");
+
+ if(key->keycode)
+ {
+ XGrabKey(dpy, key->keycode, key->modifier, w, False, GrabModeAsync,
+ GrabModeAsync);
+ XGrabKey(dpy, key->keycode, key->modifier | LockMask, w, False,
+ GrabModeAsync, GrabModeAsync);
+ }
+}
+
+void ungrabKeys(Display * dpy, Window w)
+{
+ DBG("entering ungrabKeys\n");
+
+ XUngrabKey(dpy, AnyKey, AnyModifier, w);
+}
diff --git a/src/keyboard.h b/src/keyboard.h
new file mode 100644
index 000000000..ad13ee0a6
--- /dev/null
+++ b/src/keyboard.h
@@ -0,0 +1,41 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __KEYBOARD_H
+#define __KEYBOARD_H
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/keysym.h>
+
+typedef struct
+{
+ KeyCode keycode;
+ int modifier;
+}
+MyKey;
+
+void parseKeyString(Display *, MyKey *, char *);
+void grabKey(Display *, MyKey *, Window);
+void ungrabKeys(Display *, Window);
+
+#endif /* __KEYBOARD_H */
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 000000000..4a5545358
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,184 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <glib.h>
+#include <X11/Xlib.h>
+#include <glib.h>
+#include "gtktoxevent.h"
+#include "main.h"
+#include "events.h"
+#include "frame.h"
+#include "settings.h"
+#include "client.h"
+#include "menu.h"
+#include "workspaces.h"
+#include "debug.h"
+
+char *progname;
+Display *dpy;
+Window root, gnome_win;
+Colormap cmap;
+int screen;
+int depth;
+CARD32 margins[4];
+int quit = False, reload = False;
+int shape, shape_event;
+Cursor resize_cursor[7], move_cursor, root_cursor;
+
+int handleXError(Display * dpy, XErrorEvent * err)
+{
+ switch (err->error_code)
+ {
+ case BadAccess:
+ if(err->resourceid == root)
+ {
+ fprintf(stderr, "%s: Another window manager is running\n",
+ progname);
+ exit(1);
+ }
+ break;
+ default:
+ DBG("X error ignored\n");
+ break;
+ }
+ return 0;
+}
+
+void cleanUp()
+{
+ int i;
+
+ DBG("entering cleanUp\n");
+
+ clientUnframeAll();
+ unloadSettings();
+ XFreeCursor(dpy, root_cursor);
+ XFreeCursor(dpy, move_cursor);
+ for(i = 0; i < 7; i++)
+ {
+ XFreeCursor(dpy, resize_cursor[i]);
+ }
+ XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
+ closeEventFilter();
+}
+
+void handleSignal(int sig)
+{
+ DBG("entering handleSignal\n");
+
+ switch (sig)
+ {
+ case SIGINT:
+ case SIGTERM:
+ quit = True;
+ break;
+ case SIGSEGV:
+ fprintf(stderr, "%s: Segmentation fault\n", progname);
+ cleanUp();
+ exit(1);
+ break;
+ case SIGHUP:
+ reload = True;
+ break;
+ }
+}
+
+void initialize(int argc, char **argv)
+{
+ struct sigaction act;
+ int dummy;
+ long ws;
+
+ DBG("entering initialize\n");
+
+ gtk_init(&argc, &argv);
+ progname = argv[0];
+
+ act.sa_handler = handleSignal;
+ act.sa_flags = 0;
+ sigaction(SIGINT, &act, NULL);
+ sigaction(SIGTERM, &act, NULL);
+ sigaction(SIGHUP, &act, NULL);
+
+ dpy = GDK_DISPLAY();
+ root = GDK_ROOT_WINDOW();
+ screen = XDefaultScreen(dpy);
+ depth = DefaultDepth(dpy, screen);
+ cmap = DefaultColormap(dpy, screen);
+
+ XSetErrorHandler(handleXError);
+ shape = XShapeQueryExtension(dpy, &shape_event, &dummy);
+
+ initICCCMHints(dpy);
+ initMotifHints(dpy);
+ initGnomeHints(dpy);
+ initNetHints(dpy);
+
+ root_cursor = XCreateFontCursor(dpy, XC_left_ptr);
+ move_cursor = XCreateFontCursor(dpy, XC_fleur);
+ resize_cursor[CORNER_TOP_LEFT] = XCreateFontCursor(dpy, XC_top_left_corner);
+ resize_cursor[CORNER_TOP_RIGHT] = XCreateFontCursor(dpy, XC_top_right_corner);
+ resize_cursor[CORNER_BOTTOM_LEFT] = XCreateFontCursor(dpy, XC_bottom_left_corner);
+ resize_cursor[CORNER_BOTTOM_RIGHT] = XCreateFontCursor(dpy, XC_bottom_right_corner);
+ resize_cursor[4 + SIDE_LEFT] = XCreateFontCursor(dpy, XC_left_side);
+ resize_cursor[4 + SIDE_RIGHT] = XCreateFontCursor(dpy, XC_right_side);
+ resize_cursor[4 + SIDE_BOTTOM] = XCreateFontCursor(dpy, XC_bottom_side);
+
+ XDefineCursor(dpy, root, root_cursor);
+
+ initEventFilter(SubstructureNotifyMask | StructureNotifyMask | SubstructureRedirectMask |
+ ButtonPressMask | ButtonReleaseMask | FocusChangeMask |
+ PropertyChangeMask, NULL);
+ pushEventFilter (xfwm4_event_filter, NULL);
+
+ gnome_win = getDefaultXWindow ();
+ setGnomeHint(dpy, root, win_supporting_wm_check, gnome_win);
+ setGnomeHint(dpy, gnome_win, win_supporting_wm_check, gnome_win);
+ setGnomeHint(dpy, root, win_desktop_button_proxy, gnome_win);
+ setGnomeHint(dpy, gnome_win, win_desktop_button_proxy, gnome_win);
+ getGnomeHint(dpy, root, win_workspace, &ws);
+ workspace = (int) ws;
+ getGnomeDesktopMargins(dpy, margins);
+ set_utf8_string_hint (dpy, gnome_win, net_wm_name, "Xfwm4");
+ set_net_supported_hint (dpy, root, gnome_win);
+ set_net_workarea (dpy, root, margins);
+ init_net_desktop_params (dpy, root, workspace);
+ initSettings();
+ loadSettings();
+ XSetInputFocus(dpy, gnome_win, RevertToNone, CurrentTime);
+ initGtkCallbacks ();
+ clientFrameAll();
+}
+
+int main(int argc, char **argv)
+{
+ initialize(argc, argv);
+ gtk_main();
+ cleanUp();
+ DBG("Window manager exits cleanly\n");
+ return 0;
+}
diff --git a/src/main.h b/src/main.h
new file mode 100644
index 000000000..a247d7719
--- /dev/null
+++ b/src/main.h
@@ -0,0 +1,71 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __MAIN_H__
+#define __MAIN_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xmd.h>
+#include <X11/cursorfont.h>
+#include <X11/extensions/shape.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <signal.h>
+#include <unistd.h>
+#include "client.h"
+#include "misc.h"
+#include "hints.h"
+#include "keyboard.h"
+#include "pixmap.h"
+#include "parserc.h"
+#include "gtktoxevent.h"
+
+/*
+ *
+ * Global variables
+ *
+ */
+
+extern char *progname;
+extern Display *dpy;
+extern Window root, gnome_win;
+extern int screen;
+extern int depth;
+extern Colormap cmap;
+extern CARD32 margins[4];
+extern int quit, reload;
+extern int shape, shape_event;
+extern Cursor resize_cursor[7], move_cursor, root_cursor;
+
+/*
+ *
+ * Function prototypes
+ *
+ */
+
+#endif /* __MAIN_H__ */
diff --git a/src/menu.c b/src/menu.c
new file mode 100644
index 000000000..32b877857
--- /dev/null
+++ b/src/menu.c
@@ -0,0 +1,359 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ Metacity - (c) 2001 Havoc Pennington
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <unistd.h>
+#include "menu.h"
+#include "gtktoxevent.h"
+#include "debug.h"
+
+static GtkWidget *menu_open = NULL;
+static MenuItem menuitems[] = {
+ { MENU_OP_MAXIMIZE, NULL, "Maximize" },
+ { MENU_OP_UNMAXIMIZE, NULL, "Unmaximize" },
+ { MENU_OP_MINIMIZE, NULL, "Minimize" },
+ { MENU_OP_UNMINIMIZE, NULL, "Unminimize" },
+ { MENU_OP_SHADE, NULL, "Shade" },
+ { MENU_OP_UNSHADE, NULL, "Unshade" },
+ { MENU_OP_STICK, NULL, "Stick" },
+ { MENU_OP_UNSTICK, NULL, "Unstick" },
+ { MENU_OP_MOVE, NULL, "Move" },
+ { MENU_OP_RESIZE, NULL, "Resize" },
+ { MENU_OP_SWITCH, NULL, "Switch" },
+ { MENU_OP_DELETE, NULL, "Close" },
+ { MENU_OP_DESTROY, NULL, "Destroy" },
+#if 0
+ { 0, NULL, NULL },
+ { MENU_OP_WORKSPACES, NULL, "Workspace" },
+ { 0, NULL, NULL },
+#endif
+ { MENU_OP_QUIT, NULL, "Quit" },
+ { MENU_OP_RESTART, NULL, "Restart" },
+};
+
+static GtkToXEventFilterStatus menu_filter(XEvent *xevent, gpointer data)
+{
+ switch (xevent->type)
+ {
+ case KeyPress:
+ case KeyRelease:
+ case ButtonPress:
+ case ButtonRelease:
+ case MotionNotify:
+ case EnterNotify:
+ case LeaveNotify:
+ return XEV_FILTER_STOP;
+ break;
+ default:
+ return XEV_FILTER_CONTINUE;
+ break;
+ }
+ return XEV_FILTER_STOP;
+}
+
+
+static void
+#if ((GTK_MAJOR_VERSION <= 1) && (GTK_MINOR_VERSION <= 2))
+popup_position_func (GtkMenu *menu,
+ gint *x,
+ gint *y,
+ gpointer user_data)
+#else
+popup_position_func (GtkMenu *menu,
+ gint *x,
+ gint *y,
+ gboolean *push_in,
+ gpointer user_data)
+#endif
+{
+ GtkRequisition req;
+ GdkPoint *pos;
+
+ pos = user_data;
+
+ gtk_widget_size_request (GTK_WIDGET (menu), &req);
+
+ if (pos->x >= 0)
+ {
+ *x = pos->x;
+ *x = CLAMP (*x, 0, MAX (0, gdk_screen_width () - req.width));
+ }
+ else
+ {
+ *x = (gdk_screen_width () - req.width) / 2;
+ }
+ if (pos->x >= 0)
+ {
+ *y = pos->y;
+ *y = CLAMP (*y, 0, MAX (0, gdk_screen_height () - req.height));
+ }
+ else
+ {
+ *y = (gdk_screen_height () - req.height) / 2;
+ }
+ g_free (user_data);
+}
+
+static void
+activate_cb (GtkWidget *menuitem, gpointer data)
+{
+ MenuData *md;
+
+ DBG("entering activate_cb\n");
+ g_return_if_fail (GTK_IS_WIDGET (menuitem));
+
+ menu_open = NULL;
+
+ md = data;
+
+ DBG("deactivating menu_filter\n");
+ popEventFilter ();
+ (* md->menu->func) (md->menu,
+ md->op,
+ md->client_xwindow,
+ md->menu->data,
+ md->data);
+}
+
+static void
+menu_closed (GtkMenu *widget,
+ gpointer data)
+{
+ Menu *menu;
+
+ DBG("entering menu_closed\n");
+
+ menu = data;
+
+ menu_open = NULL;
+
+ DBG("deactivating menu_filter\n");
+ popEventFilter ();
+ (* menu->func) (menu,
+ 0,
+ None,
+ menu->data,
+ NULL);
+}
+
+Menu*
+menu_default (MenuOp ops,
+ MenuOp insensitive,
+ MenuFunc func,
+ gpointer data)
+{
+ int i;
+ Menu *menu;
+
+ DBG("entering menu_new\n");
+ menu = g_new (Menu, 1);
+ menu->func = func;
+ menu->data = data;
+ menu->ops = ops;
+ menu->insensitive = insensitive;
+ menu->menu = gtk_menu_new ();
+
+ i = 0;
+ while (i < (int) (sizeof (menuitems) / sizeof (MenuItem)))
+ {
+ if (ops & menuitems[i].op || menuitems[i].op == 0)
+ {
+ GtkWidget *mi;
+ MenuData *md;
+
+ if (menuitems[i].op == 0)
+ {
+#if ((GTK_MAJOR_VERSION <= 1) && (GTK_MINOR_VERSION <= 2))
+ mi = gtk_menu_item_new ();
+#else
+ mi = gtk_separator_menu_item_new ();
+#endif
+ }
+ else
+ {
+#if ((GTK_MAJOR_VERSION <= 1) && (GTK_MINOR_VERSION <= 2))
+ mi = gtk_menu_item_new_with_label (menuitems[i].label);
+#else
+ mi = gtk_menu_item_new_with_mnemonic (menuitems[i].label);
+#endif
+
+ if (insensitive & menuitems[i].op)
+ gtk_widget_set_sensitive (mi, FALSE);
+
+ md = g_new (MenuData, 1);
+
+ md->menu = menu;
+ md->op = menuitems[i].op;
+ md->client_xwindow = None;
+ md->data = NULL;
+ menu_item_connect (mi, md);
+ }
+
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu->menu), mi);
+
+ gtk_widget_show (mi);
+ }
+ ++i;
+ }
+ menu_connect (menu);
+
+ return (menu);
+}
+
+Menu*
+menu_connect (Menu *menu)
+{
+ DBG("entering menu_connect\n");
+ g_return_val_if_fail (menu != NULL, NULL);
+ g_return_val_if_fail (GTK_IS_MENU (menu->menu), NULL);
+
+ gtk_signal_connect (GTK_OBJECT (menu->menu), "selection_done", GTK_SIGNAL_FUNC (menu_closed), menu);
+
+ return (menu);
+}
+
+GtkWidget* menu_item_connect (GtkWidget *item, MenuData *item_data)
+{
+ DBG("entering menu_item_connect\n");
+ g_return_val_if_fail (item != NULL, NULL);
+ g_return_val_if_fail (GTK_IS_MENU_ITEM (item), NULL);
+ gtk_signal_connect_full (GTK_OBJECT (item), "activate", GTK_SIGNAL_FUNC (activate_cb), NULL, item_data, g_free, FALSE, FALSE);
+ return (item);
+}
+
+gboolean
+menu_is_opened (void)
+{
+ DBG("entering menu_is_opened\n");
+ return (menu_open != NULL);
+}
+
+gboolean
+menu_check_and_close (void)
+{
+ DBG("entering menu_check_or_close\n");
+ if (menu_open)
+ {
+ DBG("menu open, emitting deactivate signal\n");
+ gtk_signal_emit_by_name (GTK_OBJECT (menu_open), "deactivate");
+ menu_open = NULL;
+ return (TRUE);
+ }
+ return (FALSE);
+}
+
+static gboolean
+grab_available (guint32 timestamp)
+{
+ GdkEventMask mask = GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+ GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
+ GDK_POINTER_MOTION_MASK;
+ GdkGrabStatus g1;
+ GdkGrabStatus g2;
+ gboolean grab_failed;
+ gint i = 0;
+
+ DBG("entering grab_available\n");
+
+ g1 = gdk_pointer_grab (getGdkEventWindow (), TRUE, mask, NULL, NULL, timestamp);
+ g2 = gdk_keyboard_grab (getGdkEventWindow (), TRUE, timestamp);
+
+ while ((i++ < 100) && (grab_failed = ((g1 != GDK_GRAB_SUCCESS) || (g2 != GDK_GRAB_SUCCESS))))
+ {
+ DBG("grab not available yet, waiting... (%i)\n", i);
+ usleep (100);
+ if (g1 != GDK_GRAB_SUCCESS)
+ {
+ g1 = gdk_pointer_grab (getGdkEventWindow (), TRUE, mask, NULL, NULL, timestamp);
+ }
+ if (g2 != GDK_GRAB_SUCCESS)
+ {
+ g2 = gdk_keyboard_grab (getGdkEventWindow (), TRUE, timestamp);
+ }
+ }
+
+ if (g1 == GDK_GRAB_SUCCESS)
+ {
+ gdk_pointer_ungrab (timestamp);
+ }
+ if (g2 == GDK_GRAB_SUCCESS)
+ {
+ gdk_keyboard_ungrab (timestamp);
+ }
+
+ return (!grab_failed);
+}
+
+void
+menu_popup (Menu *menu,
+ int root_x,
+ int root_y,
+ int button,
+ guint32 timestamp)
+{
+ GdkPoint *pt;
+ DBG("entering menu_popup\n");
+
+ g_return_if_fail (menu != NULL);
+ g_return_if_fail (GTK_IS_MENU (menu->menu));
+ pt = g_new (GdkPoint, 1);
+ pt->x = root_x;
+ pt->y = root_y;
+
+ if (!menu_check_and_close())
+ {
+ if (!grab_available(timestamp))
+ {
+ g_free (pt);
+ DBG("Cannot get grab on pointer/keyboard, cancel.\n");
+ return;
+ }
+ DBG("opening new menu\n");
+ menu_open = menu->menu;
+ pushEventFilter (menu_filter, NULL);
+ gtk_menu_popup (GTK_MENU(menu->menu),
+ NULL, NULL,
+ popup_position_func, pt,
+ button,
+ timestamp);
+ if (!GTK_MENU_SHELL (GTK_MENU(menu->menu))->have_xgrab)
+ {
+ gdk_beep ();
+ g_message ("GtkMenu failed to grab the pointer\n");
+ }
+ }
+}
+
+void
+menu_free (Menu *menu)
+{
+ DBG("entering menu_free\n");
+ g_return_if_fail (menu != NULL);
+ g_return_if_fail (GTK_IS_MENU (menu->menu));
+ gtk_widget_destroy (menu->menu);
+ g_free (menu);
+}
+
diff --git a/src/menu.h b/src/menu.h
new file mode 100644
index 000000000..a2a935984
--- /dev/null
+++ b/src/menu.h
@@ -0,0 +1,96 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ Metacity - (c) 2001 Havoc Pennington
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __MENU_H__
+#define __MENU_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <X11/Xlib.h>
+
+typedef enum
+{
+ MENU_OP_MAXIMIZE = 1 << 0,
+ MENU_OP_UNMAXIMIZE = 1 << 1,
+ MENU_OP_MINIMIZE = 1 << 2,
+ MENU_OP_UNMINIMIZE = 1 << 3,
+ MENU_OP_SHADE = 1 << 4,
+ MENU_OP_UNSHADE = 1 << 5,
+ MENU_OP_STICK = 1 << 6,
+ MENU_OP_UNSTICK = 1 << 7,
+ MENU_OP_MOVE = 1 << 8,
+ MENU_OP_RESIZE = 1 << 9,
+ MENU_OP_DELETE = 1 << 10,
+ MENU_OP_DESTROY = 1 << 11,
+ MENU_OP_WORKSPACES = 1 << 12,
+ MENU_OP_QUIT = 1 << 13,
+ MENU_OP_RESTART = 1 << 14,
+ MENU_OP_SWITCH = 1 << 15,
+ MENU_OP_OTHER = 1 << 16
+} MenuOp;
+
+typedef struct _Menu Menu;
+typedef struct _MenuItem MenuItem;
+typedef struct _MenuData MenuData;
+
+typedef void (* MenuFunc) (Menu *menu,
+ MenuOp op,
+ Window client_xwindow,
+ gpointer menu_data,
+ gpointer item_data);
+
+struct _MenuItem
+{
+ MenuOp op;
+ const char *stock_id;
+ const char *label;
+};
+
+struct _MenuData
+{
+ Menu *menu;
+ MenuOp op;
+ Window client_xwindow;
+ gpointer data;
+};
+
+struct _Menu
+{
+ GtkWidget *menu;
+ MenuFunc func;
+ gpointer data;
+ MenuOp ops;
+ MenuOp insensitive;
+};
+
+Menu* menu_default (MenuOp ops, MenuOp insensitive, MenuFunc func, gpointer data);
+Menu* menu_connect (Menu *menu);
+GtkWidget* menu_item_connect (GtkWidget *item, MenuData *item_data);
+gboolean menu_is_window (Window);
+gboolean menu_is_opened (void);
+gboolean menu_check_and_close (void);
+void menu_popup (Menu *menu, int root_x, int root_y, int button, guint32 timestamp);
+void menu_free (Menu *menu);
+
+#endif /* __MENU_H__ */
diff --git a/src/misc.c b/src/misc.c
new file mode 100644
index 000000000..04e86b75d
--- /dev/null
+++ b/src/misc.c
@@ -0,0 +1,132 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "main.h"
+#include "client.h"
+#include "misc.h"
+#include "debug.h"
+
+static gint xgrabcount = 0;
+
+void getMouseXY(Display * dpy, Window w, int *x2, int *y2)
+{
+ Window w1, w2;
+ gint x1, y1, m;
+
+ DBG("entering getMouseXY\n");
+
+ XQueryPointer(dpy, w, &w1, &w2, &x1, &y1, x2, y2, &m);
+}
+
+Window getMouseWindow(Display * dpy, Window w)
+{
+ Window w1, w2;
+ int x1, y1, x2, y2, m;
+
+ DBG("entering getMouseWindow\n");
+
+ XQueryPointer(dpy, w, &w1, &w2, &x1, &y1, &x2, &y2, &m);
+ return w2;
+}
+
+GC createGC(Display * dpy, Colormap cmap, char *col, int func, XFontStruct * font, int inc_sw)
+{
+ XGCValues gv;
+ XColor xc1, xc2;
+ GC gc;
+ int mask;
+
+ DBG("entering createGC\n");
+ DBG("color=%s\n", col);
+
+ mask = GCForeground | GCFunction;
+ XAllocNamedColor(dpy, cmap, col, &xc1, &xc2);
+ gv.foreground = xc2.pixel;
+ gv.function = func;
+ if(font)
+ {
+ gv.font = font->fid;
+ mask = mask | GCFont;
+ }
+ if(inc_sw)
+ {
+ gv.subwindow_mode = IncludeInferiors;
+ mask = mask | GCSubwindowMode;
+ }
+ gc = XCreateGC(dpy, XDefaultRootWindow(dpy), mask, &gv);
+ return gc;
+}
+
+void sendClientMessage(Display * dpy, Window w, Atom a, long x, int mask)
+{
+ XEvent ev;
+
+ DBG("entering sendClientMessage\n");
+
+ ev.type = ClientMessage;
+ ev.xclient.window = w;
+ ev.xclient.message_type = a;
+ ev.xclient.format = 32;
+ ev.xclient.data.l[0] = x;
+ ev.xclient.data.l[1] = CurrentTime;
+ XSendEvent(dpy, w, False, mask, &ev);
+ XSync(dpy, False);
+}
+
+void
+MyXGrabServer (Display *dpy)
+{
+ DBG("entering MyXGrabServer\n");
+ if (xgrabcount == 0)
+ {
+ DBG("grabbing server\n");
+ XSync (dpy, 0);
+ XGrabServer (dpy);
+ }
+ xgrabcount++;
+ DBG("grabs : %i\n", xgrabcount);
+}
+
+void
+MyXUngrabServer (Display *dpy)
+{
+ DBG("entering MyXUngrabServer\n");
+ if (--xgrabcount < 0) /* should never happen */
+ {
+ xgrabcount = 0;
+ }
+ if (xgrabcount == 0)
+ {
+ DBG("ungrabbing server\n");
+ XUngrabServer (dpy);
+ XFlush (dpy);
+ }
+ DBG("grabs : %i\n", xgrabcount);
+}
diff --git a/src/misc.h b/src/misc.h
new file mode 100644
index 000000000..baf4c0398
--- /dev/null
+++ b/src/misc.h
@@ -0,0 +1,38 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __MISC_H__
+#define __MISC_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include "debug.h"
+
+void getMouseXY(Display *, Window, int *, int *);
+Window getMouseWindow(Display *, Window);
+GC createGC(Display *, Colormap, char *, int, XFontStruct *, int);
+void sendClientMessage(Display *, Window, Atom, long, int);
+void MyXGrabServer (Display *);
+void MyXUngrabServer (Display *);
+
+#endif /* __MISC_H__ */
diff --git a/src/parserc.c b/src/parserc.c
new file mode 100644
index 000000000..d9ba81904
--- /dev/null
+++ b/src/parserc.c
@@ -0,0 +1,125 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include "parserc.h"
+#include "settings.h"
+#include "debug.h"
+
+gboolean parseRc(gchar *file, gchar *dir, Settings rc[])
+{
+ gchar filename[512], buf[512], *lvalue, *rvalue;
+ FILE *fp;
+ gint i;
+
+ DBG("entering parseRc\n");
+
+ if(dir)
+ {
+ g_snprintf(filename, sizeof(filename), "%s/%s", dir, file);
+ }
+ else
+ {
+ strncpy(filename, file, sizeof(filename));
+ }
+ fp = fopen(filename, "r");
+ if(!fp)
+ {
+ return FALSE;
+ }
+ while(fgets(buf, sizeof(buf), fp))
+ {
+ lvalue = strtok(buf, "=");
+ if(lvalue)
+ {
+ for(i = 0; rc[i].option; i++)
+ {
+ if(!g_strcasecmp(lvalue, rc[i].option))
+ {
+ rvalue = strtok(NULL, "\n");
+ if(rvalue)
+ {
+ if(rc[i].value)
+ {
+ g_free(rc[i].value);
+ }
+ rc[i].value = g_strdup(rvalue);
+ DBG("%s=%s\n", rc[i].option, rc[i].value);
+ }
+ }
+ }
+ }
+ }
+ fclose(fp);
+ return TRUE;
+}
+
+gboolean checkRc(Settings rc[])
+{
+ gint i;
+ gboolean rval = True;
+
+ DBG("entering checkRc\n");
+
+ for(i = 0; rc[i].option; i++)
+ {
+ if(rc[i].required && !rc[i].value)
+ {
+ fprintf(stderr, "missing value for option %s\n", rc[i].option);
+ rval = FALSE;
+ }
+ }
+ return rval;
+}
+
+gchar *getValue(gchar *option, Settings rc[])
+{
+ gint i;
+
+ DBG("entering getValue\n");
+
+ for(i = 0; rc[i].option; i++)
+ {
+ if(!g_strcasecmp(option, rc[i].option))
+ {
+ break;
+ }
+ }
+ return rc[i].value;
+}
+
+void freeRc(Settings rc[])
+{
+ gint i;
+
+ DBG("entering freeRc\n");
+
+ for(i = 0; rc[i].option; i++)
+ {
+ g_free(rc[i].value);
+ }
+}
diff --git a/src/parserc.h b/src/parserc.h
new file mode 100644
index 000000000..1518c03fc
--- /dev/null
+++ b/src/parserc.h
@@ -0,0 +1,45 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __PARSERC_H__
+#define __PARSERC_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include "settings.h"
+
+typedef struct _Settings Settings;
+
+struct _Settings
+{
+ gchar *option;
+ gchar *value;
+ gboolean required;
+};
+
+gboolean parseRc(gchar *, gchar *, Settings rc[]);
+gboolean checkRc(Settings rc[]);
+gchar *getValue(gchar *, Settings rc[]);
+void freeRc(Settings rc[]);
+
+#endif /* __PARSERC_H__ */
diff --git a/src/pixmap.c b/src/pixmap.c
new file mode 100644
index 000000000..41ca9be3c
--- /dev/null
+++ b/src/pixmap.c
@@ -0,0 +1,108 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <malloc.h>
+#include "pixmap.h"
+#include "debug.h"
+
+gboolean loadPixmap(Display * dpy, MyPixmap * pm, gchar *dir, gchar *file,
+ XpmColorSymbol * cs, gint n)
+{
+ gchar filename[512];
+ XpmAttributes attr;
+
+ DBG("entering loadPixmap\n");
+
+ pm->pixmap = None;
+ pm->mask = None;
+ pm->width = 1;
+ pm->height = 1;
+ g_snprintf(filename, sizeof(filename), "%s/%s", dir, file);
+ attr.colorsymbols = cs;
+ attr.numsymbols = n;
+ attr.valuemask = XpmSize;
+ if(n > 0 && cs)
+ attr.valuemask = attr.valuemask | XpmColorSymbols;
+ if(XpmReadFileToPixmap
+ (dpy, XDefaultRootWindow(dpy), filename, &pm->pixmap, &pm->mask, &attr))
+ return FALSE;
+ pm->width = attr.width;
+ pm->height = attr.height;
+ XpmFreeAttributes(&attr);
+ return TRUE;
+}
+
+void freePixmap(Display * dpy, MyPixmap * pm)
+{
+ DBG("entering freePixmap\n");
+
+ if(pm->pixmap != None)
+ XFreePixmap(dpy, pm->pixmap);
+ if(pm->mask != None)
+ XFreePixmap(dpy, pm->mask);
+}
+
+void scalePixmap(Display * dpy, MyPixmap * src, MyPixmap * dst, gint width, gint height)
+{
+ XpmImage xi_src, xi_dst;
+ gint x, y, sx, sy, *src_data, *dst_data;
+
+ DBG("entering scalePixmap\n");
+
+ if(width < 1)
+ width = 1;
+ if(height < 1)
+ height = 1;
+
+ XpmCreateXpmImageFromPixmap(dpy, src->pixmap, src->mask, &xi_src, NULL);
+ dst->width = width;
+ dst->height = height;
+ xi_dst.width = width;
+ xi_dst.height = height;
+ xi_dst.cpp = xi_src.cpp;
+ xi_dst.ncolors = xi_src.ncolors;
+ xi_dst.colorTable = xi_src.colorTable;
+ xi_dst.data = malloc(sizeof(int) * (xi_dst.width * xi_dst.height));
+ dst_data = xi_dst.data;
+ src_data = xi_src.data;
+ for(y = 0; y < xi_dst.height; y++)
+ {
+ dst_data = xi_dst.data + (y * xi_dst.width);
+ for(x = 0; x < xi_dst.width; x++)
+ {
+ sx = (x * xi_src.width) / xi_dst.width;
+ sy = (y * xi_src.height) / xi_dst.height;
+ *dst_data = *(src_data + sx + (sy * xi_src.width));
+ dst_data++;
+ }
+ }
+ XpmCreatePixmapFromXpmImage(dpy, DefaultRootWindow(dpy), &xi_dst,
+ &dst->pixmap, &dst->mask, NULL);
+ free(xi_dst.data);
+ XpmFreeXpmImage(&xi_src);
+}
diff --git a/src/pixmap.h b/src/pixmap.h
new file mode 100644
index 000000000..62374b93a
--- /dev/null
+++ b/src/pixmap.h
@@ -0,0 +1,42 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __PIXMAP_H__
+#define __PIXMAP_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <X11/xpm.h>
+#include <glib.h>
+
+typedef struct
+{
+ Pixmap pixmap, mask;
+ gint width, height;
+}
+MyPixmap;
+
+gboolean loadPixmap(Display *, MyPixmap *, gchar *, gchar *, XpmColorSymbol *, gint);
+void freePixmap(Display *, MyPixmap *);
+void scalePixmap(Display *, MyPixmap *, MyPixmap *, gint width, gint height);
+
+#endif /* __PIXMAP_H__ */
diff --git a/src/settings.c b/src/settings.c
new file mode 100644
index 000000000..fbb8536d0
--- /dev/null
+++ b/src/settings.c
@@ -0,0 +1,514 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <pango/pango.h>
+#include <gtk/gtk.h>
+#include "main.h"
+#include "parserc.h"
+#include "client.h"
+#include "gtk_style.h"
+#include "gtktoxevent.h"
+#include "workspaces.h"
+#include "debug.h"
+
+MyKey keys[KEY_COUNT];
+MyColor title_colors[2];
+char button_layout[8];
+int title_alignment;
+int full_width_title;
+int button_spacing;
+int button_offset;
+int title_vertical_offset;
+int double_click_action;
+int box_move;
+int box_resize;
+int click_to_focus;
+int focus_new;
+int raise_on_focus;
+int raise_delay;
+int window_placement;
+int snap_to_border;
+int snap_width;
+GC box_gc;
+MyPixmap sides[3][2];
+MyPixmap corners[4][2];
+MyPixmap buttons[BUTTON_COUNT][3];
+MyPixmap title[5][2];
+
+static void freeColSymbol (XpmColorSymbol colsym[], guint size)
+{
+ guint i;
+ for (i = 0; i < size; i++)
+ {
+ if (colsym[i].value)
+ {
+ g_free (colsym[i].value);
+ }
+ }
+}
+
+void loadSettings()
+{
+ Settings rc[] = {
+ {"active_text_color", NULL, FALSE},
+ {"inactive_text_color", NULL, FALSE},
+ {"active_border_color", NULL, FALSE},
+ {"inactive_border_color", NULL, FALSE},
+ {"active_color_1", NULL, FALSE},
+ {"active_shadow_1", NULL, FALSE},
+ {"inactive_shadow_1", NULL, FALSE},
+ {"active_hilight_1", NULL, FALSE},
+ {"inactive_hilight_1", NULL, FALSE},
+ {"active_color_2", NULL, FALSE},
+ {"inactive_color_2", NULL, FALSE},
+ {"active_shadow_2", NULL, FALSE},
+ {"inactive_shadow_2", NULL, FALSE},
+ {"active_hilight_2", NULL, FALSE},
+ {"inactive_hilight_2", NULL, FALSE},
+ {"theme", NULL, TRUE },
+ {"title_alignment", NULL, TRUE },
+ {"full_width_title", NULL, TRUE },
+ {"button_layout", NULL, TRUE },
+ {"button_spacing", NULL, TRUE },
+ {"title_vertical_offset", NULL, TRUE },
+ {"button_offset", NULL, TRUE },
+ {"double_click_action", NULL, TRUE },
+ {"box_move", NULL, TRUE },
+ {"box_resize", NULL, TRUE },
+ {"click_to_focus", NULL, TRUE },
+ {"focus_new", NULL, TRUE },
+ {"raise_on_focus", NULL, TRUE },
+ {"raise_delay", NULL, TRUE },
+ {"window_placement", NULL, TRUE },
+ {"snap_to_border", NULL, TRUE },
+ {"snap_width", NULL, TRUE },
+ {"workspace_count", NULL, TRUE },
+ {"wrap_workspaces", NULL, TRUE },
+ {"close_window_key", NULL, TRUE },
+ {"hide_window_key", NULL, TRUE },
+ {"maximize_window_key", NULL, TRUE },
+ {"maximize_vert_key", NULL, TRUE },
+ {"maximize_horiz_key", NULL, TRUE },
+ {"shade_window_key", NULL, TRUE },
+ {"lower_window_layer_key", NULL, TRUE },
+ {"raise_window_layer_key", NULL, TRUE },
+ {"cycle_windows_key", NULL, TRUE },
+ {"move_window_up_key", NULL, TRUE },
+ {"move_window_down_key", NULL, TRUE },
+ {"move_window_left_key", NULL, TRUE },
+ {"move_window_right_key", NULL, TRUE },
+ {"resize_window_up_key", NULL, TRUE },
+ {"resize_window_down_key", NULL, TRUE },
+ {"resize_window_left_key", NULL, TRUE },
+ {"resize_window_right_key", NULL, TRUE },
+ {"next_workspace_key", NULL, TRUE },
+ {"prev_workspace_key", NULL, TRUE },
+ {"add_workspace_key", NULL, TRUE },
+ {"del_workspace_key", NULL, TRUE },
+ {"stick_window_key", NULL, TRUE },
+ {"workspace_1_key", NULL, TRUE },
+ {"workspace_2_key", NULL, TRUE },
+ {"workspace_3_key", NULL, TRUE },
+ {"workspace_4_key", NULL, TRUE },
+ {"workspace_5_key", NULL, TRUE },
+ {"workspace_6_key", NULL, TRUE },
+ {"workspace_7_key", NULL, TRUE },
+ {"workspace_8_key", NULL, TRUE },
+ {"workspace_9_key", NULL, TRUE },
+ {"move_window_next_workspace_key", NULL, TRUE },
+ {"move_window_prev_workspace_key", NULL, TRUE },
+ {"move_window_workspace_1_key", NULL, TRUE },
+ {"move_window_workspace_2_key", NULL, TRUE },
+ {"move_window_workspace_3_key", NULL, TRUE },
+ {"move_window_workspace_4_key", NULL, TRUE },
+ {"move_window_workspace_5_key", NULL, TRUE },
+ {"move_window_workspace_6_key", NULL, TRUE },
+ {"move_window_workspace_7_key", NULL, TRUE },
+ {"move_window_workspace_8_key", NULL, TRUE },
+ {"move_window_workspace_9_key", NULL, TRUE },
+ {NULL, NULL, FALSE}
+ };
+ char *theme;
+ XpmColorSymbol colsym[16];
+ GtkWidget *widget;
+
+ DBG("entering settingsLoad\n");
+
+ if(!parseRc("defaults", DATADIR, rc))
+ {
+ fprintf(stderr, "%s: Missing defaults file\n", progname);
+ exit(1);
+ }
+ if(!checkRc(rc))
+ {
+ fprintf(stderr, "%s: Missing values in defaults file\n", progname);
+ exit(1);
+ }
+
+ parseRc(".xfwm4rc", getenv("HOME"), rc);
+
+ widget = getDefaultGtkWidget ();
+ colsym[0].name = "active_text_color";
+ colsym[0].value = get_style (widget, "text", "selected");
+
+ colsym[1].name = "inactive_text_color";
+ colsym[1].value = get_style (widget, "text", "normal");
+
+ colsym[2].name = "active_border_color";
+ colsym[2].value = get_style (widget, "fg", "active");
+
+ colsym[3].name = "inactive_border_color";
+ colsym[3].value = get_style (widget, "fg", "normal");
+
+ colsym[4].name = "active_color_1";
+ colsym[4].value = get_style (widget, "bg", "selected");
+
+ colsym[5].name = "inactive_color_1";
+ colsym[5].value = get_style (widget, "bg", "normal");
+
+ colsym[6].name = "active_shadow_1";
+ colsym[6].value = get_style (widget, "dark", "selected");
+
+ colsym[7].name = "inactive_shadow_1";
+ colsym[7].value = get_style (widget, "dark", "normal");
+
+ colsym[8].name = "active_hilight_1";
+ colsym[8].value = get_style (widget, "light", "selected");
+
+ colsym[9].name = "inactive_hilight_1";
+ colsym[9].value = get_style (widget, "light", "normal");
+
+ colsym[10].name = "active_color_2";
+ colsym[10].value = get_style (widget, "bg", "active");
+
+ colsym[11].name = "inactive_color_2";
+ colsym[11].value = get_style (widget, "bg", "active");
+
+ colsym[12].name = "active_shadow_2";
+ colsym[12].value = get_style (widget, "dark", "active");
+
+ colsym[13].name = "inactive_shadow_2";
+ colsym[13].value = get_style (widget, "dark", "active");
+
+ colsym[14].name = "active_hilight_2";
+ colsym[14].value = get_style (widget, "light", "active");
+
+ colsym[15].name = "inactive_hilight_2";
+ colsym[15].value = get_style (widget, "light", "active");
+
+ rc[0].value = get_style (widget, "text", "selected");
+ rc[1].value = get_style (widget, "text", "normal");
+
+ theme = getValue("theme", rc);
+ parseRc("themerc", theme, rc);
+
+ if (title_colors[ACTIVE].allocated)
+ {
+ gdk_colormap_free_colors (gdk_colormap_get_system(),&title_colors[ACTIVE].col, 1);
+ title_colors[ACTIVE].allocated = FALSE;
+ }
+ if (gdk_color_parse (rc[0].value, &title_colors[ACTIVE].col))
+ {
+ if (gdk_colormap_alloc_color (gdk_colormap_get_system(), &title_colors[ACTIVE].col, FALSE, FALSE))
+ {
+ title_colors[ACTIVE].allocated = TRUE;
+ if (title_colors[ACTIVE].gc)
+ {
+ g_object_unref (G_OBJECT (title_colors[ACTIVE].gc));
+ }
+ title_colors[ACTIVE].gc = gdk_gc_new (getDefaultGdkWindow());
+ gdk_gc_copy (title_colors[ACTIVE].gc, get_style_gc (widget, "text", "selected"));
+ gdk_gc_set_foreground(title_colors[ACTIVE].gc, &title_colors[ACTIVE].col);
+ }
+ else
+ {
+ gdk_beep ();
+ g_message ("Cannot allocate active color %s\n", rc[0].value);
+ }
+ }
+ else
+ {
+ gdk_beep ();
+ g_message ("Cannot parse active color %s\n", rc[0].value);
+ }
+
+ if (title_colors[INACTIVE].allocated)
+ {
+ gdk_colormap_free_colors (gdk_colormap_get_system(),&title_colors[INACTIVE].col, 1);
+ title_colors[INACTIVE].allocated = FALSE;
+ }
+ if (gdk_color_parse (rc[1].value, &title_colors[INACTIVE].col))
+ {
+ if (gdk_colormap_alloc_color (gdk_colormap_get_system(), &title_colors[INACTIVE].col, FALSE, FALSE))
+ {
+ title_colors[INACTIVE].allocated = TRUE;
+ if (title_colors[INACTIVE].gc)
+ {
+ g_object_unref (G_OBJECT (title_colors[INACTIVE].gc));
+ }
+ title_colors[INACTIVE].gc = gdk_gc_new (getDefaultGdkWindow());
+ gdk_gc_copy (title_colors[INACTIVE].gc, get_style_gc (widget, "text", "normal"));
+ gdk_gc_set_foreground(title_colors[INACTIVE].gc, &title_colors[INACTIVE].col);
+ }
+ else
+ {
+ gdk_beep ();
+ g_message ("Cannot allocate inactive color %s\n", rc[1].value);
+ }
+ }
+ else
+ {
+ gdk_beep ();
+ g_message ("Cannot parse inactive color %s\n", rc[1].value);
+ }
+
+ loadPixmap(dpy, &sides[SIDE_LEFT][ACTIVE], theme, "left-active.xpm", colsym, 16);
+ loadPixmap(dpy, &sides[SIDE_LEFT][INACTIVE], theme, "left-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &sides[SIDE_RIGHT][ACTIVE], theme, "right-active.xpm", colsym, 16);
+ loadPixmap(dpy, &sides[SIDE_RIGHT][INACTIVE], theme, "right-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &sides[SIDE_BOTTOM][ACTIVE], theme, "bottom-active.xpm", colsym, 16);
+ loadPixmap(dpy, &sides[SIDE_BOTTOM][INACTIVE], theme, "bottom-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_TOP_LEFT][ACTIVE], theme, "top-left-active.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_TOP_LEFT][INACTIVE], theme, "top-left-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_TOP_RIGHT][ACTIVE], theme, "top-right-active.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_TOP_RIGHT][INACTIVE], theme, "top-right-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_BOTTOM_LEFT][ACTIVE], theme, "bottom-left-active.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_BOTTOM_LEFT][INACTIVE], theme, "bottom-left-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_BOTTOM_RIGHT][ACTIVE], theme, "bottom-right-active.xpm", colsym, 16);
+ loadPixmap(dpy, &corners[CORNER_BOTTOM_RIGHT][INACTIVE], theme, "bottom-right-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[HIDE_BUTTON][ACTIVE], theme, "hide-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[HIDE_BUTTON][INACTIVE], theme, "hide-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[HIDE_BUTTON][PRESSED], theme, "hide-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[CLOSE_BUTTON][ACTIVE], theme, "close-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[CLOSE_BUTTON][INACTIVE], theme, "close-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[CLOSE_BUTTON][PRESSED], theme, "close-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MAXIMIZE_BUTTON][ACTIVE], theme, "maximize-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MAXIMIZE_BUTTON][INACTIVE], theme, "maximize-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MAXIMIZE_BUTTON][PRESSED], theme, "maximize-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[SHADE_BUTTON][ACTIVE], theme, "shade-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[SHADE_BUTTON][INACTIVE], theme, "shade-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[SHADE_BUTTON][PRESSED], theme, "shade-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[STICK_BUTTON][ACTIVE], theme, "stick-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[STICK_BUTTON][INACTIVE], theme, "stick-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[STICK_BUTTON][PRESSED], theme, "stick-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MENU_BUTTON][ACTIVE], theme, "menu-active.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MENU_BUTTON][INACTIVE], theme, "menu-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &buttons[MENU_BUTTON][PRESSED], theme, "menu-pressed.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_1][ACTIVE], theme, "title-1-active.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_1][INACTIVE], theme, "title-1-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_2][ACTIVE], theme, "title-2-active.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_2][INACTIVE], theme, "title-2-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_3][ACTIVE], theme, "title-3-active.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_3][INACTIVE], theme, "title-3-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_4][ACTIVE], theme, "title-4-active.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_4][INACTIVE], theme, "title-4-inactive.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_5][ACTIVE], theme, "title-5-active.xpm", colsym, 16);
+ loadPixmap(dpy, &title[TITLE_5][INACTIVE], theme, "title-5-inactive.xpm", colsym, 16);
+
+ if(!g_strcasecmp("left", getValue("title_alignment", rc)))
+ {
+ title_alignment = ALIGN_LEFT;
+ }
+ else if(!g_strcasecmp("right", getValue("title_alignment", rc)))
+ {
+ title_alignment = ALIGN_RIGHT;
+ }
+ else
+ {
+ title_alignment = ALIGN_CENTER;
+ }
+ full_width_title = !g_strcasecmp("true", getValue("full_width_title", rc));
+
+ strncpy(button_layout, getValue("button_layout", rc), 7);
+ button_spacing = atoi(getValue("button_spacing", rc));
+ button_offset = atoi(getValue("button_offset", rc));
+ title_vertical_offset = atoi(getValue("title_vertical_offset", rc));
+
+ box_gc = createGC(dpy, cmap, "#FFFFFF", GXxor, NULL, True);
+ box_resize = !g_strcasecmp("true", getValue("box_resize", rc));
+ box_move = !g_strcasecmp("true", getValue("box_move", rc));
+
+ click_to_focus = !g_strcasecmp("true", getValue("click_to_focus", rc));
+ focus_new = !g_strcasecmp("true", getValue("focus_new", rc));
+ raise_on_focus = !g_strcasecmp("true", getValue("raise_on_focus", rc));
+ raise_delay = abs(atoi(getValue("raise_delay", rc)));
+
+ if(!g_strcasecmp("center_root", getValue("window_placement", rc)))
+ {
+ window_placement = PLACEMENT_ROOT;
+ }
+ else
+ {
+ window_placement = PLACEMENT_MOUSE;
+ }
+ snap_to_border = !g_strcasecmp("true", getValue("snap_to_border", rc));
+ snap_width = abs(atoi(getValue("snap_width", rc)));
+
+ if(!g_strcasecmp("shade", getValue("double_click_action", rc)))
+ {
+ double_click_action = ACTION_SHADE;
+ }
+ else if(!g_strcasecmp("hide", getValue("double_click_action", rc)))
+ {
+ double_click_action = ACTION_HIDE;
+ }
+ else if(!g_strcasecmp("maximize", getValue("double_click_action", rc)))
+ {
+ double_click_action = ACTION_MAXIMIZE;
+ }
+ else
+ {
+ double_click_action = ACTION_NONE;
+ }
+
+ if(workspace_count < 0)
+ {
+ unsigned long data[1];
+ workspace_count = abs(atoi(getValue("workspace_count", rc)));
+ setGnomeHint(dpy, root, win_workspace_count, workspace_count);
+ data[0] = workspace_count;
+ XChangeProperty (dpy, root, net_number_of_desktops, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 1);
+ }
+ wrap_workspaces = !g_strcasecmp("true", getValue("wrap_workspaces", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_UP], getValue("move_window_up_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_DOWN], getValue("move_window_down_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_LEFT], getValue("move_window_left_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_RIGHT], getValue("move_window_right_key", rc));
+ parseKeyString(dpy, &keys[KEY_RESIZE_UP], getValue("resize_window_up_key", rc));
+ parseKeyString(dpy, &keys[KEY_RESIZE_DOWN], getValue("resize_window_down_key", rc));
+ parseKeyString(dpy, &keys[KEY_RESIZE_LEFT], getValue("resize_window_left_key", rc));
+ parseKeyString(dpy, &keys[KEY_RESIZE_RIGHT], getValue("resize_window_right_key", rc));
+ parseKeyString(dpy, &keys[KEY_CYCLE_WINDOWS], getValue("cycle_windows_key", rc));
+ parseKeyString(dpy, &keys[KEY_CLOSE_WINDOW], getValue("close_window_key", rc));
+ parseKeyString(dpy, &keys[KEY_HIDE_WINDOW], getValue("hide_window_key", rc));
+ parseKeyString(dpy, &keys[KEY_MAXIMIZE_WINDOW], getValue("maximize_window_key", rc));
+ parseKeyString(dpy, &keys[KEY_MAXIMIZE_VERT], getValue("maximize_vert_key", rc));
+ parseKeyString(dpy, &keys[KEY_MAXIMIZE_HORIZ], getValue("maximize_horiz_key", rc));
+ parseKeyString(dpy, &keys[KEY_SHADE_WINDOW], getValue("shade_window_key", rc));
+ parseKeyString(dpy, &keys[KEY_LOWER_WINDOW_LAYER], getValue("lower_window_layer_key", rc));
+ parseKeyString(dpy, &keys[KEY_RAISE_WINDOW_LAYER], getValue("raise_window_layer_key", rc));
+ parseKeyString(dpy, &keys[KEY_NEXT_WORKSPACE], getValue("next_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_PREV_WORKSPACE], getValue("prev_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_ADD_WORKSPACE], getValue("add_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_DEL_WORKSPACE], getValue("del_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_STICK_WINDOW], getValue("stick_window_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_1], getValue("workspace_1_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_2], getValue("workspace_2_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_3], getValue("workspace_3_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_4], getValue("workspace_4_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_5], getValue("workspace_5_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_6], getValue("workspace_6_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_7], getValue("workspace_7_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_8], getValue("workspace_8_key", rc));
+ parseKeyString(dpy, &keys[KEY_WORKSPACE_9], getValue("workspace_9_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_NEXT_WORKSPACE], getValue("move_window_next_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_PREV_WORKSPACE], getValue("move_window_prev_workspace_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_1], getValue("move_window_workspace_1_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_2], getValue("move_window_workspace_2_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_3], getValue("move_window_workspace_3_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_4], getValue("move_window_workspace_4_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_5], getValue("move_window_workspace_5_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_6], getValue("move_window_workspace_6_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_7], getValue("move_window_workspace_7_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_8], getValue("move_window_workspace_8_key", rc));
+ parseKeyString(dpy, &keys[KEY_MOVE_WORKSPACE_9], getValue("move_window_workspace_9_key", rc));
+ ungrabKeys(dpy, gnome_win);
+ grabKey(dpy, &keys[KEY_CYCLE_WINDOWS], gnome_win);
+ grabKey(dpy, &keys[KEY_NEXT_WORKSPACE], gnome_win);
+ grabKey(dpy, &keys[KEY_PREV_WORKSPACE], gnome_win);
+ grabKey(dpy, &keys[KEY_ADD_WORKSPACE], gnome_win);
+ grabKey(dpy, &keys[KEY_NEXT_WORKSPACE], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_1], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_2], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_3], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_4], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_5], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_6], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_7], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_8], gnome_win);
+ grabKey(dpy, &keys[KEY_WORKSPACE_9], gnome_win);
+ freeRc(rc);
+ freeColSymbol(colsym, 16);
+}
+
+void unloadSettings()
+{
+ int i;
+ DBG("entering unloadSettings\n");
+ for(i = 0; i < 3; i++)
+ {
+ freePixmap(dpy, &sides[i][ACTIVE]);
+ freePixmap(dpy, &sides[i][INACTIVE]);
+ }
+ for(i = 0; i < BUTTON_COUNT; i++)
+ {
+ freePixmap(dpy, &corners[i][ACTIVE]);
+ freePixmap(dpy, &corners[i][INACTIVE]);
+ freePixmap(dpy, &buttons[i][ACTIVE]);
+ freePixmap(dpy, &buttons[i][INACTIVE]);
+ freePixmap(dpy, &buttons[i][PRESSED]);
+ }
+ for(i = 0; i < 5; i++)
+ {
+ freePixmap(dpy, &title[i][ACTIVE]);
+ freePixmap(dpy, &title[i][INACTIVE]);
+ }
+ // XFreeGC(dpy, title_gc[ACTIVE]);
+ // XFreeGC(dpy, title_gc[INACTIVE]);
+ XFreeGC(dpy, box_gc);
+}
+
+void reloadSettings()
+{
+ Client *c;
+ int i;
+ XWindowChanges wc;
+ DBG("entering reloadSettings\n");
+ for(c = clients, i = 0; i < client_count; c = c->next, i++)
+ {
+ clientGravitate(c, REMOVE);
+ clientUngrabKeys(c);
+ }
+ unloadSettings();
+ loadSettings();
+ for(c = clients, i = 0; i < client_count; c = c->next, i++)
+ {
+ clientGravitate(c, APPLY);
+ wc.x = c->x;
+ wc.y = c->y;
+ wc.width = c->width;
+ wc.height = c->height;
+ clientConfigure(c, &wc, CWX | CWY | CWWidth | CWHeight);
+ clientGrabKeys(c);
+ }
+}
+
+void initSettings (void)
+{
+ title_colors[ACTIVE].gc = NULL;
+ title_colors[ACTIVE].allocated = FALSE;
+ title_colors[INACTIVE].gc = NULL;
+ title_colors[INACTIVE].allocated = FALSE;
+}
diff --git a/src/settings.h b/src/settings.h
new file mode 100644
index 000000000..cdc477092
--- /dev/null
+++ b/src/settings.h
@@ -0,0 +1,69 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __SETTINGS_H__
+#define __SETTINGS_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gdk/gdk.h>
+#include "client.h"
+#include "keyboard.h"
+
+typedef struct _MyColor MyColor;
+struct _MyColor
+{
+ GdkColor col;
+ GdkGC *gc;
+ gboolean allocated;
+};
+
+extern MyKey keys[KEY_COUNT];
+extern MyColor title_colors[2];
+extern char button_layout[8];
+extern int title_alignment;
+extern int full_width_title;
+extern int button_spacing;
+extern int button_offset;
+extern int title_vertical_offset;
+extern int double_click_action;
+extern int box_move;
+extern int box_resize;
+extern int click_to_focus;
+extern int focus_new;
+extern int raise_on_focus;
+extern int raise_delay;
+extern int window_placement;
+extern int snap_to_border;
+extern int snap_width;
+extern GC box_gc;
+extern MyPixmap sides[3][2];
+extern MyPixmap corners[4][2];
+extern MyPixmap buttons[BUTTON_COUNT][3];
+extern MyPixmap title[5][2];
+
+void loadSettings(void);
+void unloadSettings(void);
+void reloadSettings(void);
+void initSettings (void);
+
+#endif /* __SETTINGS_H__ */
diff --git a/src/workspaces.c b/src/workspaces.c
new file mode 100644
index 000000000..798b7fa91
--- /dev/null
+++ b/src/workspaces.c
@@ -0,0 +1,153 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "main.h"
+#include "workspaces.h"
+#include "client.h"
+#include "debug.h"
+
+int workspace_count = -1, wrap_workspaces;
+int workspace;
+
+void workspaceSwitch(int new_ws, Client * c2)
+{
+ Client *c, *f = NULL;
+ Client *last;
+ unsigned long data[1];
+ int i;
+
+ DBG("entering workspaceSwitch\n");
+
+ if((new_ws < 0) && wrap_workspaces)
+ {
+ new_ws = workspace_count - 1;
+ }
+ if((new_ws > workspace_count - 1) && wrap_workspaces)
+ {
+ new_ws = 0;
+ }
+ if((new_ws < 0) || (new_ws > workspace_count - 1) || (new_ws == workspace))
+ {
+ return;
+ }
+
+ f = clientGetFocus();
+ if(f)
+ {
+ f->focus = True;
+ }
+
+ if(c2)
+ {
+ setGnomeHint(dpy, c2->window, win_workspace, new_ws);
+ data[0] = new_ws;
+ XChangeProperty (dpy, c2->window, net_wm_desktop, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 1);
+ c2->win_workspace = new_ws;
+ }
+
+ setGnomeHint(dpy, root, win_workspace, new_ws);
+ data[0] = new_ws;
+ XChangeProperty (dpy, root, net_current_desktop, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 1);
+ workspace = new_ws;
+
+ /*
+ Do the switch in two passes :
+ - The first one, unmapping windows from bottom to top
+ - The second pass, mapping from top to bottom
+
+ ==> this save a lot of expose events and make things a lot faster ;-)
+ */
+
+ /* First pass */
+ for(last = clients, i = 0; i < client_count; last = last->next, i++);
+ for(c = last, i = 0; i < client_count; c = c->prev, i++)
+ {
+ if(!(c->sticky) && ((c->win_workspace != new_ws) || (c->hidden)))
+ {
+ clientHide(c, False);
+ }
+ }
+ /* Second pass */
+ for(c = clients, i = 0; i < client_count; c = c->next, i++)
+ {
+ if(c->sticky)
+ {
+ clientSetWorkspace(c, new_ws);
+ }
+ else
+ {
+ if((c->win_workspace == new_ws) && !(c->hidden))
+ {
+ clientShow(c, False);
+ if(c->focus)
+ {
+ f = c;
+ }
+ c->focus = False;
+ }
+ }
+ }
+ if(c2)
+ {
+ f = c2;
+ clientRaise (c2);
+ }
+ clientSetFocus(f, True);
+ XSync (dpy, 0);
+}
+
+void workspaceSetCount(int count)
+{
+ Client *c;
+ int i;
+ unsigned long data[1];
+
+ DBG("entering workspaceSetCount\n");
+
+ if(count < 1)
+ {
+ count = 1;
+ }
+ if(count == workspace_count)
+ {
+ return;
+ }
+
+ setGnomeHint(dpy, root, win_workspace_count, count);
+ data[0] = count;
+ XChangeProperty (dpy, root, net_number_of_desktops, XA_CARDINAL, 32, PropModeReplace, (unsigned char *) data, 1);
+ workspace_count = count;
+
+ for(c = clients, i = 0; i < client_count; c = c->next, i++)
+ {
+ if(c->win_workspace > count - 1)
+ {
+ clientSetWorkspace(c, count - 1);
+ }
+ }
+ if(workspace > count - 1)
+ {
+ workspaceSwitch(count - 1, NULL);
+ }
+}
diff --git a/src/workspaces.h b/src/workspaces.h
new file mode 100644
index 000000000..93d81ad50
--- /dev/null
+++ b/src/workspaces.h
@@ -0,0 +1,34 @@
+/*
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; You may only use version 2 of the License,
+ you have no option to use any other version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+ oroborus - (c) 2001 Ken Lynch
+ xfwm4 - (c) 2002 Olivier Fourdan
+
+ */
+
+#ifndef __WORKSPACES_H__
+#define __WORKSPACES_H__
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+extern int workspace_count, wrap_workspaces;
+extern int workspace;
+
+void workspaceSwitch(int, Client *);
+void workspaceSetCount(int);
+
+#endif /* __WORKSPACES_H__ */
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 000000000..9788f7023
--- /dev/null
+++ b/stamp-h.in
@@ -0,0 +1 @@
+timestamp
diff --git a/themes/Makefile.am b/themes/Makefile.am
new file mode 100644
index 000000000..1ba10b3c5
--- /dev/null
+++ b/themes/Makefile.am
@@ -0,0 +1,12 @@
+SUBDIRS = \
+cruxish \
+next \
+oroborus \
+platinum \
+slimline \
+windows \
+coldsteel \
+agua \
+redmond \
+gtk \
+xfce
diff --git a/themes/Makefile.in b/themes/Makefile.in
new file mode 100644
index 000000000..cbad90fb2
--- /dev/null
+++ b/themes/Makefile.in
@@ -0,0 +1,284 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+SUBDIRS = \
+cruxish \
+next \
+oroborus \
+platinum \
+slimline \
+windows \
+coldsteel \
+agua \
+redmond \
+gtk \
+xfce
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES =
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" != "." || dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-tags clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+
+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/agua/Makefile.am b/themes/agua/Makefile.am
new file mode 100644
index 000000000..bb4cbdaa0
--- /dev/null
+++ b/themes/agua/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/agua
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/agua/Makefile.in b/themes/agua/Makefile.in
new file mode 100644
index 000000000..2776ae195
--- /dev/null
+++ b/themes/agua/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/agua
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/agua/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/agua
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/agua/bottom-active.xpm b/themes/agua/bottom-active.xpm
new file mode 100644
index 000000000..7e2aa0879
--- /dev/null
+++ b/themes/agua/bottom-active.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"11 5 19 1",
+" c None",
+". c #F2F2F2",
+"+ c #F5F5F5",
+"@ c #F9F9F9",
+"# c #F7F7F7",
+"$ c #F6F6F6",
+"% c #FDFDFD",
+"& c #F8F8F8",
+"* c #FBFBFB",
+"= c #FEFEFE",
+"- c #EEEEEE",
+"; c #F4F4F4",
+"> c #FCFCFC",
+", c #FAFAFA",
+"' c #C1C1C1",
+") c #C4C4C4",
+"! c #C7C7C7",
+"~ c #B1B1B1",
+"{ c #B2B2B2",
+".+@#$@%@&*=",
+"-;@$$&>@#,%",
+"-----------",
+"'))')))'))!",
+"~{{{{{{{{{~"};
diff --git a/themes/agua/bottom-inactive.xpm b/themes/agua/bottom-inactive.xpm
new file mode 100644
index 000000000..724cafba1
--- /dev/null
+++ b/themes/agua/bottom-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"11 5 14 1",
+" c None",
+". c #A5B8D6",
+"+ c #A6B9D6",
+"@ c #9FBCDC",
+"# c #A2BAD2",
+"$ c #A1B8D0",
+"% c #A1B9D1",
+"& c #A0B7CF",
+"* c #9BAFC9",
+"= c #9DB1C9",
+"- c #9AAFC9",
+"; c #99ADC9",
+"> c #90A8CA",
+", c #93A9CA",
+"..........+",
+"@@@@@@@@@@@",
+"#####$%###&",
+"*==--;-**=*",
+">>>>>>>>>>,"};
diff --git a/themes/agua/bottom-left-active.xpm b/themes/agua/bottom-left-active.xpm
new file mode 100644
index 000000000..fcfdcb41c
--- /dev/null
+++ b/themes/agua/bottom-left-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 7 1",
+" c None",
+". c #FEFEFE",
+"+ c #FDFDFD",
+"@ c #EEEEEE",
+"# c #C7C7C7",
+"$ c #FFFFFF",
+"% c #B1B1B1",
+".+@#.",
+"$+@@+",
+"$+@@@",
+"$@###",
+" %%%%"};
diff --git a/themes/agua/bottom-left-inactive.xpm b/themes/agua/bottom-left-inactive.xpm
new file mode 100644
index 000000000..3f6c89d80
--- /dev/null
+++ b/themes/agua/bottom-left-inactive.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"5 5 6 1",
+" c None",
+". c #A6B9D6",
+"+ c #9FBCDC",
+"@ c #A0B7CF",
+"# c #9BAFC9",
+"$ c #93A9CA",
+".+@#.",
+".+@.+",
+".+.@@",
+"..###",
+"#$$$$"};
diff --git a/themes/agua/bottom-right-active.xpm b/themes/agua/bottom-right-active.xpm
new file mode 100644
index 000000000..095c06169
--- /dev/null
+++ b/themes/agua/bottom-right-active.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"5 5 6 1",
+" c None",
+". c #FEFEFE",
+"+ c #FDFDFD",
+"@ c #EEEEEE",
+"# c #C7C7C7",
+"$ c #B1B1B1",
+".+@#$",
+"++@#$",
+"@@@#$",
+"####$",
+"$$$$ "};
diff --git a/themes/agua/bottom-right-inactive.xpm b/themes/agua/bottom-right-inactive.xpm
new file mode 100644
index 000000000..b74138ff3
--- /dev/null
+++ b/themes/agua/bottom-right-inactive.xpm
@@ -0,0 +1,16 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"5 5 8 1",
+" c None",
+". c #A6B9D6",
+"+ c #9FBCDC",
+"@ c #A2BAD2",
+"# c #9BAFC9",
+"$ c #90A8CA",
+"% c #A0B7CF",
+"& c #93A9CA",
+".+@#$",
+".+@#$",
+"%%%#$",
+"####$",
+"&&&&#"};
diff --git a/themes/agua/close-active.xpm b/themes/agua/close-active.xpm
new file mode 100644
index 000000000..5058eb30c
--- /dev/null
+++ b/themes/agua/close-active.xpm
@@ -0,0 +1,244 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"15 20 221 2",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #F0EFF1",
+"# c #EFEFF0",
+"$ c #F0F0F2",
+"% c #EEEEEE",
+"& c #E8E8E8",
+"* c #ECECEC",
+"= c #E9E9E9",
+"- c #E9E9E8",
+"; c #E5E5E6",
+"> c #A3A3A5",
+", c #575759",
+"' c #232323",
+") c #101010",
+"! c #242422",
+"~ c #5F5F5D",
+"{ c #969694",
+"] c #E7E7E6",
+"^ c #F1F1F1",
+"/ c #DDE0DC",
+"( c #695E64",
+"_ c #53484E",
+": c #8F8289",
+"< c #CEBFC6",
+"[ c #D7CAD1",
+"} c #C8BDC3",
+"| c #9B9599",
+"1 c #423D41",
+"2 c #706667",
+"3 c #D1E0DA",
+"4 c #FEFEFE",
+"5 c #F1F0F2",
+"6 c #7C716D",
+"7 c #624A4A",
+"8 c #9D8585",
+"9 c #E7CDCE",
+"0 c #FAE0E1",
+"a c #F9E1E1",
+"b c #F2DDDC",
+"c c #DBC7C6",
+"d c #A89694",
+"e c #67444A",
+"f c #75746F",
+"g c #EFF6F2",
+"h c #A89295",
+"i c #461E1C",
+"j c #93524E",
+"k c #B87773",
+"l c #D59691",
+"m c #D89994",
+"n c #E2A5A0",
+"o c #D1948F",
+"p c #B77A75",
+"q c #974B55",
+"r c #4D2627",
+"s c #A09792",
+"t c #F0EFEF",
+"u c #E2DDE1",
+"v c #7A5052",
+"w c #7A3331",
+"x c #AE3733",
+"y c #AC3632",
+"z c #B94842",
+"A c #C5564F",
+"B c #C1524B",
+"C c #BA4943",
+"D c #A93832",
+"E c #B13F47",
+"F c #782C30",
+"G c #714F4D",
+"H c #E2DEDD",
+"I c #E1D6D8",
+"J c #5D1F20",
+"K c #9D3735",
+"L c #B52620",
+"M c #BF342D",
+"N c #D54F46",
+"O c #DC594F",
+"P c #CC4C41",
+"Q c #D04D43",
+"R c #D24C43",
+"S c #C43932",
+"T c #A61E22",
+"U c #9F3738",
+"V c #541E1C",
+"W c #DFD7D6",
+"X c #DACBCB",
+"Y c #5A0E0E",
+"Z c #B23531",
+"` c #CD4539",
+" . c #D95749",
+".. c #DD6453",
+"+. c #E26F5C",
+"@. c #E3705D",
+"#. c #EA7261",
+"$. c #E16354",
+"%. c #D65446",
+"&. c #CD3E36",
+"*. c #B53F3B",
+"=. c #51100C",
+"-. c #D9CECA",
+";. c #C8B6B4",
+">. c #6E1B17",
+",. c #CD3F3B",
+"'. c #D6564B",
+"). c #E3695C",
+"!. c #E87968",
+"~. c #F58C79",
+"{. c #F68F7C",
+"]. c #F78978",
+"^. c #E87264",
+"/. c #E66A5E",
+"(. c #DE5542",
+"_. c #B94035",
+":. c #67201A",
+"<. c #CCBFB9",
+"[. c #C3B5B1",
+"}. c #832C25",
+"|. c #D13C36",
+"1. c #EE6763",
+"2. c #F97A73",
+"3. c #FE897F",
+"4. c #FF978A",
+"5. c #FD9184",
+"6. c #FF968B",
+"7. c #FF867E",
+"8. c #F4736D",
+"9. c #E9674D",
+"0. c #C34B3B",
+"a. c #782F26",
+"b. c #BFB2AB",
+"c. c #C6C0B8",
+"d. c #915650",
+"e. c #A03837",
+"f. c #F0766B",
+"g. c #FF8B82",
+"h. c #FF9690",
+"i. c #FFA09A",
+"j. c #FFA49D",
+"k. c #FFA198",
+"l. c #FF9B8D",
+"m. c #F28777",
+"n. c #FF6F6F",
+"o. c #95332A",
+"p. c #7C5C4D",
+"q. c #C1C6BE",
+"r. c #E0E0DC",
+"s. c #9F7873",
+"t. c #8E4443",
+"u. c #E4655E",
+"v. c #FD9185",
+"w. c #FEB09C",
+"x. c #F3B9A1",
+"y. c #F1B9A0",
+"z. c #FFB49F",
+"A. c #FFA799",
+"B. c #D75B5B",
+"C. c #954641",
+"D. c #988277",
+"E. c #E1E5E0",
+"F. c #E3E4E4",
+"G. c #A59794",
+"H. c #7A5354",
+"I. c #AD3B3A",
+"J. c #D46F67",
+"K. c #F2A190",
+"L. c #FEBAA3",
+"M. c #FFBBA5",
+"N. c #FFAD9E",
+"O. c #FE958F",
+"P. c #F07879",
+"Q. c #8A3C3C",
+"R. c #845754",
+"S. c #A39C96",
+"T. c #DEDEDE",
+"U. c #CACACB",
+"V. c #8F8085",
+"W. c #5F5242",
+"X. c #6E463C",
+"Y. c #994845",
+"Z. c #D66569",
+"`. c #EF7C81",
+" + c #CD7373",
+".+ c #8B544F",
+"++ c #573B30",
+"@+ c #725255",
+"#+ c #8F8180",
+"$+ c #C7C9C8",
+"%+ c #E0E0E0",
+"&+ c #C1BCC1",
+"*+ c #8F8B8C",
+"=+ c #6C6B67",
+"-+ c #515348",
+";+ c #4A4C3E",
+">+ c #474538",
+",+ c #463F37",
+"'+ c #5B4D4D",
+")+ c #7B686E",
+"!+ c #8D8B8E",
+"~+ c #BCBFC0",
+"{+ c #EAEAEA",
+"]+ c #C8D5D6",
+"^+ c #97A7A7",
+"/+ c #7E8887",
+"(+ c #727878",
+"_+ c #7A8382",
+":+ c #889294",
+"<+ c #9DA8AC",
+"[+ c #CBD1D2",
+"}+ c #D9D9D9",
+"|+ c #D4D1D2",
+"1+ c #CAC7C9",
+"2+ c #B6B7BA",
+"3+ c #AAAEB1",
+"4+ c #B4B4B6",
+"5+ c #C5C1C2",
+"6+ c #D5D2D2",
+"7+ c #CECECE",
+"8+ c #CDCDCD",
+". . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . ",
+"+ + + + @ # $ % & * + + + + + ",
+"= = - ; > , ' ) ! ~ { ] - = = ",
+"^ ^ / ( _ : < [ } | 1 2 3 ^ ^ ",
+"4 5 6 7 8 9 0 a b c d e f g 4 ",
+"# h i j k l m n n o p q r s t ",
+"u v w x y z A A B C D E F G H ",
+"I J K L M N O P Q R S T U V W ",
+"X Y Z ` ...+.@.#.$.%.&.*.=.-.",
+";.>.,.'.).!.~.{.].^./.(._.:.<.",
+"[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.",
+"c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.",
+"r.s.t.u.v.w.x.y.z.A.g.B.C.D.E.",
+"F.G.H.I.J.K.L.M.N.O.P.Q.R.S.F.",
+"T.U.V.W.X.Y.Z.`. +.+++@+#+$+T.",
+"%+%+&+*+=+-+;+>+,+'+)+!+~+%+%+",
+"{+{+{+]+^+/+(+(+_+:+<+[+= {+{+",
+"}+}+}+}+|+1+2+3+4+5+6+}+}+}+}+",
+"7+7+8+8+8+8+8+8+8+8+7+7+7+7+7+"};
diff --git a/themes/agua/close-inactive.xpm b/themes/agua/close-inactive.xpm
new file mode 100644
index 000000000..111bf2ea2
--- /dev/null
+++ b/themes/agua/close-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/close-pressed.xpm b/themes/agua/close-pressed.xpm
new file mode 100644
index 000000000..042f82bc9
--- /dev/null
+++ b/themes/agua/close-pressed.xpm
@@ -0,0 +1,247 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"15 20 224 2",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #F0EFF1",
+"# c #EFEFF0",
+"$ c #F0F0F2",
+"% c #EEEEEE",
+"& c #E8E8E8",
+"* c #ECECEC",
+"= c #E9E9E9",
+"- c #E9E9E8",
+"; c #E5E5E6",
+"> c #A3A3A5",
+", c #575759",
+"' c #232323",
+") c #101010",
+"! c #242422",
+"~ c #5F5F5D",
+"{ c #969694",
+"] c #E7E7E6",
+"^ c #F1F1F1",
+"/ c #DDE0DC",
+"( c #695E64",
+"_ c #53484E",
+": c #8F8289",
+"< c #CEBFC6",
+"[ c #D7CAD1",
+"} c #C8BDC3",
+"| c #9B9599",
+"1 c #423D41",
+"2 c #706667",
+"3 c #D1E0DA",
+"4 c #FEFEFE",
+"5 c #F1F0F2",
+"6 c #7C716D",
+"7 c #5F4A47",
+"8 c #A98A88",
+"9 c #EFCBCD",
+"0 c #FFEBED",
+"a c #FFDEDF",
+"b c #FFEFF0",
+"c c #EDCFCD",
+"d c #9D8585",
+"e c #64535B",
+"f c #75746F",
+"g c #EFF6F2",
+"h c #A89295",
+"i c #461E1C",
+"j c #743637",
+"k c #A3585C",
+"l c #B97077",
+"m c #ECA3AC",
+"n c #E9A2AA",
+"o c #F1A8AF",
+"p c #BC7175",
+"q c #995457",
+"r c #6F3A40",
+"s c #4D2627",
+"t c #A09792",
+"u c #F0EFEF",
+"v c #E2DDE1",
+"w c #7A5052",
+"x c #7A3331",
+"y c #973739",
+"z c #71080C",
+"A c #5F0003",
+"B c #91343C",
+"C c #B55860",
+"D c #96363A",
+"E c #640000",
+"F c #70090A",
+"G c #8A3437",
+"H c #782C30",
+"I c #714F4D",
+"J c #E2DEDD",
+"K c #E1D6D8",
+"L c #5D1F20",
+"M c #9D3735",
+"N c #B13938",
+"O c #921614",
+"P c #811513",
+"Q c #741211",
+"R c #912F2E",
+"S c #7C100D",
+"T c #8B0C06",
+"U c #991813",
+"V c #AF3D3C",
+"W c #9F3738",
+"X c #541E1C",
+"Y c #DFD7D6",
+"Z c #DACBCB",
+"` c #5A0E0E",
+" . c #B23531",
+".. c #C94540",
+"+. c #D9564E",
+"@. c #C3564F",
+"#. c #801E15",
+"$. c #832219",
+"%. c #8F2015",
+"&. c #D85246",
+"*. c #DE5245",
+"=. c #C84741",
+"-. c #B53F3B",
+";. c #51100C",
+">. c #D9CECA",
+",. c #C8B6B4",
+"'. c #6E1B17",
+"). c #CD3F3B",
+"!. c #E46459",
+"~. c #F57667",
+"{. c #C15B4C",
+"]. c #903425",
+"^. c #953C2A",
+"/. c #9C3522",
+"(. c #DD5B45",
+"_. c #F86D5A",
+":. c #E06053",
+"<. c #B94035",
+"[. c #67201A",
+"}. c #CCBFB9",
+"|. c #C3B5B1",
+"1. c #832C25",
+"2. c #D13C36",
+"3. c #E56B5E",
+"4. c #E36A59",
+"5. c #9B3526",
+"6. c #993E2C",
+"7. c #AD523F",
+"8. c #99331D",
+"9. c #AC3016",
+"0. c #E3614B",
+"a. c #E16B5D",
+"b. c #C34B3B",
+"c. c #782F26",
+"d. c #BFB2AB",
+"e. c #C6C0B8",
+"f. c #915650",
+"g. c #A03837",
+"h. c #DB6F63",
+"i. c #AC382B",
+"j. c #8D2218",
+"k. c #DC776D",
+"l. c #FFA69A",
+"m. c #E77D6D",
+"n. c #9D2610",
+"o. c #A93420",
+"p. c #CF6A5E",
+"q. c #95332A",
+"r. c #7C5C4D",
+"s. c #C1C6BE",
+"t. c #E0E0DC",
+"u. c #9F7873",
+"v. c #8E4443",
+"w. c #C36A64",
+"x. c #CB665E",
+"y. c #E07D78",
+"z. c #FFADA7",
+"A. c #FFB8B1",
+"B. c #FFA99E",
+"C. c #E98472",
+"D. c #C76A59",
+"E. c #B76A60",
+"F. c #954641",
+"G. c #988277",
+"H. c #E1E5E0",
+"I. c #E3E4E4",
+"J. c #A59794",
+"K. c #7A5354",
+"L. c #AD3B3A",
+"M. c #D46F67",
+"N. c #F2A190",
+"O. c #FEBAA3",
+"P. c #FFBBA5",
+"Q. c #FFAD9E",
+"R. c #FE958F",
+"S. c #F07879",
+"T. c #8A3C3C",
+"U. c #845754",
+"V. c #A39C96",
+"W. c #DEDEDE",
+"X. c #CACACB",
+"Y. c #8F8085",
+"Z. c #5F5242",
+"`. c #6E463C",
+" + c #994845",
+".+ c #D66569",
+"++ c #EF7C81",
+"@+ c #CD7373",
+"#+ c #8B544F",
+"$+ c #573B30",
+"%+ c #725255",
+"&+ c #8F8180",
+"*+ c #C7C9C8",
+"=+ c #E0E0E0",
+"-+ c #C1BCC1",
+";+ c #8F8B8C",
+">+ c #6C6B67",
+",+ c #515348",
+"'+ c #4A4C3E",
+")+ c #474538",
+"!+ c #463F37",
+"~+ c #5B4D4D",
+"{+ c #7B686E",
+"]+ c #8D8B8E",
+"^+ c #BCBFC0",
+"/+ c #EAEAEA",
+"(+ c #C8D5D6",
+"_+ c #97A7A7",
+":+ c #7E8887",
+"<+ c #727878",
+"[+ c #7A8382",
+"}+ c #889294",
+"|+ c #9DA8AC",
+"1+ c #CBD1D2",
+"2+ c #D9D9D9",
+"3+ c #D4D1D2",
+"4+ c #CAC7C9",
+"5+ c #B6B7BA",
+"6+ c #AAAEB1",
+"7+ c #B4B4B6",
+"8+ c #C5C1C2",
+"9+ c #D5D2D2",
+"0+ c #CECECE",
+"a+ c #CDCDCD",
+". . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . ",
+"+ + + + @ # $ % & * + + + + + ",
+"= = - ; > , ' ) ! ~ { ] - = = ",
+"^ ^ / ( _ : < [ } | 1 2 3 ^ ^ ",
+"4 5 6 7 8 9 0 a b c d e f g 4 ",
+"# h i j k l m n o p q r s t u ",
+"v w x y z A B C D E F G H I J ",
+"K L M N O P Q R S T U V W X Y ",
+"Z ` ...+.@.#.$.%.&.*.=.-.;.>.",
+",.'.).!.~.{.].^./.(._.:.<.[.}.",
+"|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.",
+"e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.",
+"t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.",
+"I.J.K.L.M.N.O.P.Q.R.S.T.U.V.I.",
+"W.X.Y.Z.`. +.+++@+#+$+%+&+*+W.",
+"=+=+-+;+>+,+'+)+!+~+{+]+^+=+=+",
+"/+/+/+(+_+:+<+<+[+}+|+1+= /+/+",
+"2+2+2+2+3+4+5+6+7+8+9+2+2+2+2+",
+"0+0+a+a+a+a+a+a+a+a+0+0+0+0+0+"};
diff --git a/themes/agua/hide-active.xpm b/themes/agua/hide-active.xpm
new file mode 100644
index 000000000..a8306110d
--- /dev/null
+++ b/themes/agua/hide-active.xpm
@@ -0,0 +1,253 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"15 20 230 2",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #F1EDED",
+"# c #F3EAEA",
+"$ c #FAEDED",
+"% c #F9EAEA",
+"& c #FCF0F0",
+"* c #EDEDEC",
+"= c #E9E9E9",
+"- c #E9EAE7",
+"; c #E1E0DC",
+"> c #ABA3A1",
+", c #645655",
+"' c #392526",
+") c #2D1515",
+"! c #3D2324",
+"~ c #61605E",
+"{ c #A3A2A0",
+"] c #E5E5E4",
+"^ c #F1F1F1",
+"/ c #F4F3F0",
+"( c #DCCACA",
+"_ c #8C696F",
+": c #6C4548",
+"< c #A98B89",
+"[ c #D0BDB6",
+"} c #DFCDC9",
+"| c #D2BEBD",
+"1 c #A49091",
+"2 c #6D4546",
+"3 c #906461",
+"4 c #E8DCD8",
+"5 c #FDFDFD",
+"6 c #F9E9F4",
+"7 c #90707B",
+"8 c #7B4E55",
+"9 c #B98987",
+"0 c #F2CDC4",
+"a c #FEE4D7",
+"b c #FFE7DD",
+"c c #FADEDA",
+"d c #F1D0C1",
+"e c #C49083",
+"f c #884C44",
+"g c #906866",
+"h c #FBF6F8",
+"i c #ECECEC",
+"j c #C094A1",
+"k c #6E3838",
+"l c #9C5D4B",
+"m c #E1A581",
+"n c #ECBC8C",
+"o c #EAC493",
+"p c #ECC59A",
+"q c #F1C79F",
+"r c #EBB88B",
+"s c #DD9871",
+"t c #AD5C41",
+"u c #79322C",
+"v c #B8929F",
+"w c #F0EFF1",
+"x c #DBDBDB",
+"y c #954C3D",
+"z c #9D4D28",
+"A c #CE7936",
+"B c #D98C30",
+"C c #D69730",
+"D c #DEA943",
+"E c #D7A141",
+"F c #D79C40",
+"G c #DD9B47",
+"H c #D68738",
+"I c #E07D42",
+"J c #B04E35",
+"K c #8A4D52",
+"L c #E3DCE4",
+"M c #D4D4D4",
+"N c #8E2D0A",
+"O c #D06D2C",
+"P c #E98620",
+"Q c #E48B0B",
+"R c #EFA51E",
+"S c #F1B02E",
+"T c #E8A729",
+"U c #F3AC30",
+"V c #E59E2A",
+"W c #DE911B",
+"X c #E5811F",
+"Y c #CE602B",
+"Z c #7B3124",
+"` c #E4D9D9",
+" . c #D6D6D6",
+".. c #922F06",
+"+. c #E47F37",
+"@. c #F79727",
+"#. c #FCA824",
+"$. c #FFBC3B",
+"%. c #F7BB41",
+"&. c #F6B743",
+"*. c #FFC24B",
+"=. c #F4B333",
+"-. c #F3B127",
+";. c #F29A1E",
+">. c #EE8033",
+",. c #82371A",
+"'. c #D7CEC6",
+"). c #BFBFBF",
+"!. c #A14F1F",
+"~. c #E89545",
+"{. c #F8AB37",
+"]. c #FEBF3E",
+"^. c #FFD05A",
+"/. c #FDD76C",
+"(. c #FBD067",
+"_. c #F9C95A",
+":. c #FFC753",
+"<. c #F0BF36",
+"[. c #F4AC26",
+"}. c #F8923D",
+"|. c #914827",
+"1. c #C1BDB4",
+"2. c #B1B1B1",
+"3. c #9D5D1D",
+"4. c #E0A142",
+"5. c #F7C041",
+"6. c #F7CF49",
+"7. c #F2D962",
+"8. c #F9E87E",
+"9. c #FBE67D",
+"0. c #FFE776",
+"a. c #FFD46E",
+"b. c #F9D251",
+"c. c #F8BC38",
+"d. c #F0923B",
+"e. c #9D5839",
+"f. c #B2B1AD",
+"g. c #B8B8B8",
+"h. c #886B59",
+"i. c #BB8E4A",
+"j. c #FFCC4E",
+"k. c #FFE052",
+"l. c #F7E169",
+"m. c #FAF591",
+"n. c #FFFA94",
+"o. c #FFF07D",
+"p. c #FEEA77",
+"q. c #FED652",
+"r. c #FFC643",
+"s. c #C89033",
+"t. c #967556",
+"u. c #C2BEC1",
+"v. c #CECECE",
+"w. c #9A8779",
+"x. c #9E7B45",
+"y. c #DBAC44",
+"z. c #FFE566",
+"A. c #FFF67B",
+"B. c #FBFB8B",
+"C. c #FFFD8C",
+"D. c #FFFC83",
+"E. c #FCF370",
+"F. c #FFE263",
+"G. c #E4B148",
+"H. c #A17036",
+"I. c #9C847A",
+"J. c #E4E3E9",
+"K. c #CCCCCC",
+"L. c #A19C98",
+"M. c #7A6749",
+"N. c #9B7C39",
+"O. c #E0C864",
+"P. c #F9F780",
+"Q. c #FFFF8E",
+"R. c #FFFF8D",
+"S. c #FBF67E",
+"T. c #F6F976",
+"U. c #D6C55D",
+"V. c #9F7D3E",
+"W. c #7F604E",
+"X. c #A599A5",
+"Y. c #E5E5E7",
+"Z. c #D7D7D7",
+"`. c #B2B8C4",
+" + c #807B77",
+".+ c #6A5B3A",
+"++ c #797224",
+"@+ c #949D26",
+"#+ c #BDD042",
+"$+ c #D5E551",
+"%+ c #CFD648",
+"&+ c #8D963B",
+"*+ c #6D6729",
+"=+ c #685841",
+"-+ c #897D81",
+";+ c #CACBD1",
+">+ c #DEDEDE",
+",+ c #E0E0E0",
+"'+ c #D0D8D4",
+")+ c #B1B5B6",
+"!+ c #8B848B",
+"~+ c #625C5C",
+"{+ c #4A4A42",
+"]+ c #474843",
+"^+ c #494351",
+"/+ c #433453",
+"(+ c #565B3B",
+"_+ c #626353",
+":+ c #8C8889",
+"<+ c #C2C3C5",
+"[+ c #EAEAEA",
+"}+ c #DEE0E2",
+"|+ c #BBBBC3",
+"1+ c #A5A4A9",
+"2+ c #8D8F8C",
+"3+ c #767873",
+"4+ c #757573",
+"5+ c #827E7F",
+"6+ c #83838D",
+"7+ c #9E9EA8",
+"8+ c #D2D3D5",
+"9+ c #D9D9D9",
+"0+ c #D5D5D5",
+"a+ c #CDCDCF",
+"b+ c #BEBEC7",
+"c+ c #A7A7B1",
+"d+ c #A7A7A9",
+"e+ c #B2B3AC",
+"f+ c #C5C3CB",
+"g+ c #D4D4D5",
+". . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . ",
+"+ + + + @ # $ % & * + + + + + ",
+"= = - ; > , ' ) ! ~ { ] = = = ",
+"^ / ( _ : < [ } | 1 2 3 4 ^ ^ ",
+"5 6 7 8 9 0 a b c d e f g h . ",
+"i j k l m n o p q r s t u v w ",
+"x y z A B C D E F G H I J K L ",
+"M N O P Q R S T U V W X Y Z ` ",
+" ...+.@.#.$.%.&.*.=.-.;.>.,.'.",
+").!.~.{.].^./.(._.:.<.[.}.|.1.",
+"2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.",
+"K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.",
+"Z.`. +.+++@+#+$+%+&+*+=+-+;+>+",
+",+'+)+!+~+{+]+^+/+(+_+:+<+,+,+",
+"[+[+}+|+1+2+3+4+5+6+7+8+[+[+[+",
+"9+9+9+0+a+b+c+d+e+f+g+9+9+9+9+",
+"v.v.v.v.v.v.v.v.v.v.v.v.v.v.v."};
diff --git a/themes/agua/hide-inactive.xpm b/themes/agua/hide-inactive.xpm
new file mode 100644
index 000000000..5e768842b
--- /dev/null
+++ b/themes/agua/hide-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/hide-pressed.xpm b/themes/agua/hide-pressed.xpm
new file mode 100644
index 000000000..4a7bd415b
--- /dev/null
+++ b/themes/agua/hide-pressed.xpm
@@ -0,0 +1,253 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"15 20 230 2",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #F1EDED",
+"# c #F3EAEA",
+"$ c #FAEDED",
+"% c #F9EAEA",
+"& c #FCF0F0",
+"* c #EDEDEC",
+"= c #E9E9E9",
+"- c #E9EAE7",
+"; c #E1E0DC",
+"> c #ABA3A1",
+", c #645655",
+"' c #392526",
+") c #2D1515",
+"! c #3D2324",
+"~ c #61605E",
+"{ c #A3A2A0",
+"] c #E5E5E4",
+"^ c #F1F1F1",
+"/ c #F4F3F0",
+"( c #DCCACA",
+"_ c #8C696F",
+": c #6C4548",
+"< c #A98B89",
+"[ c #D0BDB6",
+"} c #DFCDC9",
+"| c #D2BEBD",
+"1 c #A49091",
+"2 c #6D4546",
+"3 c #906461",
+"4 c #E8DCD8",
+"5 c #FDFDFD",
+"6 c #F9E9F4",
+"7 c #90707B",
+"8 c #7B4E55",
+"9 c #B98987",
+"0 c #F2CDC4",
+"a c #FEE4D7",
+"b c #FFE7DD",
+"c c #FADEDA",
+"d c #F1D0C1",
+"e c #C49083",
+"f c #884C44",
+"g c #906866",
+"h c #FBF6F8",
+"i c #ECECEC",
+"j c #C094A1",
+"k c #6E3838",
+"l c #9C5D4B",
+"m c #E1A581",
+"n c #ECBC8C",
+"o c #EAC493",
+"p c #ECC59A",
+"q c #F1C79F",
+"r c #EBB88B",
+"s c #DD9871",
+"t c #AD5C41",
+"u c #79322C",
+"v c #B8929F",
+"w c #F0EFF1",
+"x c #DBDBDB",
+"y c #954C3D",
+"z c #9D4D28",
+"A c #CE7936",
+"B c #D98C30",
+"C c #D69730",
+"D c #DEA943",
+"E c #D7A141",
+"F c #D79C40",
+"G c #DD9B47",
+"H c #D68738",
+"I c #E07D42",
+"J c #B04E35",
+"K c #8A4D52",
+"L c #E3DCE4",
+"M c #D4D4D4",
+"N c #8E2D0A",
+"O c #D06D2C",
+"P c #E98620",
+"Q c #E48B0B",
+"R c #EFA51E",
+"S c #F1B02E",
+"T c #E8A729",
+"U c #F3AC30",
+"V c #E59E2A",
+"W c #DE911B",
+"X c #E5811F",
+"Y c #CE602B",
+"Z c #7B3124",
+"` c #E4D9D9",
+" . c #D6D6D6",
+".. c #922F06",
+"+. c #E47F37",
+"@. c #F79727",
+"#. c #BB7D1A",
+"$. c #BE8C2B",
+"%. c #B88B30",
+"&. c #B78831",
+"*. c #BE9037",
+"=. c #B58526",
+"-. c #B5831D",
+";. c #F29A1E",
+">. c #EE8033",
+",. c #82371A",
+"'. c #D7CEC6",
+"). c #BFBFBF",
+"!. c #A14F1F",
+"~. c #E89545",
+"{. c #F8AB37",
+"]. c #674D19",
+"^. c #685424",
+"/. c #67572C",
+"(. c #66542A",
+"_. c #655124",
+":. c #685121",
+"<. c #614D16",
+"[. c #F4AC26",
+"}. c #F8923D",
+"|. c #914827",
+"1. c #C1BDB4",
+"2. c #B1B1B1",
+"3. c #9D5D1D",
+"4. c #E0A142",
+"5. c #F7C041",
+"6. c #B89A36",
+"7. c #B4A149",
+"8. c #B9AC5D",
+"9. c #BBAB5D",
+"0. c #BEAC57",
+"a. c #BE9D51",
+"b. c #B99C3C",
+"c. c #F8BC38",
+"d. c #F0923B",
+"e. c #9D5839",
+"f. c #B2B1AD",
+"g. c #B8B8B8",
+"h. c #886B59",
+"i. c #BB8E4A",
+"j. c #FFCC4E",
+"k. c #FFE052",
+"l. c #F7E169",
+"m. c #FAF591",
+"n. c #FFFA94",
+"o. c #FFF07D",
+"p. c #FEEA77",
+"q. c #FED652",
+"r. c #FFC643",
+"s. c #C89033",
+"t. c #967556",
+"u. c #C2BEC1",
+"v. c #CECECE",
+"w. c #9A8779",
+"x. c #9E7B45",
+"y. c #DBAC44",
+"z. c #FFE566",
+"A. c #FFF67B",
+"B. c #FBFB8B",
+"C. c #FFFD8C",
+"D. c #FFFC83",
+"E. c #FCF370",
+"F. c #FFE263",
+"G. c #E4B148",
+"H. c #A17036",
+"I. c #9C847A",
+"J. c #E4E3E9",
+"K. c #CCCCCC",
+"L. c #A19C98",
+"M. c #7A6749",
+"N. c #9B7C39",
+"O. c #E0C864",
+"P. c #F9F780",
+"Q. c #FFFF8E",
+"R. c #FFFF8D",
+"S. c #FBF67E",
+"T. c #F6F976",
+"U. c #D6C55D",
+"V. c #9F7D3E",
+"W. c #7F604E",
+"X. c #A599A5",
+"Y. c #E5E5E7",
+"Z. c #D7D7D7",
+"`. c #B2B8C4",
+" + c #807B77",
+".+ c #6A5B3A",
+"++ c #797224",
+"@+ c #949D26",
+"#+ c #BDD042",
+"$+ c #D5E551",
+"%+ c #CFD648",
+"&+ c #8D963B",
+"*+ c #6D6729",
+"=+ c #685841",
+"-+ c #897D81",
+";+ c #CACBD1",
+">+ c #DEDEDE",
+",+ c #E0E0E0",
+"'+ c #D0D8D4",
+")+ c #B1B5B6",
+"!+ c #8B848B",
+"~+ c #625C5C",
+"{+ c #4A4A42",
+"]+ c #474843",
+"^+ c #494351",
+"/+ c #433453",
+"(+ c #565B3B",
+"_+ c #626353",
+":+ c #8C8889",
+"<+ c #C2C3C5",
+"[+ c #EAEAEA",
+"}+ c #DEE0E2",
+"|+ c #BBBBC3",
+"1+ c #A5A4A9",
+"2+ c #8D8F8C",
+"3+ c #767873",
+"4+ c #757573",
+"5+ c #827E7F",
+"6+ c #83838D",
+"7+ c #9E9EA8",
+"8+ c #D2D3D5",
+"9+ c #D9D9D9",
+"0+ c #D5D5D5",
+"a+ c #CDCDCF",
+"b+ c #BEBEC7",
+"c+ c #A7A7B1",
+"d+ c #A7A7A9",
+"e+ c #B2B3AC",
+"f+ c #C5C3CB",
+"g+ c #D4D4D5",
+". . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . ",
+"+ + + + @ # $ % & * + + + + + ",
+"= = - ; > , ' ) ! ~ { ] = = = ",
+"^ / ( _ : < [ } | 1 2 3 4 ^ ^ ",
+"5 6 7 8 9 0 a b c d e f g h . ",
+"i j k l m n o p q r s t u v w ",
+"x y z A B C D E F G H I J K L ",
+"M N O P Q R S T U V W X Y Z ` ",
+" ...+.@.#.$.%.&.*.=.-.;.>.,.'.",
+").!.~.{.].^./.(._.:.<.[.}.|.1.",
+"2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.D.E.F.G.H.I.J.",
+"K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.",
+"Z.`. +.+++@+#+$+%+&+*+=+-+;+>+",
+",+'+)+!+~+{+]+^+/+(+_+:+<+,+,+",
+"[+[+}+|+1+2+3+4+5+6+7+8+[+[+[+",
+"9+9+9+0+a+b+c+d+e+f+g+9+9+9+9+",
+"v.v.v.v.v.v.v.v.v.v.v.v.v.v.v."};
diff --git a/themes/agua/left-active.xpm b/themes/agua/left-active.xpm
new file mode 100644
index 000000000..f99d41679
--- /dev/null
+++ b/themes/agua/left-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 11 19 1",
+" c None",
+". c #F2F2F2",
+"+ c #EEEEEE",
+"@ c #C1C1C1",
+"# c #B1B1B1",
+"$ c #F5F5F5",
+"% c #F4F4F4",
+"& c #C4C4C4",
+"* c #B2B2B2",
+"= c #F9F9F9",
+"- c #F7F7F7",
+"; c #F6F6F6",
+"> c #F8F8F8",
+", c #FDFDFD",
+"' c #FCFCFC",
+") c #FBFBFB",
+"! c #FAFAFA",
+"~ c #FEFEFE",
+"{ c #C7C7C7",
+".++@#",
+"$%+&*",
+"==+&*",
+"-;+@*",
+";;+&*",
+"=>+&*",
+",'+&*",
+"==+@*",
+">-+&*",
+")!+&*",
+"~,+{#"};
diff --git a/themes/agua/left-inactive.xpm b/themes/agua/left-inactive.xpm
new file mode 100644
index 000000000..f5d0b274d
--- /dev/null
+++ b/themes/agua/left-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"5 11 14 1",
+" c None",
+". c #A6B9D6",
+"+ c #9FBCDC",
+"@ c #A0B7CF",
+"# c #9BAFC9",
+"$ c #93A9CA",
+"% c #A5B8D6",
+"& c #A2BAD2",
+"* c #9DB1C9",
+"= c #90A8CA",
+"- c #A1B9D1",
+"; c #9AAFC9",
+"> c #A1B8D0",
+", c #99ADC9",
+".+@#$",
+"%+&*=",
+"%+&#=",
+"%+&#=",
+"%+-;=",
+"%+>,=",
+"%+&;=",
+"%+&;=",
+"%+&*=",
+"%+&*=",
+"%+&#="};
diff --git a/themes/agua/maximize-active.xpm b/themes/agua/maximize-active.xpm
new file mode 100644
index 000000000..812140306
--- /dev/null
+++ b/themes/agua/maximize-active.xpm
@@ -0,0 +1,258 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"15 20 235 2",
+" c None",
+". c #FBFBFB",
+"+ c #FFFFFF",
+"@ c #FAFAFA",
+"# c #FCFCFC",
+"$ c #FEFEFE",
+"% c #F0F0F0",
+"& c #F1F1F1",
+"* c #F2F2F2",
+"= c #EFEFEF",
+"- c #EDEDEC",
+"; c #EFEFED",
+"> c #F1F1F0",
+", c #ECECEC",
+"' c #EDEDED",
+") c #F3F3F3",
+"! c #EEEEEE",
+"~ c #EAEAEA",
+"{ c #EBEBEB",
+"] c #E2E2E2",
+"^ c #A3A3A1",
+"/ c #5B5B59",
+"( c #252523",
+"_ c #090A05",
+": c #2C2C2C",
+"< c #565656",
+"[ c #9F9F9F",
+"} c #DDDDDD",
+"| c #E4E0E5",
+"1 c #676067",
+"2 c #434144",
+"3 c #8A8A8C",
+"4 c #BFBEC4",
+"5 c #CECCD7",
+"6 c #C4B3C3",
+"7 c #908F94",
+"8 c #2C3836",
+"9 c #676E74",
+"0 c #DED7E9",
+"a c #F6ECF7",
+"b c #F8F7F9",
+"c c #6B706A",
+"d c #3F4A3C",
+"e c #8C9B86",
+"f c #C6D5C0",
+"g c #D6E3CF",
+"h c #EDF8E7",
+"i c #E4E6DB",
+"j c #C8D7C2",
+"k c #8FA78D",
+"l c #3B5041",
+"m c #63676A",
+"n c #F9F1FE",
+"o c #FEFDFE",
+"p c #F1F0F1",
+"q c #939892",
+"r c #243D1F",
+"s c #4A703F",
+"t c #7AA369",
+"u c #A5CB8E",
+"v c #B9DB9E",
+"w c #ABCB8C",
+"x c #B7D49E",
+"y c #98BF80",
+"z c #7AA868",
+"A c #42693A",
+"B c #253D27",
+"C c #8D9391",
+"D c #E5E3E6",
+"E c #E3DEE4",
+"F c #455441",
+"G c #2F5C23",
+"H c #4F8F39",
+"I c #569837",
+"J c #6AA644",
+"K c #6CA33D",
+"L c #74A93F",
+"M c #72AA49",
+"N c #69A63F",
+"O c #53942E",
+"P c #5A9543",
+"Q c #376131",
+"R c #3A4F3E",
+"S c #DBDFE0",
+"T c #DFDAE0",
+"U c #1F3818",
+"V c #40802C",
+"W c #40931F",
+"X c #56A62B",
+"Y c #6DB138",
+"Z c #6CAD2F",
+"` c #7DC03C",
+" . c #6FB53B",
+".. c #6AB330",
+"+. c #5AA725",
+"@. c #489223",
+"#. c #3C782E",
+"$. c #1B3E1D",
+"%. c #D1DCD6",
+"&. c #D4D3D8",
+"*. c #113509",
+"=. c #509B34",
+"-. c #51AD26",
+";. c #63B32C",
+">. c #7CBE40",
+",. c #99DA58",
+"'. c #86CD43",
+"). c #90D757",
+"!. c #84CC42",
+"~. c #6FBD2C",
+"{. c #57A626",
+"]. c #589D42",
+"^. c #113F10",
+"/. c #C3D3C6",
+"(. c #B5BBBB",
+"_. c #2D5822",
+":. c #5FAF3C",
+"<. c #69C534",
+"[. c #8AD24C",
+"}. c #95CC55",
+"|. c #A7E168",
+"1. c #9BE15D",
+"2. c #99D95F",
+"3. c #9CDE56",
+"4. c #84CC3C",
+"5. c #71BF38",
+"6. c #62AD48",
+"7. c #1B5117",
+"8. c #B6C9B6",
+"9. c #AFB9B5",
+"0. c #2F5F23",
+"a. c #5AAE34",
+"b. c #77CF3D",
+"c. c #99DB57",
+"d. c #B4E474",
+"e. c #BAEE7F",
+"f. c #B3F57A",
+"g. c #BBF682",
+"h. c #A9E463",
+"i. c #9FE052",
+"j. c #87D04A",
+"k. c #60AB42",
+"l. c #326A2B",
+"m. c #A3B6A0",
+"n. c #BCC8C4",
+"o. c #5C7852",
+"p. c #5C8E37",
+"q. c #95D857",
+"r. c #9EEA56",
+"s. c #A7EF65",
+"t. c #C3FF8F",
+"u. c #C6FE9D",
+"v. c #C8FA97",
+"w. c #B8F677",
+"x. c #A4F05C",
+"y. c #92DE58",
+"z. c #599440",
+"A. c #557754",
+"B. c #B2B9B2",
+"C. c #DFE5DE",
+"D. c #7B946D",
+"E. c #558031",
+"F. c #7DB746",
+"G. c #B3F673",
+"H. c #C8FF89",
+"I. c #C7FF8F",
+"J. c #C2F590",
+"K. c #C8FA89",
+"L. c #C7FF7F",
+"M. c #B9FC6F",
+"N. c #83C24D",
+"O. c #568541",
+"P. c #7B957C",
+"Q. c #CCD1CD",
+"R. c #E4E4E6",
+"S. c #959F9E",
+"T. c #58724F",
+"U. c #5A843C",
+"V. c #96C962",
+"W. c #C2F57C",
+"X. c #CFFF7C",
+"Y. c #DCFF84",
+"Z. c #D3FF8F",
+"`. c #BDEF74",
+" + c #9ECF5C",
+".+ c #5E8532",
+"++ c #546E47",
+"@+ c #98A59C",
+"#+ c #CCCECD",
+"$+ c #DEDEDE",
+"%+ c #C9CAD1",
+"&+ c #788480",
+"*+ c #4D6448",
+"=+ c #506F36",
+"-+ c #739541",
+";+ c #9CBF57",
+">+ c #B9DC68",
+",+ c #99C067",
+"'+ c #5D7835",
+")+ c #556541",
+"!+ c #7B817D",
+"~+ c #B7B7C1",
+"{+ c #D5D5D6",
+"]+ c #E0E0E0",
+"^+ c #C4C7C3",
+"/+ c #868F8C",
+"(+ c #5B6660",
+"_+ c #465246",
+":+ c #3F4C38",
+"<+ c #3B492F",
+"[+ c #455A33",
+"}+ c #445533",
+"|+ c #57604F",
+"1+ c #848388",
+"2+ c #B7B0C2",
+"3+ c #D6D2DD",
+"4+ c #D2D1D5",
+"5+ c #A1A1AD",
+"6+ c #858793",
+"7+ c #73767F",
+"8+ c #6C7079",
+"9+ c #6D736F",
+"0+ c #8A8E8F",
+"a+ c #A2A1A9",
+"b+ c #C4BDCD",
+"c+ c #E3DFEA",
+"d+ c #D9D9D9",
+"e+ c #D5D4D4",
+"f+ c #C5C5C4",
+"g+ c #B5B7B3",
+"h+ c #ABB0AA",
+"i+ c #AFAAB0",
+"j+ c #C1BFC4",
+"k+ c #CBCACD",
+"l+ c #CECECE",
+". + + + + + + + + + @ + + + + ",
+"# + + $ + + $ $ + $ + + . @ # ",
+"% & * = % - ; > , ' ) = ! & * ",
+"~ , { ] ^ / ( _ : < [ } { , , ",
+"& & | 1 2 3 4 5 6 7 8 9 0 a & ",
+"$ b c d e f g h i j k l m n o ",
+"p q r s t u v w x y z A B C D ",
+"E F G H I J K L M N O P Q R S ",
+"T U V W X Y Z ` ...+.@.#.$.%.",
+"&.*.=.-.;.>.,.'.).!.~.{.].^./.",
+"(._.:.<.[.}.|.1.2.3.4.5.6.7.8.",
+"9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.",
+"n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.",
+"C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.",
+"R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+",
+"$+%+&+*+=+-+;+>+,+-+'+)+!+~+{+",
+"]+]+^+/+(+_+:+<+[+}+|+1+2+3+]+",
+"~ ~ ~ 4+5+6+7+8+9+0+a+b+c+~ ~ ",
+"d+d+d+d+e+f+g+h+i+j+k+{+d+d+d+",
+"l+l+l+l+l+l+l+l+l+l+l+l+l+l+l+"};
diff --git a/themes/agua/maximize-inactive.xpm b/themes/agua/maximize-inactive.xpm
new file mode 100644
index 000000000..396a23c58
--- /dev/null
+++ b/themes/agua/maximize-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/maximize-pressed.xpm b/themes/agua/maximize-pressed.xpm
new file mode 100644
index 000000000..01ac315cc
--- /dev/null
+++ b/themes/agua/maximize-pressed.xpm
@@ -0,0 +1,258 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"15 20 235 2",
+" c None",
+". c #FBFBFB",
+"+ c #FFFFFF",
+"@ c #FAFAFA",
+"# c #FCFCFC",
+"$ c #FEFEFE",
+"% c #F0F0F0",
+"& c #F1F1F1",
+"* c #F2F2F2",
+"= c #EFEFEF",
+"- c #EDEDEC",
+"; c #EFEFED",
+"> c #F1F1F0",
+", c #ECECEC",
+"' c #EDEDED",
+") c #F3F3F3",
+"! c #EEEEEE",
+"~ c #EAEAEA",
+"{ c #EBEBEB",
+"] c #E2E2E2",
+"^ c #A3A3A1",
+"/ c #5B5B59",
+"( c #252523",
+"_ c #090A05",
+": c #2C2C2C",
+"< c #565656",
+"[ c #9F9F9F",
+"} c #DDDDDD",
+"| c #E4E0E5",
+"1 c #676067",
+"2 c #434144",
+"3 c #8A8A8C",
+"4 c #BFBEC4",
+"5 c #CECCD7",
+"6 c #C4B3C3",
+"7 c #908F94",
+"8 c #2C3836",
+"9 c #676E74",
+"0 c #DED7E9",
+"a c #F6ECF7",
+"b c #F8F7F9",
+"c c #6B706A",
+"d c #3F4A3C",
+"e c #8C9B86",
+"f c #C6D5C0",
+"g c #D6E3CF",
+"h c #EDF8E7",
+"i c #E4E6DB",
+"j c #C8D7C2",
+"k c #8FA78D",
+"l c #3B5041",
+"m c #63676A",
+"n c #F9F1FE",
+"o c #FEFDFE",
+"p c #F1F0F1",
+"q c #939892",
+"r c #243D1F",
+"s c #4A703F",
+"t c #7AA369",
+"u c #A5CB8E",
+"v c #B9DB9E",
+"w c #ABCB8C",
+"x c #B7D49E",
+"y c #98BF80",
+"z c #7AA868",
+"A c #42693A",
+"B c #253D27",
+"C c #8D9391",
+"D c #E5E3E6",
+"E c #E3DEE4",
+"F c #455441",
+"G c #2F5C23",
+"H c #4F8F39",
+"I c #569837",
+"J c #6AA644",
+"K c #50792D",
+"L c #2D4118",
+"M c #547E36",
+"N c #69A63F",
+"O c #53942E",
+"P c #5A9543",
+"Q c #376131",
+"R c #3A4F3E",
+"S c #DBDFE0",
+"T c #DFDAE0",
+"U c #1F3818",
+"V c #40802C",
+"W c #40931F",
+"X c #56A62B",
+"Y c #6DB138",
+"Z c #508023",
+"` c #304A17",
+" . c #52862B",
+".. c #6AB330",
+"+. c #5AA725",
+"@. c #489223",
+"#. c #3C782E",
+"$. c #1B3E1D",
+"%. c #D1DCD6",
+"&. c #D4D3D8",
+"*. c #113509",
+"=. c #509B34",
+"-. c #51AD26",
+";. c #498520",
+">. c #5C8D2F",
+",. c #72A241",
+"'. c #344F1A",
+"). c #6BA040",
+"!. c #629831",
+"~. c #528C20",
+"{. c #57A626",
+"]. c #589D42",
+"^. c #113F10",
+"/. c #C3D3C6",
+"(. c #B5BBBB",
+"_. c #2D5822",
+":. c #5FAF3C",
+"<. c #69C534",
+"[. c #35511D",
+"}. c #394F21",
+"|. c #405728",
+"1. c #3C5724",
+"2. c #3B5424",
+"3. c #3C5621",
+"4. c #334F17",
+"5. c #71BF38",
+"6. c #62AD48",
+"7. c #1B5117",
+"8. c #B6C9B6",
+"9. c #AFB9B5",
+"0. c #2F5F23",
+"a. c #5AAE34",
+"b. c #77CF3D",
+"c. c #72A340",
+"d. c #86A956",
+"e. c #8AB15E",
+"f. c #455F2F",
+"g. c #8BB760",
+"h. c #7DA949",
+"i. c #76A63D",
+"j. c #87D04A",
+"k. c #60AB42",
+"l. c #326A2B",
+"m. c #A3B6A0",
+"n. c #BCC8C4",
+"o. c #5C7852",
+"p. c #5C8E37",
+"q. c #95D857",
+"r. c #9EEA56",
+"s. c #A7EF65",
+"t. c #91BE6A",
+"u. c #4C623C",
+"v. c #95BA70",
+"w. c #B8F677",
+"x. c #A4F05C",
+"y. c #92DE58",
+"z. c #599440",
+"A. c #557754",
+"B. c #B2B9B2",
+"C. c #DFE5DE",
+"D. c #7B946D",
+"E. c #558031",
+"F. c #7DB746",
+"G. c #B3F673",
+"H. c #C8FF89",
+"I. c #94BE6A",
+"J. c #4B5F37",
+"K. c #95BA66",
+"L. c #C7FF7F",
+"M. c #B9FC6F",
+"N. c #83C24D",
+"O. c #568541",
+"P. c #7B957C",
+"Q. c #CCD1CD",
+"R. c #E4E4E6",
+"S. c #959F9E",
+"T. c #58724F",
+"U. c #5A843C",
+"V. c #96C962",
+"W. c #C2F57C",
+"X. c #CFFF7C",
+"Y. c #DCFF84",
+"Z. c #D3FF8F",
+"`. c #BDEF74",
+" + c #9ECF5C",
+".+ c #5E8532",
+"++ c #546E47",
+"@+ c #98A59C",
+"#+ c #CCCECD",
+"$+ c #DEDEDE",
+"%+ c #C9CAD1",
+"&+ c #788480",
+"*+ c #4D6448",
+"=+ c #506F36",
+"-+ c #739541",
+";+ c #9CBF57",
+">+ c #B9DC68",
+",+ c #99C067",
+"'+ c #5D7835",
+")+ c #556541",
+"!+ c #7B817D",
+"~+ c #B7B7C1",
+"{+ c #D5D5D6",
+"]+ c #E0E0E0",
+"^+ c #C4C7C3",
+"/+ c #868F8C",
+"(+ c #5B6660",
+"_+ c #465246",
+":+ c #3F4C38",
+"<+ c #3B492F",
+"[+ c #455A33",
+"}+ c #445533",
+"|+ c #57604F",
+"1+ c #848388",
+"2+ c #B7B0C2",
+"3+ c #D6D2DD",
+"4+ c #D2D1D5",
+"5+ c #A1A1AD",
+"6+ c #858793",
+"7+ c #73767F",
+"8+ c #6C7079",
+"9+ c #6D736F",
+"0+ c #8A8E8F",
+"a+ c #A2A1A9",
+"b+ c #C4BDCD",
+"c+ c #E3DFEA",
+"d+ c #D9D9D9",
+"e+ c #D5D4D4",
+"f+ c #C5C5C4",
+"g+ c #B5B7B3",
+"h+ c #ABB0AA",
+"i+ c #AFAAB0",
+"j+ c #C1BFC4",
+"k+ c #CBCACD",
+"l+ c #CECECE",
+". + + + + + + + + + @ + + + + ",
+"# + + $ + + $ $ + $ + + . @ # ",
+"% & * = % - ; > , ' ) = ! & * ",
+"~ , { ] ^ / ( _ : < [ } { , , ",
+"& & | 1 2 3 4 5 6 7 8 9 0 a & ",
+"$ b c d e f g h i j k l m n o ",
+"p q r s t u v w x y z A B C D ",
+"E F G H I J K L M N O P Q R S ",
+"T U V W X Y Z ` ...+.@.#.$.%.",
+"&.*.=.-.;.>.,.'.).!.~.{.].^./.",
+"(._.:.<.[.}.|.1.2.3.4.5.6.7.8.",
+"9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.",
+"n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.",
+"C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.",
+"R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+",
+"$+%+&+*+=+-+;+>+,+-+'+)+!+~+{+",
+"]+]+^+/+(+_+:+<+[+}+|+1+2+3+]+",
+"~ ~ ~ 4+5+6+7+8+9+0+a+b+c+~ ~ ",
+"d+d+d+d+e+f+g+h+i+j+k+{+d+d+d+",
+"l+l+l+l+l+l+l+l+l+l+l+l+l+l+l+"};
diff --git a/themes/agua/menu-active.xpm b/themes/agua/menu-active.xpm
new file mode 100644
index 000000000..729f909ad
--- /dev/null
+++ b/themes/agua/menu-active.xpm
@@ -0,0 +1,204 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"15 20 181 2",
+" c None",
+". c #FBFBFB",
+"+ c #FFFFFF",
+"@ c #FAFAFA",
+"# c #FCFCFC",
+"$ c #FEFEFE",
+"% c #F0F0F0",
+"& c #F1F1F1",
+"* c #F2F2F2",
+"= c #EFEFEF",
+"- c #ECECEC",
+"; c #EEEEEE",
+"> c #EDEDED",
+", c #F3F3F3",
+"' c #EAEAEA",
+") c #EBEBEB",
+"! c #E2E2E2",
+"~ c #98A3AC",
+"{ c #365E7E",
+"] c #042B44",
+"^ c #000A11",
+"/ c #043453",
+"( c #325A7A",
+"_ c #95A0A9",
+": c #DDDDDD",
+"< c #E1E1E1",
+"[ c #49657A",
+"} c #064E7B",
+"| c #548EBF",
+"1 c #94C5E7",
+"2 c #A9D4F0",
+"3 c #8DBEE4",
+"4 c #5A93C3",
+"5 c #003F67",
+"6 c #536E85",
+"7 c #DBDBDB",
+"8 c #F7F7F7",
+"9 c #576E82",
+"0 c #0A4F7F",
+"a c #5F98C8",
+"b c #ABD5F0",
+"c c #C1E4F6",
+"d c #E7F8FC",
+"e c #CEECF9",
+"f c #AED9F1",
+"g c #68A0CF",
+"h c #0D5282",
+"i c #50677B",
+"j c #F4F4F4",
+"k c #FDFDFD",
+"l c #929598",
+"m c #033C60",
+"n c #256698",
+"o c #5B94C4",
+"p c #8CBDE3",
+"q c #A5D2EE",
+"r c #8EC1E5",
+"s c #9ECBEB",
+"t c #7CB2DB",
+"u c #5E97C7",
+"v c #1E5F91",
+"w c #033D63",
+"x c #8D9093",
+"y c #E3E3E3",
+"z c #E0E0E0",
+"A c #325267",
+"B c #3876AB",
+"C c #3F7DB2",
+"D c #538DBE",
+"E c #508BBD",
+"F c #5791C2",
+"G c #5892C3",
+"H c #518CBE",
+"I c #3B79AE",
+"J c #407EB3",
+"K c #155988",
+"L c #2B4B61",
+"M c #DCDCDC",
+"N c #0B334D",
+"O c #296A9C",
+"P c #3371A6",
+"Q c #4884B7",
+"R c #558FC0",
+"S c #69A1D0",
+"T c #5C96C7",
+"U c #4A85B7",
+"V c #3573A8",
+"W c #236496",
+"X c #0B3753",
+"Y c #D8D8D8",
+"Z c #D3D3D3",
+"` c #022B48",
+" . c #4B86B8",
+".. c #5690C1",
+"+. c #77AED8",
+"@. c #85B8E0",
+"#. c #75ABD8",
+"$. c #6199C8",
+"%. c #4582B6",
+"&. c #033454",
+"*. c #CCCCCC",
+"=. c #B9B9B9",
+"-. c #649DCD",
+";. c #7DB3DC",
+">. c #7EB4DD",
+",. c #99C9EA",
+"'. c #93C4E6",
+"). c #90C2E5",
+"!. c #74AAD7",
+"~. c #639CCC",
+"{. c #004673",
+"]. c #C1C1C1",
+"^. c #B5B5B5",
+"/. c #135380",
+"(. c #72A8D5",
+"_. c #A3D1EE",
+":. c #B1DAF2",
+"<. c #B2DBF3",
+"[. c #B9E0F4",
+"}. c #9CCAEB",
+"|. c #91C1E6",
+"1. c #7BB1DA",
+"2. c #1C5B87",
+"3. c #ADADAD",
+"4. c #C3C3C3",
+"5. c #3F6E96",
+"6. c #88BAE1",
+"7. c #C7E8F8",
+"8. c #CBEBF8",
+"9. c #B6DDF3",
+"0. c #A2D0ED",
+"a. c #3C6B93",
+"b. c #B6B6B6",
+"c. c #6F8AA1",
+"d. c #316EA2",
+"e. c #C9E9F8",
+"f. c #BEE2F5",
+"g. c #C4E7F7",
+"h. c #BAE1F5",
+"i. c #6FA6D4",
+"j. c #718CA2",
+"k. c #CFCFCF",
+"l. c #E4E4E4",
+"m. c #989B9E",
+"n. c #306A9B",
+"o. c #D1EEF9",
+"p. c #D0EDF9",
+"q. c #3674A9",
+"r. c #2B6896",
+"s. c #9DA0A3",
+"t. c #CDCDCD",
+"u. c #DEDEDE",
+"v. c #CACACA",
+"w. c #6A8094",
+"x. c #206193",
+"y. c #78AFD9",
+"z. c #79ADDA",
+"A. c #2E6CA1",
+"B. c #226395",
+"C. c #697F93",
+"D. c #B8B8B8",
+"E. c #D5D5D5",
+"F. c #C5C5C5",
+"G. c #748DA2",
+"H. c #29699A",
+"I. c #135786",
+"J. c #115686",
+"K. c #216294",
+"L. c #6C859A",
+"M. c #B4B4B4",
+"N. c #D4D4D4",
+"O. c #D1D1D1",
+"P. c #648AA9",
+"Q. c #427AA9",
+"R. c #3C74A3",
+"S. c #6A8FAD",
+"T. c #C0C0C0",
+"U. c #D9D9D9",
+"V. c #C4C4C4",
+"W. c #ACACAC",
+"X. c #CECECE",
+". + + + + + + + + + @ + + + + ",
+"# + + $ + + $ $ + $ + + . @ # ",
+"% & * = % - ; % - > , = ; & * ",
+"' - ) ! ~ { ] ^ / ( _ : ) - - ",
+"& & < [ } | 1 2 3 4 5 6 7 % & ",
+"$ 8 9 0 a b c d e f g h i j k ",
+"% l m n o p q r s t u v w x y ",
+"z A h B C D E F G H I J K L : ",
+"M N O P Q 4 R S T G U V W X Y ",
+"Z ` C ...g p +.@.#.$.Q %.&.*.",
+"=.0 | -.;.>.,.'.p ).!.~.R {.].",
+"^./.E (.p _.:.<.[.}.|.1.H 2.3.",
+"4.5.I 6.,.q 7.8.7.9.0.p C a.b.",
+"! c.d.-.<.e.e.f.g.7.h.i.V j.k.",
+"l.m.n.V >.h.8.o.p.:.@.q.r.s.t.",
+"u.v.w.x.n U y.}.z.U A.B.C.D.E.",
+"z z F.G.H.I.0 } K J.K.L.M.N.z ",
+"' ' ' O.~ P.Q.V R.S.~ T.< ' ' ",
+"U.U.U.U.N.V.^.3.W.T.v.E.U.U.U.",
+"X.X.X.X.X.X.X.X.X.X.X.X.X.X.X."};
diff --git a/themes/agua/menu-inactive.xpm b/themes/agua/menu-inactive.xpm
new file mode 100644
index 000000000..396a23c58
--- /dev/null
+++ b/themes/agua/menu-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/menu-pressed.xpm b/themes/agua/menu-pressed.xpm
new file mode 100644
index 000000000..e012b4c0f
--- /dev/null
+++ b/themes/agua/menu-pressed.xpm
@@ -0,0 +1,212 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"15 20 189 2",
+" c None",
+". c #FBFBFB",
+"+ c #FFFFFF",
+"@ c #FAFAFA",
+"# c #FCFCFC",
+"$ c #FEFEFE",
+"% c #F0F0F0",
+"& c #F1F1F1",
+"* c #F2F2F2",
+"= c #EFEFEF",
+"- c #ECECEC",
+"; c #EEEEEE",
+"> c #EDEDED",
+", c #F3F3F3",
+"' c #EAEAEA",
+") c #EBEBEB",
+"! c #E2E2E2",
+"~ c #98A3AC",
+"{ c #365E7E",
+"] c #042B44",
+"^ c #000A11",
+"/ c #043453",
+"( c #325A7A",
+"_ c #95A0A9",
+": c #DDDDDD",
+"< c #E1E1E1",
+"[ c #49657A",
+"} c #064E7B",
+"| c #548EBF",
+"1 c #94C5E7",
+"2 c #A9D4F0",
+"3 c #8DBEE4",
+"4 c #5A93C3",
+"5 c #003F67",
+"6 c #536E85",
+"7 c #DBDBDB",
+"8 c #F7F7F7",
+"9 c #576E82",
+"0 c #0A4F7F",
+"a c #5F98C8",
+"b c #ABD5F0",
+"c c #C1E4F6",
+"d c #E7F8FC",
+"e c #CEECF9",
+"f c #AED9F1",
+"g c #68A0CF",
+"h c #0D5282",
+"i c #50677B",
+"j c #F4F4F4",
+"k c #FDFDFD",
+"l c #929598",
+"m c #033C60",
+"n c #256698",
+"o c #5B94C4",
+"p c #8CBDE3",
+"q c #A5D2EE",
+"r c #8EC1E5",
+"s c #9ECBEB",
+"t c #7CB2DB",
+"u c #5E97C7",
+"v c #1E5F91",
+"w c #033D63",
+"x c #8D9093",
+"y c #E3E3E3",
+"z c #E0E0E0",
+"A c #325267",
+"B c #3876AB",
+"C c #3F7DB2",
+"D c #538DBE",
+"E c #508BBD",
+"F c #5791C2",
+"G c #5892C3",
+"H c #518CBE",
+"I c #3B79AE",
+"J c #407EB3",
+"K c #155988",
+"L c #2B4B61",
+"M c #DCDCDC",
+"N c #0B334D",
+"O c #296A9C",
+"P c #3371A6",
+"Q c #4884B7",
+"R c #558FC0",
+"S c #69A1D0",
+"T c #5C96C7",
+"U c #4A85B7",
+"V c #3573A8",
+"W c #236496",
+"X c #0B3753",
+"Y c #D8D8D8",
+"Z c #D3D3D3",
+"` c #022B48",
+" . c #3771A3",
+".. c #2B5C88",
+"+. c #2E5E87",
+"@. c #396990",
+"#. c #4F7A99",
+"$. c #437395",
+"%. c #4D799A",
+"&. c #457499",
+"*. c #3B6B94",
+"=. c #2E6290",
+"-. c #4582B6",
+";. c #033454",
+">. c #CCCCCC",
+",. c #B9B9B9",
+"'. c #4A80AE",
+"). c #05253D",
+"!. c #4276A1",
+"~. c #004673",
+"{. c #C1C1C1",
+"]. c #B5B5B5",
+"^. c #135380",
+"/. c #467EAC",
+"(. c #47779D",
+"_. c #517D9D",
+":. c #628AA3",
+"<. c #688CA2",
+"[. c #6C91A6",
+"}. c #7193A6",
+"|. c #618AA6",
+"1. c #5E8AA9",
+"2. c #5688AC",
+"3. c #1C5B87",
+"4. c #ADADAD",
+"5. c #C3C3C3",
+"6. c #3F6E96",
+"7. c #88BAE1",
+"8. c #99C9EA",
+"9. c #C7E8F8",
+"0. c #CBEBF8",
+"a. c #B6DDF3",
+"b. c #A2D0ED",
+"c. c #3C6B93",
+"d. c #B6B6B6",
+"e. c #6F8AA1",
+"f. c #316EA2",
+"g. c #649DCD",
+"h. c #B2DBF3",
+"i. c #C9E9F8",
+"j. c #BEE2F5",
+"k. c #C4E7F7",
+"l. c #BAE1F5",
+"m. c #6FA6D4",
+"n. c #718CA2",
+"o. c #CFCFCF",
+"p. c #E4E4E4",
+"q. c #989B9E",
+"r. c #306A9B",
+"s. c #7EB4DD",
+"t. c #D1EEF9",
+"u. c #D0EDF9",
+"v. c #B1DAF2",
+"w. c #85B8E0",
+"x. c #3674A9",
+"y. c #2B6896",
+"z. c #9DA0A3",
+"A. c #CDCDCD",
+"B. c #DEDEDE",
+"C. c #CACACA",
+"D. c #6A8094",
+"E. c #206193",
+"F. c #78AFD9",
+"G. c #9CCAEB",
+"H. c #79ADDA",
+"I. c #2E6CA1",
+"J. c #226395",
+"K. c #697F93",
+"L. c #B8B8B8",
+"M. c #D5D5D5",
+"N. c #C5C5C5",
+"O. c #748DA2",
+"P. c #29699A",
+"Q. c #135786",
+"R. c #115686",
+"S. c #216294",
+"T. c #6C859A",
+"U. c #B4B4B4",
+"V. c #D4D4D4",
+"W. c #D1D1D1",
+"X. c #648AA9",
+"Y. c #427AA9",
+"Z. c #3C74A3",
+"`. c #6A8FAD",
+" + c #C0C0C0",
+".+ c #D9D9D9",
+"++ c #C4C4C4",
+"@+ c #ACACAC",
+"#+ c #CECECE",
+". + + + + + + + + + @ + + + + ",
+"# + + $ + + $ $ + $ + + . @ # ",
+"% & * = % - ; % - > , = ; & * ",
+"' - ) ! ~ { ] ^ / ( _ : ) - - ",
+"& & < [ } | 1 2 3 4 5 6 7 % & ",
+"$ 8 9 0 a b c d e f g h i j k ",
+"% l m n o p q r s t u v w x y ",
+"z A h B C D E F G H I J K L : ",
+"M N O P Q 4 R S T G U V W X Y ",
+"Z ` ...+.@.#.$.%.&.*.=.-.;.>.",
+",.0 '.).).).).).).).).!.R ~.{.",
+"].^./.(._.:.<.[.}.|.1.2.H 3.4.",
+"5.6.I 7.8.q 9.0.9.a.b.p C c.d.",
+"! e.f.g.h.i.i.j.k.9.l.m.V n.o.",
+"p.q.r.V s.l.0.t.u.v.w.x.y.z.A.",
+"B.C.D.E.n U F.G.H.U I.J.K.L.M.",
+"z z N.O.P.Q.0 } K R.S.T.U.V.z ",
+"' ' ' W.~ X.Y.V Z.`.~ +< ' ' ",
+".+.+.+.+V.++].4.@+ +C.M..+.+.+",
+"#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+"};
diff --git a/themes/agua/right-active.xpm b/themes/agua/right-active.xpm
new file mode 100644
index 000000000..274ce396b
--- /dev/null
+++ b/themes/agua/right-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 11 19 1",
+" c None",
+". c #F2F2F2",
+"+ c #EEEEEE",
+"@ c #C1C1C1",
+"# c #B1B1B1",
+"$ c #F5F5F5",
+"% c #F4F4F4",
+"& c #C4C4C4",
+"* c #B2B2B2",
+"= c #F9F9F9",
+"- c #F7F7F7",
+"; c #F6F6F6",
+"> c #F8F8F8",
+", c #FDFDFD",
+"' c #FCFCFC",
+") c #FBFBFB",
+"! c #FAFAFA",
+"~ c #FEFEFE",
+"{ c #C7C7C7",
+".++@#",
+"$%+&*",
+"==+&*",
+"-;+@*",
+";;+&*",
+"=>+&*",
+",'+&*",
+"==+@*",
+">-+&*",
+")!+&*",
+"~,+{#"};
diff --git a/themes/agua/right-inactive.xpm b/themes/agua/right-inactive.xpm
new file mode 100644
index 000000000..6d7f9b256
--- /dev/null
+++ b/themes/agua/right-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"5 11 14 1",
+" c None",
+". c #A6B9D6",
+"+ c #9FBCDC",
+"@ c #A0B7CF",
+"# c #9BAFC9",
+"$ c #93A9CA",
+"% c #A5B8D6",
+"& c #A2BAD2",
+"* c #9DB1C9",
+"= c #90A8CA",
+"- c #A1B9D1",
+"; c #9AAFC9",
+"> c #A1B8D0",
+", c #99ADC9",
+".+@#$",
+"%+&*=",
+"%+&#=",
+"%+&#=",
+"%+-;=",
+"%+>,=",
+"%+&;=",
+"%+&;=",
+"%+&*=",
+"%+&*=",
+"%+&#="};
diff --git a/themes/agua/shade-active.xpm b/themes/agua/shade-active.xpm
new file mode 100644
index 000000000..6b34b6e54
--- /dev/null
+++ b/themes/agua/shade-active.xpm
@@ -0,0 +1,155 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"15 20 132 2",
+" c None",
+". c #FFFFFF",
+"+ c #FEFEFE",
+"@ c #FDFDFD",
+"# c #F0F0F0",
+"$ c #F5F5F5",
+"% c #EAEAEA",
+"& c #F4F4F4",
+"* c #EEEEEE",
+"= c #E9E9E9",
+"- c #EFEFEF",
+"; c #F1F1F1",
+"> c #EBEBEB",
+", c #D9D9D9",
+"' c #A6A6A6",
+") c #606060",
+"! c #2C2C2C",
+"~ c #0F0F0F",
+"{ c #2A2A2A",
+"] c #5E5E5E",
+"^ c #DEDEDE",
+"/ c #D7D7D7",
+"( c #6D6D6D",
+"_ c #4B4B4B",
+": c #A0A0A0",
+"< c #CACACA",
+"[ c #C5C5C5",
+"} c #9C9C9C",
+"| c #585858",
+"1 c #6A6A6A",
+"2 c #F2F2F2",
+"3 c #777777",
+"4 c #5D5D5D",
+"5 c #AFAFAF",
+"6 c #ECECEC",
+"7 c #F9F9F9",
+"8 c #E8E8E8",
+"9 c #DDDDDD",
+"0 c #A9A9A9",
+"a c #5B5B5B",
+"b c #757575",
+"c c #F3F3F3",
+"d c #959595",
+"e c #474747",
+"f c #BBBBBB",
+"g c #D3D3D3",
+"h c #D4D4D4",
+"i c #B9B9B9",
+"j c #7B7B7B",
+"k c #414141",
+"l c #9E9E9E",
+"m c #DCDCDC",
+"n c #4E4E4E",
+"o c #737373",
+"p c #ABABAB",
+"q c #BABABA",
+"r c #C1C1C1",
+"s c #B5B5B5",
+"t c #B2B2B2",
+"u c #A2A2A2",
+"v c #6C6C6C",
+"w c #D2D2D2",
+"x c #8F8F8F",
+"y c #B6B6B6",
+"z c #C2C2C2",
+"A c #C7C7C7",
+"B c #C0C0C0",
+"C c #B0B0B0",
+"D c #AAAAAA",
+"E c #999999",
+"F c #454545",
+"G c #D1D1D1",
+"H c #B1B1B1",
+"I c #CFCFCF",
+"J c #D8D8D8",
+"K c #D5D5D5",
+"L c #C9C9C9",
+"M c #595959",
+"N c #CECECE",
+"O c #BFBFBF",
+"P c #626262",
+"Q c #C3C3C3",
+"R c #D0D0D0",
+"S c #E0E0E0",
+"T c #E6E6E6",
+"U c #E2E2E2",
+"V c #676767",
+"W c #767676",
+"X c #DADADA",
+"Y c #F7F7F7",
+"Z c #7A7A7A",
+"` c #A7A7A7",
+" . c #EDEDED",
+".. c #FAFAFA",
+"+. c #FBFBFB",
+"@. c #E7E7E7",
+"#. c #7C7C7C",
+"$. c #8C8C8C",
+"%. c #878787",
+"&. c #F6F6F6",
+"*. c #FCFCFC",
+"=. c #CCCCCC",
+"-. c #898989",
+";. c #888888",
+">. c #CDCDCD",
+",. c #939393",
+"'. c #E4E4E4",
+"). c #6B6B6B",
+"!. c #E1E1E1",
+"~. c #7F7F7F",
+"{. c #5A5A5A",
+"]. c #727272",
+"^. c #9F9F9F",
+"/. c #747474",
+"(. c #565656",
+"_. c #656565",
+":. c #4A4A4A",
+"<. c #424242",
+"[. c #434343",
+"}. c #4D4D4D",
+"|. c #8B8B8B",
+"1. c #DBDBDB",
+"2. c #A3A3A3",
+"3. c #929292",
+"4. c #818181",
+"5. c #A1A1A1",
+"6. c #BEBEBE",
+"7. c #A5A5A5",
+"8. c #B3B3B3",
+"9. c #B8B8B8",
+"0. c #C4C4C4",
+"a. c #D6D6D6",
+". . . . . . . . . . . . . . . ",
+". . . + @ . . . . @ + . . . . ",
+"# # # $ $ # % & * = - ; # # # ",
+"= > * , ' ) ! ~ { ] ' ^ % = = ",
+"# - / ( _ : < / [ } | 1 , 2 ; ",
+"+ * 3 4 5 , 6 7 8 9 0 a b c + ",
+"> d e 3 f g / , , h i j k l - ",
+"m n o p ' q r s f t u p v n ^ ",
+"w _ x ' y y z A B B C D E F ^ ",
+"G ] H t I I , J K I L p C M N ",
+"O P Q R w S T U = , J L B V q ",
+"5 W y X T - $ Y c * U G i ( i ",
+"i Z ` .* ... ... +.@.S 0 #.Q ",
+"N $.%.< @ . &.. *.@ &.=.-.;.^ ",
+">.} ( ,.'.. . . . +.X x ).l !.",
+"h O ~.{.].^.w % G ' /.(.Z Q ^ ",
+"^ =.s $._.:.<.[.k }.P |.i 1.S ",
+"% % ^ B 2.3.4.W 4.3.5.O U % % ",
+", , J N L 6.5 7.8.9.0.a., , , ",
+"N N N N G < >.>.>.L >.>.>.N N "};
diff --git a/themes/agua/shade-inactive.xpm b/themes/agua/shade-inactive.xpm
new file mode 100644
index 000000000..af8d8c31c
--- /dev/null
+++ b/themes/agua/shade-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/shade-pressed.xpm b/themes/agua/shade-pressed.xpm
new file mode 100644
index 000000000..9043a262d
--- /dev/null
+++ b/themes/agua/shade-pressed.xpm
@@ -0,0 +1,161 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"15 20 138 2",
+" c None",
+". c #FFFFFF",
+"+ c #FEFEFE",
+"@ c #FDFDFD",
+"# c #F0F0F0",
+"$ c #F5F5F5",
+"% c #EAEAEA",
+"& c #F4F4F4",
+"* c #EEEEEE",
+"= c #E9E9E9",
+"- c #EFEFEF",
+"; c #F1F1F1",
+"> c #EBEBEB",
+", c #D9D9D9",
+"' c #A6A6A6",
+") c #606060",
+"! c #2C2C2C",
+"~ c #0F0F0F",
+"{ c #2A2A2A",
+"] c #5E5E5E",
+"^ c #DEDEDE",
+"/ c #D7D7D7",
+"( c #6D6D6D",
+"_ c #4B4B4B",
+": c #A0A0A0",
+"< c #CACACA",
+"[ c #C5C5C5",
+"} c #9C9C9C",
+"| c #585858",
+"1 c #6A6A6A",
+"2 c #F2F2F2",
+"3 c #777777",
+"4 c #5D5D5D",
+"5 c #AFAFAF",
+"6 c #ECECEC",
+"7 c #F9F9F9",
+"8 c #E8E8E8",
+"9 c #DDDDDD",
+"0 c #A9A9A9",
+"a c #5B5B5B",
+"b c #757575",
+"c c #F3F3F3",
+"d c #959595",
+"e c #474747",
+"f c #BBBBBB",
+"g c #D3D3D3",
+"h c #D5D5D5",
+"i c #D4D4D4",
+"j c #B9B9B9",
+"k c #7B7B7B",
+"l c #414141",
+"m c #9E9E9E",
+"n c #DCDCDC",
+"o c #4E4E4E",
+"p c #737373",
+"q c #ABABAB",
+"r c #B3B3B3",
+"s c #888888",
+"t c #A8A8A8",
+"u c #B1B1B1",
+"v c #A2A2A2",
+"w c #6C6C6C",
+"x c #D2D2D2",
+"y c #8F8F8F",
+"z c #979797",
+"A c #767676",
+"B c #808080",
+"C c #AEAEAE",
+"D c #AAAAAA",
+"E c #999999",
+"F c #454545",
+"G c #D1D1D1",
+"H c #B0B0B0",
+"I c #818181",
+"J c #7E7E7E",
+"K c #8A8A8A",
+"L c #595959",
+"M c #CECECE",
+"N c #BFBFBF",
+"O c #626262",
+"P c #C2C2C2",
+"Q c #BABABA",
+"R c #878787",
+"S c #9B9B9B",
+"T c #C0C0C0",
+"U c #909090",
+"V c #C1C1C1",
+"W c #676767",
+"X c #B2B2B2",
+"Y c #969696",
+"Z c #CCCCCC",
+"` c #B4B4B4",
+" . c #7A7A7A",
+".. c #A5A5A5",
+"+. c #B7B7B7",
+"@. c #E2E2E2",
+"#. c #FCFCFC",
+"$. c #FAFAFA",
+"%. c #CBCBCB",
+"&. c #949494",
+"*. c #C9C9C9",
+"=. c #7C7C7C",
+"-. c #C3C3C3",
+";. c #8C8C8C",
+">. c #C8C8C8",
+",. c #F6F6F6",
+"'. c #F8F8F8",
+"). c #E1E1E1",
+"!. c #898989",
+"~. c #CDCDCD",
+"{. c #939393",
+"]. c #E4E4E4",
+"^. c #FBFBFB",
+"/. c #DADADA",
+"(. c #6B6B6B",
+"_. c #7F7F7F",
+":. c #5A5A5A",
+"<. c #727272",
+"[. c #9F9F9F",
+"}. c #747474",
+"|. c #565656",
+"1. c #B5B5B5",
+"2. c #656565",
+"3. c #4A4A4A",
+"4. c #424242",
+"5. c #434343",
+"6. c #4D4D4D",
+"7. c #8B8B8B",
+"8. c #DBDBDB",
+"9. c #E0E0E0",
+"0. c #A3A3A3",
+"a. c #929292",
+"b. c #A1A1A1",
+"c. c #D8D8D8",
+"d. c #BEBEBE",
+"e. c #B8B8B8",
+"f. c #C4C4C4",
+"g. c #D6D6D6",
+". . . . . . . . . . . . . . . ",
+". . . + @ . . . . @ + . . . . ",
+"# # # $ $ # % & * = - ; # # # ",
+"= > * , ' ) ! ~ { ] ' ^ % = = ",
+"# - / ( _ : < / [ } | 1 , 2 ; ",
+"+ * 3 4 5 , 6 7 8 9 0 a b c + ",
+"> d e 3 f g h g / i j k l m - ",
+"n o p q ' r m s t u v q w o ^ ",
+"x _ y ' r z A 4 B C 5 D E F ^ ",
+"G ] u H C I 4 J 4 K j D H L M ",
+"N O P Q R 4 S T U 4 } V T W Q ",
+"5 A X q 4 Y n 2 Z s 4 ` j ( j ",
+"j .../ +.@.#.$.$.%.&.*.0 =.-.",
+"M ;.R >.$ @ ,.. #.'.).*.!.s ^ ",
+"~.} ( {.].. . . . ^./.y (.m ).",
+"i N _.:.<.[.x % G ' }.|. .-.^ ",
+"^ Z 1.;.2.3.4.5.l 6.O 7.j 8.9.",
+"% % ^ T 0.a.I A I a.b.N @.% % ",
+", , c.M *.d.5 ..r e.f.g., , , ",
+"M M M M G < ~.~.~.*.~.~.~.M M "};
diff --git a/themes/agua/stick-active.xpm b/themes/agua/stick-active.xpm
new file mode 100644
index 000000000..8051d388d
--- /dev/null
+++ b/themes/agua/stick-active.xpm
@@ -0,0 +1,192 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"15 20 169 2",
+" c None",
+". c #FFFFFF",
+"+ c #FEFEFE",
+"@ c #FDFDFD",
+"# c #F0F0F0",
+"$ c #F5F5F5",
+"% c #EAEAEA",
+"& c #F4F4F4",
+"* c #EEEEEE",
+"= c #E9E9E9",
+"- c #EFEFEF",
+"; c #F1F1F1",
+"> c #EBEBEB",
+", c #D9D9D9",
+"' c #AAA1AA",
+") c #754A75",
+"! c #520453",
+"~ c #1D001D",
+"{ c #4F044F",
+"] c #734873",
+"^ c #DEDEDE",
+"/ c #D7D7D7",
+"( c #7C5D7D",
+"_ c #6F2570",
+": c #B28DB2",
+"< c #D8BAD9",
+"[ c #E3C9E4",
+"} c #D4B5D4",
+"| c #AE89AE",
+"1 c #7A357A",
+"2 c #795A7A",
+"3 c #F2F2F2",
+"4 c #856885",
+"5 c #7E3B7E",
+"6 c #C09DC0",
+"7 c #E5CCE5",
+"8 c #F4E3F4",
+"9 c #FCF5FC",
+"0 c #F1DEF1",
+"a c #E8D0E8",
+"b c #BA97BA",
+"c c #7C387D",
+"d c #836683",
+"e c #F3F3F3",
+"f c #989298",
+"g c #6C206D",
+"h c #955895",
+"i c #CBAACB",
+"j c #E0C5E0",
+"k c #E1C6E1",
+"l c #C9A8C9",
+"m c #985C99",
+"n c #681869",
+"o c #A19BA1",
+"p c #DCDCDC",
+"q c #623962",
+"r c #915392",
+"s c #BC99BC",
+"t c #B893B8",
+"u c #CAA9CA",
+"v c #D0B0D1",
+"w c #C5A3C6",
+"x c #C3A0C3",
+"y c #B48FB4",
+"z c #8A4C8B",
+"A c #D2D2D2",
+"B c #692B6A",
+"C c #A478A5",
+"D c #C6A5C6",
+"E c #D1B1D2",
+"F c #D6B7D6",
+"G c #CFAFD0",
+"H c #C19EC1",
+"I c #BB97BC",
+"J c #AB86AB",
+"K c #652465",
+"L c #D1D1D1",
+"M c #7E3D7E",
+"N c #C29FC2",
+"O c #DDC0DD",
+"P c #E4CAE5",
+"Q c #E2C7E2",
+"R c #D7B9D8",
+"S c #79377A",
+"T c #CECECE",
+"U c #BFBFBF",
+"V c #814182",
+"W c #D2B2D2",
+"X c #DEC1DE",
+"Y c #DFC4DF",
+"Z c #EBD4EB",
+"` c #EFDBF0",
+" . c #ECD7EC",
+".. c #F2DFF2",
+"+. c #854885",
+"@. c #BABABA",
+"#. c #AFAFAF",
+"$. c #8E5C8F",
+"%. c #E6CDE6",
+"&. c #F6E7F6",
+"*. c #FAEFFA",
+"=. c #FBF2FB",
+"-. c #F8ECF9",
+";. c #F5E6F5",
+">. c #DEC2DF",
+",. c #865287",
+"'. c #B9B9B9",
+"). c #8A688B",
+"!. c #B894B9",
+"~. c #F4E4F5",
+"{. c #FCF7FC",
+"]. c #FDF8FD",
+"^. c #F0DDF0",
+"/. c #8C6A8D",
+"(. c #C3C3C3",
+"_. c #908890",
+":. c #A06DA0",
+"<. c #FEFBFE",
+"[. c #FAF1FA",
+"}. c #FDFAFD",
+"|. c #DABDDA",
+"1. c #A170A1",
+"2. c #8C848C",
+"3. c #CDCDCD",
+"4. c #9C9C9C",
+"5. c #7B5E7C",
+"6. c #A77EA7",
+"7. c #EED9EE",
+"8. c #795C7A",
+"9. c #9E9E9E",
+"0. c #E1E1E1",
+"a. c #D4D4D4",
+"b. c #7F7F7F",
+"c. c #6B486B",
+"d. c #905390",
+"e. c #B18CB1",
+"f. c #F2E0F3",
+"g. c #925592",
+"h. c #674468",
+"i. c #7A7A7A",
+"j. c #CCCCCC",
+"k. c #B5B5B5",
+"l. c #8C8C8C",
+"m. c #6D5D6D",
+"n. c #613162",
+"o. c #651D66",
+"p. c #691B6A",
+"q. c #641C65",
+"r. c #643564",
+"s. c #6A5A6A",
+"t. c #8B8B8B",
+"u. c #DBDBDB",
+"v. c #E0E0E0",
+"w. c #C0C0C0",
+"x. c #A3A3A3",
+"y. c #929292",
+"z. c #818181",
+"A. c #767676",
+"B. c #A1A1A1",
+"C. c #E2E2E2",
+"D. c #D8D8D8",
+"E. c #C9C9C9",
+"F. c #BEBEBE",
+"G. c #A5A5A5",
+"H. c #B3B3B3",
+"I. c #B8B8B8",
+"J. c #C4C4C4",
+"K. c #D6D6D6",
+"L. c #CACACA",
+". . . . . . . . . . . . . . . ",
+". . . + @ . . . . @ + . . . . ",
+"# # # $ $ # % & * = - ; # # # ",
+"= > * , ' ) ! ~ { ] ' ^ % = = ",
+"# - / ( _ : < [ } | 1 2 , 3 ; ",
+"+ * 4 5 6 7 8 9 0 a b c d e + ",
+"> f g h i j [ 7 7 k l m n o - ",
+"p q r s t u v w i x y s z q ^ ",
+"A B C t D D E F G G H I J K ^ ",
+"L M N x O O 7 P Q O R s H S T ",
+"U V W X Y Z ` ...7 P R G +.@.",
+"#.$.D %.` &.*.=.-.;. .>.l ,.'.",
+"'.).!.~.;.{.. {.. ].^.Z b /.(.",
+"T _.:.< <.. [.. }.<.[.|.1.2.^ ",
+"3.4.5.6.7.. . . . ].%.C 8.9.0.",
+"a.U b.c.d.e.Y f.>.t g.h.i.(.^ ",
+"^ j.k.l.m.n.o.p.q.r.s.t.'.u.v.",
+"% % ^ w.x.y.z.A.z.y.B.U C.% % ",
+", , D.T E.F.#.G.H.I.J.K., , , ",
+"T T T T L L.3.3.3.E.3.3.3.T T "};
diff --git a/themes/agua/stick-inactive.xpm b/themes/agua/stick-inactive.xpm
new file mode 100644
index 000000000..af8d8c31c
--- /dev/null
+++ b/themes/agua/stick-inactive.xpm
@@ -0,0 +1,206 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"15 20 183 2",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9DADCE",
+"$ c #A0AFCE",
+"% c #9DACCB",
+"& c #95A4C1",
+"* c #8F9DBA",
+"= c #77869D",
+"- c #738299",
+"; c #728198",
+"> c #78879E",
+", c #8291A8",
+"' c #8D9CB3",
+") c #99A8BF",
+"! c #A2B1C8",
+"~ c #9EAED0",
+"{ c #9DADCF",
+"] c #A1B1D5",
+"^ c #94A3C4",
+"/ c #8A99B8",
+"( c #8594B3",
+"_ c #A5B4C9",
+": c #A9B8CD",
+"< c #ADBCD1",
+"[ c #A8B7CC",
+"} c #97A6BB",
+"| c #8897AC",
+"1 c #8A99AE",
+"2 c #95A4B9",
+"3 c #9AACD2",
+"4 c #9CAED4",
+"5 c #A6B9D9",
+"6 c #9BAFCA",
+"7 c #90A1BB",
+"8 c #91A3BB",
+"9 c #9BADC3",
+"0 c #B4C5D9",
+"a c #B5C6DA",
+"b c #B8C9DD",
+"c c #B9CADE",
+"d c #B2C3D7",
+"e c #A3B4C8",
+"f c #90A1B5",
+"g c #8394A8",
+"h c #9DB1D2",
+"i c #A1B5D6",
+"j c #98AEC5",
+"k c #889FB1",
+"l c #7E93A4",
+"m c #8DA3B1",
+"n c #A6BCC9",
+"o c #A6B8CE",
+"p c #AABCD2",
+"q c #ADBFD5",
+"r c #ACBED4",
+"s c #A9BBD1",
+"t c #A1B3C9",
+"u c #90A2B8",
+"v c #7E90A6",
+"w c #8DA5BD",
+"x c #93ABC3",
+"y c #98A9C3",
+"z c #7888A1",
+"A c #8C9BB2",
+"B c #9CA8BE",
+"C c #A1AEC1",
+"D c #A1B0C5",
+"E c #A4B3C8",
+"F c #A2B1C6",
+"G c #9FAEC3",
+"H c #9CABC0",
+"I c #8E9DB2",
+"J c #7A8BA5",
+"K c #94A5BF",
+"L c #9DAEC8",
+"M c #8191AA",
+"N c #94A3BA",
+"O c #A1ADC3",
+"P c #A4B1C4",
+"Q c #A3B2C7",
+"R c #A7B6CB",
+"S c #9DACC1",
+"T c #7E8FA9",
+"U c #97A8C2",
+"V c #A1B2CC",
+"W c #8B9BB4",
+"X c #A0AFC6",
+"Y c #ABB7CD",
+"Z c #ABB8CB",
+"` c #ABBACF",
+" . c #AFBED3",
+".. c #B1C0D5",
+"+. c #B0BFD4",
+"@. c #AEBDD2",
+"#. c #ACBBD0",
+"$. c #899AB4",
+"%. c #9EAFC9",
+"&. c #8A9AB3",
+"*. c #A4B3CA",
+"=. c #B1BDD3",
+"-. c #ACB9CC",
+";. c #B3C2D7",
+">. c #B4C3D8",
+",. c #8394AE",
+"'. c #93A4BE",
+"). c #8B9CB6",
+"!. c #8393AC",
+"~. c #A1B0C7",
+"{. c #B2BED4",
+"]. c #ADBACD",
+"^. c #B2C1D6",
+"/. c #8495AF",
+"(. c #91A2BC",
+"_. c #8FA0BA",
+":. c #8797B0",
+"<. c #9EADC4",
+"[. c #B4C0D6",
+"}. c #B6C3D6",
+"|. c #B7C6DB",
+"1. c #B8C7DC",
+"2. c #B6C5DA",
+"3. c #8596B0",
+"4. c #8C9CB5",
+"5. c #BAC7DA",
+"6. c #BAC9DE",
+"7. c #BBCADF",
+"8. c #BCCBE0",
+"9. c #BDCCE1",
+"0. c #8E9FB9",
+"a. c #8999B2",
+"b. c #8392A9",
+"c. c #9BA7BD",
+"d. c #B4C1D4",
+"e. c #8190A5",
+"f. c #8899B3",
+"g. c #8EA7BD",
+"h. c #87A0B6",
+"i. c #8099AF",
+"j. c #7A93A9",
+"k. c #768FA5",
+"l. c #98AABE",
+"m. c #A3B5C9",
+"n. c #ABBDD1",
+"o. c #A4B6CA",
+"p. c #92A4B8",
+"q. c #8294A8",
+"r. c #7D8FA3",
+"s. c #7E90A4",
+"t. c #88A2BB",
+"u. c #8AA4BD",
+"v. c #98A8CA",
+"w. c #93A3C5",
+"x. c #8D9DBF",
+"y. c #8696B8",
+"z. c #8292B4",
+"A. c #7582A2",
+"B. c #7885A5",
+"C. c #7A87A7",
+"D. c #7986A6",
+"E. c #7E8BAB",
+"F. c #8895B5",
+"G. c #919EBE",
+"H. c #93A5C9",
+"I. c #95A7CB",
+"J. c #A4B1D3",
+"K. c #A1AED0",
+"L. c #9BA8CA",
+"M. c #96A3C5",
+"N. c #93A0C2",
+"O. c #8D9BB8",
+"P. c #8997B4",
+"Q. c #8593B0",
+"R. c #8694B1",
+"S. c #8B99B6",
+"T. c #93A1BE",
+"U. c #9AA8C5",
+"V. c #9FADCA",
+"W. c #9DAACC",
+"X. c #9EABCD",
+"Y. c #90A8CA",
+"Z. c #96A9C9",
+". . . . . . . . . . . . . . . ",
+"+ + + + + + + + + + + + + + + ",
+"@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ",
+"# $ % & * = - ; > , ' ) ! ~ { ",
+"] { ^ / ( _ : < [ } | 1 2 3 4 ",
+"5 6 7 8 9 0 a b c d e f g h i ",
+"j k l m n o p q r s t u v w x ",
+"y z A B C D E _ F G H 2 I J K ",
+"L M N O P Q R : R _ Q S } T U ",
+"V W X Y Z ` ...+.@.#.R F $.%.",
+"U &.*.=.-.+.;.>... .< : _ ,.'.",
+").!.~.{.].^.;.^.+. .@.: Q /.(.",
+"_.:.<.[.}.|.1.1.|.1.2.< E 3.7 ",
+"U 4.N Y 5.6.7.7.8.9.2.R } 0.y ",
+"y a.b.c.d.2.2.|.|.2.#.2 e.f.(.",
+"g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.",
+"v.w.x.y.z.A.B.C.C.D.E.F.G.H.I.",
+"J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.",
+"Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Y.Y.Z.Z.",
+"Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y."};
diff --git a/themes/agua/stick-pressed.xpm b/themes/agua/stick-pressed.xpm
new file mode 100644
index 000000000..0b53e4714
--- /dev/null
+++ b/themes/agua/stick-pressed.xpm
@@ -0,0 +1,174 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"15 20 151 2",
+" c None",
+". c #FFFFFF",
+"+ c #FEFEFE",
+"@ c #FDFDFD",
+"# c #F0F0F0",
+"$ c #F5F5F5",
+"% c #EAEAEA",
+"& c #F4F4F4",
+"* c #EEEEEE",
+"= c #E9E9E9",
+"- c #EFEFEF",
+"; c #F1F1F1",
+"> c #EBEBEB",
+", c #D9D9D9",
+"' c #AAA1AA",
+") c #754A75",
+"! c #520453",
+"~ c #1D001D",
+"{ c #4F044F",
+"] c #734873",
+"^ c #DEDEDE",
+"/ c #D7D7D7",
+"( c #7C5D7D",
+"_ c #6F2570",
+": c #B28DB2",
+"< c #D8BAD9",
+"[ c #E3C9E4",
+"} c #D4B5D4",
+"| c #AE89AE",
+"1 c #7A357A",
+"2 c #795A7A",
+"3 c #F2F2F2",
+"4 c #856885",
+"5 c #7E3B7E",
+"6 c #C09DC0",
+"7 c #E5CCE5",
+"8 c #F4E3F4",
+"9 c #FCF5FC",
+"0 c #F1DEF1",
+"a c #E8D0E8",
+"b c #BA97BA",
+"c c #7C387D",
+"d c #836683",
+"e c #F3F3F3",
+"f c #989298",
+"g c #6C206D",
+"h c #955895",
+"i c #B893B8",
+"j c #C3A1C4",
+"k c #B08BB0",
+"l c #A06EA1",
+"m c #B995BA",
+"n c #C29FC2",
+"o c #B48FB4",
+"p c #985C99",
+"q c #681869",
+"r c #A19BA1",
+"s c #DCDCDC",
+"t c #623962",
+"u c #915392",
+"v c #BC99BC",
+"w c #AA83AA",
+"x c #935794",
+"y c #9D629D",
+"z c #BF9CBF",
+"A c #8A4C8B",
+"B c #D2D2D2",
+"C c #692B6A",
+"D c #A478A5",
+"E c #9D639E",
+"F c #9B5F9C",
+"G c #A171A2",
+"H c #C9A8C9",
+"I c #BB97BC",
+"J c #AB86AB",
+"K c #652465",
+"L c #D1D1D1",
+"M c #7E3D7E",
+"N c #C19EC1",
+"O c #A06DA0",
+"P c #AD88AD",
+"Q c #CFAFD0",
+"R c #A579A6",
+"S c #79377A",
+"T c #CECECE",
+"U c #BFBFBF",
+"V c #814182",
+"W c #D1B1D2",
+"X c #CAA9CA",
+"Y c #A982A9",
+"Z c #E8CFE8",
+"` c #F8EBF8",
+" . c #DABDDA",
+".. c #D0B0D1",
+"+. c #854885",
+"@. c #BABABA",
+"#. c #AFAFAF",
+"$. c #8E5C8F",
+"%. c #865287",
+"&. c #B9B9B9",
+"*. c #8A688B",
+"=. c #8C6A8D",
+"-. c #C3C3C3",
+";. c #908890",
+">. c #8C848C",
+",. c #CDCDCD",
+"'. c #9C9C9C",
+"). c #7B5E7C",
+"!. c #795C7A",
+"~. c #9E9E9E",
+"{. c #E1E1E1",
+"]. c #D4D4D4",
+"^. c #7F7F7F",
+"/. c #6B486B",
+"(. c #905390",
+"_. c #B18CB1",
+":. c #DFC4DF",
+"<. c #F2E0F3",
+"[. c #DEC2DF",
+"}. c #925592",
+"|. c #674468",
+"1. c #7A7A7A",
+"2. c #CCCCCC",
+"3. c #B5B5B5",
+"4. c #8C8C8C",
+"5. c #6D5D6D",
+"6. c #613162",
+"7. c #651D66",
+"8. c #691B6A",
+"9. c #641C65",
+"0. c #643564",
+"a. c #6A5A6A",
+"b. c #8B8B8B",
+"c. c #DBDBDB",
+"d. c #E0E0E0",
+"e. c #C0C0C0",
+"f. c #A3A3A3",
+"g. c #929292",
+"h. c #818181",
+"i. c #767676",
+"j. c #A1A1A1",
+"k. c #E2E2E2",
+"l. c #D8D8D8",
+"m. c #C9C9C9",
+"n. c #BEBEBE",
+"o. c #A5A5A5",
+"p. c #B3B3B3",
+"q. c #B8B8B8",
+"r. c #C4C4C4",
+"s. c #D6D6D6",
+"t. c #CACACA",
+". . . . . . . . . . . . . . . ",
+". . . + @ . . . . @ + . . . . ",
+"# # # $ $ # % & * = - ; # # # ",
+"= > * , ' ) ! ~ { ] ' ^ % = = ",
+"# - / ( _ : < [ } | 1 2 , 3 ; ",
+"+ * 4 5 6 7 8 9 0 a b c d e + ",
+"> f g h i j k l m n o p q r - ",
+"s t u v j w x 5 y z 6 v A t ^ ",
+"B C D i z E 5 F 5 G H I J K ^ ",
+"L M n N O 5 P Q R 5 | I N S T ",
+"U V W X 5 Y Z ` .l 5 ..Q +.@.",
+"#.$.n N O 5 P Q R 5 | I N %.&.",
+"&.*.D i z E 5 F 5 G H I J =.-.",
+"T ;.u v j w x 5 y z 6 v A >.^ ",
+",.'.).h i j k l m n o p !.~.{.",
+"].U ^./.(._.:.<.[.i }.|.1.-.^ ",
+"^ 2.3.4.5.6.7.8.9.0.a.b.&.c.d.",
+"% % ^ e.f.g.h.i.h.g.j.U k.% % ",
+", , l.T m.n.#.o.p.q.r.s., , , ",
+"T T T T L t.,.,.,.m.,.,.,.T T "};
diff --git a/themes/agua/themerc b/themes/agua/themerc
new file mode 100644
index 000000000..222b492e8
--- /dev/null
+++ b/themes/agua/themerc
@@ -0,0 +1,6 @@
+full_width_title=false
+title_alignment=center
+button_spacing=2
+button_offset=2
+active_text_color=#000000
+inactive_text_color=#7b8eaa
diff --git a/themes/agua/title-1-active.xpm b/themes/agua/title-1-active.xpm
new file mode 100644
index 000000000..57a5cfe4d
--- /dev/null
+++ b/themes/agua/title-1-active.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"5 20 16 1",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #E9E9E9",
+"# c #F1F1F1",
+"$ c #FEFEFE",
+"% c #EAEAEA",
+"& c #EFEFEF",
+"* c #FDFDFD",
+"= c #E5E5E5",
+"- c #F7F7F7",
+"; c #E8E8E8",
+"> c #DEDEDE",
+", c #E0E0E0",
+"' c #D9D9D9",
+") c #CECECE",
+".....",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"#####",
+"%%%%%",
+"&&&&&",
+"*****",
+"&&&&&",
+"=====",
+"%%%%%",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"%%%%%",
+"'''''",
+")))))"};
diff --git a/themes/agua/title-1-inactive.xpm b/themes/agua/title-1-inactive.xpm
new file mode 100644
index 000000000..9f5380ac1
--- /dev/null
+++ b/themes/agua/title-1-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #A5BAD9",
+"& c #9AB3C9",
+"* c #9BAECC",
+"= c #9DB0CE",
+"- c #A5B8D6",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+";;;;;",
+"*****",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{"};
diff --git a/themes/agua/title-2-active.xpm b/themes/agua/title-2-active.xpm
new file mode 100644
index 000000000..df54dadf6
--- /dev/null
+++ b/themes/agua/title-2-active.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"5 20 16 1",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #E9E9E9",
+"# c #F1F1F1",
+"$ c #FEFEFE",
+"% c #EAEAEA",
+"& c #EFEFEF",
+"* c #FDFDFD",
+"= c #E5E5E5",
+"- c #F7F7F7",
+"; c #E8E8E8",
+"> c #DEDEDE",
+", c #E0E0E0",
+"' c #D9D9D9",
+") c #CECECE",
+".....",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"#####",
+"%%%%%",
+"&&&&&",
+"*****",
+"&&&&&",
+"=====",
+"%%%%%",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"%%%%%",
+"'''''",
+")))))"};
diff --git a/themes/agua/title-2-inactive.xpm b/themes/agua/title-2-inactive.xpm
new file mode 100644
index 000000000..daa95e8c5
--- /dev/null
+++ b/themes/agua/title-2-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #A5BAD9",
+"& c #9AB3C9",
+"* c #9BAECC",
+"= c #9DB0CE",
+"- c #A5B8D6",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+";;;;;",
+"*****",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{"};
diff --git a/themes/agua/title-3-active.xpm b/themes/agua/title-3-active.xpm
new file mode 100644
index 000000000..90a2996bc
--- /dev/null
+++ b/themes/agua/title-3-active.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char * title_3_active_xpm[] = {
+"5 20 16 1",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #E9E9E9",
+"# c #F1F1F1",
+"$ c #FEFEFE",
+"% c #EAEAEA",
+"& c #EFEFEF",
+"* c #FDFDFD",
+"= c #E5E5E5",
+"- c #F7F7F7",
+"; c #E8E8E8",
+"> c #DEDEDE",
+", c #E0E0E0",
+"' c #D9D9D9",
+") c #CECECE",
+".....",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"#####",
+"%%%%%",
+"&&&&&",
+"*****",
+"&&&&&",
+"=====",
+"%%%%%",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"%%%%%",
+"'''''",
+")))))"};
diff --git a/themes/agua/title-3-inactive.xpm b/themes/agua/title-3-inactive.xpm
new file mode 100644
index 000000000..5372a30c2
--- /dev/null
+++ b/themes/agua/title-3-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * title_3_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #A5BAD9",
+"& c #9AB3C9",
+"* c #9BAECC",
+"= c #9DB0CE",
+"- c #A5B8D6",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+";;;;;",
+"*****",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{"};
diff --git a/themes/agua/title-4-active.xpm b/themes/agua/title-4-active.xpm
new file mode 100644
index 000000000..4777710c6
--- /dev/null
+++ b/themes/agua/title-4-active.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"5 20 16 1",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #E9E9E9",
+"# c #F1F1F1",
+"$ c #FEFEFE",
+"% c #EAEAEA",
+"& c #EFEFEF",
+"* c #FDFDFD",
+"= c #E5E5E5",
+"- c #F7F7F7",
+"; c #E8E8E8",
+"> c #DEDEDE",
+", c #E0E0E0",
+"' c #D9D9D9",
+") c #CECECE",
+".....",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"#####",
+"%%%%%",
+"&&&&&",
+"*****",
+"&&&&&",
+"=====",
+"%%%%%",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"%%%%%",
+"'''''",
+")))))"};
diff --git a/themes/agua/title-4-inactive.xpm b/themes/agua/title-4-inactive.xpm
new file mode 100644
index 000000000..221e8deb9
--- /dev/null
+++ b/themes/agua/title-4-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * title_4_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #A5BAD9",
+"& c #9AB3C9",
+"* c #9BAECC",
+"= c #9DB0CE",
+"- c #A5B8D6",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+";;;;;",
+"*****",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{"};
diff --git a/themes/agua/title-5-active.xpm b/themes/agua/title-5-active.xpm
new file mode 100644
index 000000000..2b504efb2
--- /dev/null
+++ b/themes/agua/title-5-active.xpm
@@ -0,0 +1,39 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"5 20 16 1",
+" c None",
+". c #FFFFFF",
+"+ c #F0F0F0",
+"@ c #E9E9E9",
+"# c #F1F1F1",
+"$ c #FEFEFE",
+"% c #EAEAEA",
+"& c #EFEFEF",
+"* c #FDFDFD",
+"= c #E5E5E5",
+"- c #F7F7F7",
+"; c #E8E8E8",
+"> c #DEDEDE",
+", c #E0E0E0",
+"' c #D9D9D9",
+") c #CECECE",
+".....",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"#####",
+"%%%%%",
+"&&&&&",
+"*****",
+"&&&&&",
+"=====",
+"%%%%%",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"%%%%%",
+"'''''",
+")))))"};
diff --git a/themes/agua/title-5-inactive.xpm b/themes/agua/title-5-inactive.xpm
new file mode 100644
index 000000000..de581c1de
--- /dev/null
+++ b/themes/agua/title-5-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * title_5_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #A5BAD9",
+"& c #9AB3C9",
+"* c #9BAECC",
+"= c #9DB0CE",
+"- c #A5B8D6",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+";;;;;",
+"*****",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{"};
diff --git a/themes/agua/top-left-active.xpm b/themes/agua/top-left-active.xpm
new file mode 100644
index 000000000..e6c932a37
--- /dev/null
+++ b/themes/agua/top-left-active.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 20 25 1",
+" c None",
+". c #FFFFFF",
+"+ c #FDFDFD",
+"@ c #FCFCFC",
+"# c #F4F4F4",
+"$ c #F1F1F1",
+"% c #E9E9E9",
+"& c #FBFBFB",
+"* c #FEFEFE",
+"= c #FAFAFA",
+"- c #F9F9F9",
+"; c #EAEAEA",
+"> c #EFEFEF",
+", c #F8F8F8",
+"' c #F7F7F7",
+") c #E5E5E5",
+"! c #E8E8E8",
+"~ c #F6F6F6",
+"{ c #DEDEDE",
+"] c #E0E0E0",
+"^ c #F5F5F5",
+"/ c #D9D9D9",
+"( c #F2F2F2",
+"_ c #EEEEEE",
+": c #CECECE",
+" .",
+" ...",
+" +@#$",
+" @#%%",
+"&&$$$",
+"*****",
+"&=$$$",
+"--;;;",
+"&=>>>",
+"*++++",
+"&=>>>",
+",')))",
+"--;;;",
+"+@'''",
+"-,!!!",
+"~~{{{",
+"'~]]]",
+"--;;;",
+"^#///",
+"(_:::"};
diff --git a/themes/agua/top-left-inactive.xpm b/themes/agua/top-left-inactive.xpm
new file mode 100644
index 000000000..e63b811c3
--- /dev/null
+++ b/themes/agua/top-left-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #A5B8D6",
+"% c #9EB0D4",
+"& c #A5BAD9",
+"* c #9AB3C9",
+"= c #9BAECC",
+"- c #9DB0CE",
+"; c #9CAFCD",
+"> c #A2B5D3",
+", c #9AADCB",
+"' c #93ACCB",
+") c #99ADC8",
+"! c #A3B1CC",
+"~ c #96A9C9",
+"{ c #90A8CA",
+" .",
+" +++",
+" .+@@",
+" .###",
+"$.%%%",
+"$.&&&",
+"$.***",
+"$.===",
+"$.---",
+"$.$$$",
+"$.;;;",
+"$.;;;",
+"$.===",
+"$.>>>",
+"$.,,,",
+"$.'''",
+"$.)))",
+"$.!!!",
+"$.~~~",
+"$.{{{"};
diff --git a/themes/agua/top-right-active.xpm b/themes/agua/top-right-active.xpm
new file mode 100644
index 000000000..5704be5cf
--- /dev/null
+++ b/themes/agua/top-right-active.xpm
@@ -0,0 +1,49 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 20 26 1",
+" c None",
+". c #FFFFFF",
+"+ c #C5C5C5",
+"@ c #F0F0F0",
+"# c #F4F4F4",
+"$ c #D9D9D9",
+"% c #BEBEBE",
+"& c #E9E9E9",
+"* c #F1F1F1",
+"= c #C9C9C9",
+"- c #EAEAEA",
+"; c #D3D3D3",
+"> c #B2B2B2",
+", c #FEFEFE",
+"' c #C4C4C4",
+") c #EFEFEF",
+"! c #C1C1C1",
+"~ c #FDFDFD",
+"{ c #E5E5E5",
+"] c #C7C7C7",
+"^ c #B1B1B1",
+"/ c #F7F7F7",
+"( c #E8E8E8",
+"_ c #DEDEDE",
+": c #E0E0E0",
+"< c #CECECE",
+". ",
+"..+ ",
+"@#$% ",
+"&&*= ",
+"**-;>",
+",,,'>",
+"***'>",
+"---'>",
+")))!>",
+"~~~'>",
+")))'>",
+"{{{]^",
+"---]^",
+"///'>",
+"((('>",
+"___'>",
+":::!>",
+"---'>",
+"$$$'>",
+"<<<]^"};
diff --git a/themes/agua/top-right-inactive.xpm b/themes/agua/top-right-inactive.xpm
new file mode 100644
index 000000000..00db08409
--- /dev/null
+++ b/themes/agua/top-right-inactive.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 20 19 1",
+" c None",
+". c #9FBCDC",
+"+ c #A2BAD2",
+"@ c #9DB1C9",
+"# c #9EAECF",
+"$ c #9EB0D4",
+"% c #90A8CA",
+"& c #A5BAD9",
+"* c #9AB3C9",
+"= c #9BAECC",
+"- c #9DB0CE",
+"; c #A5B8D6",
+"> c #9CAFCD",
+", c #A2B5D3",
+"' c #9AADCB",
+") c #93ACCB",
+"! c #99ADC8",
+"~ c #A3B1CC",
+"{ c #96A9C9",
+". ",
+"++@ ",
+"@@+@ ",
+"###+ ",
+"$$$@%",
+"&&&@%",
+"***@%",
+"===@%",
+"---@%",
+";;;@%",
+">>>@%",
+">>>@%",
+"===@%",
+",,,@%",
+"'''@%",
+")))@%",
+"!!!@%",
+"~~~@%",
+"%{{%%",
+"%%%%%"};
diff --git a/themes/coldsteel/Makefile.am b/themes/coldsteel/Makefile.am
new file mode 100644
index 000000000..f3087c005
--- /dev/null
+++ b/themes/coldsteel/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/coldsteel
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/coldsteel/Makefile.in b/themes/coldsteel/Makefile.in
new file mode 100644
index 000000000..70bd72e9a
--- /dev/null
+++ b/themes/coldsteel/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/coldsteel
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/coldsteel/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/coldsteel
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/coldsteel/bottom-active.xpm b/themes/coldsteel/bottom-active.xpm
new file mode 100644
index 000000000..77b4bf5d7
--- /dev/null
+++ b/themes/coldsteel/bottom-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"2 7 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+"..",
+"++",
+"@@",
+"##",
+"..",
+" ",
+" "};
diff --git a/themes/coldsteel/bottom-inactive.xpm b/themes/coldsteel/bottom-inactive.xpm
new file mode 100644
index 000000000..50e5bffb6
--- /dev/null
+++ b/themes/coldsteel/bottom-inactive.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"2 7 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+"..",
+"++",
+"@@",
+"##",
+"..",
+" ",
+" "};
diff --git a/themes/coldsteel/bottom-left-active.xpm b/themes/coldsteel/bottom-left-active.xpm
new file mode 100644
index 000000000..e3ddf80b9
--- /dev/null
+++ b/themes/coldsteel/bottom-left-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"7 7 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+" .+@#.",
+" .+@#+",
+" .+@@@",
+" .+###",
+" .....",
+" ",
+" "};
diff --git a/themes/coldsteel/bottom-left-inactive.xpm b/themes/coldsteel/bottom-left-inactive.xpm
new file mode 100644
index 000000000..7b61cc2eb
--- /dev/null
+++ b/themes/coldsteel/bottom-left-inactive.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"7 7 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+" .+@#.",
+" .+@#+",
+" .+@@@",
+" .+###",
+" .....",
+" ",
+" "};
diff --git a/themes/coldsteel/bottom-right-active.xpm b/themes/coldsteel/bottom-right-active.xpm
new file mode 100644
index 000000000..e04f4a83f
--- /dev/null
+++ b/themes/coldsteel/bottom-right-active.xpm
@@ -0,0 +1,54 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"43 43 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #CFCFCF s active_color_2",
+"@ c #7F7F7F s active_shadow_2",
+"# c #00C0F8 s active_hilight_1",
+"$ c #005CE0 s active_color_1",
+"% c #0000C0 s active_shadow_1",
+"& c #F7F7F7 s active_hilight_2",
+" ..+@. ",
+" .#.@. ",
+" .#$.. ",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" ..$$$%.",
+" .&.$$%.",
+" .&+.$%.",
+" ..+@.%.",
+" .#.@...",
+" .#$.. .",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" ..$$$%.",
+" .&.$$%.",
+" .&+.$%.",
+" ..+@.%.",
+" .#.@...",
+" .#$.. .",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+".....................................#$$$%.",
+".#####.&&.########.&&.################$$$%.",
+"+.$$$$$.++.$$$$$$$$.++.$$$$$$$$$$$$$$$$$$%.",
+"@@.$$$$$.@@.$$$$$$$$.@@.$$$$$$$$$$$$$$$$$%.",
+"....$$$$$....$$$$$$$$....$$$$$$$$$$$$$$$$%.",
+" .%%%%%. .%%%%%%%%. .%%%%%%%%%%%%%%%%.",
+" ....... .......... ................."};
diff --git a/themes/coldsteel/bottom-right-inactive.xpm b/themes/coldsteel/bottom-right-inactive.xpm
new file mode 100644
index 000000000..c32fc2e33
--- /dev/null
+++ b/themes/coldsteel/bottom-right-inactive.xpm
@@ -0,0 +1,54 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"43 43 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #CFCFCF s inactive_color_2",
+"@ c #7F7F7F s inactive_shadow_2",
+"# c #00C0F8 s inactive_hilight_1",
+"$ c #005CE0 s inactive_color_1",
+"% c #0000C0 s inactive_shadow_1",
+"& c #F7F7F7 s inactive_hilight_2",
+" ..+@. ",
+" .#.@. ",
+" .#$.. ",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" ..$$$%.",
+" .&.$$%.",
+" .&+.$%.",
+" ..+@.%.",
+" .#.@...",
+" .#$.. .",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" ..$$$%.",
+" .&.$$%.",
+" .&+.$%.",
+" ..+@.%.",
+" .#.@...",
+" .#$.. .",
+" .#$$. ",
+" .#$$$. ",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+" .#$$$%.",
+".....................................#$$$%.",
+".#####.&&.########.&&.################$$$%.",
+"+.$$$$$.++.$$$$$$$$.++.$$$$$$$$$$$$$$$$$$%.",
+"@@.$$$$$.@@.$$$$$$$$.@@.$$$$$$$$$$$$$$$$$%.",
+"....$$$$$....$$$$$$$$....$$$$$$$$$$$$$$$$%.",
+" .%%%%%. .%%%%%%%%. .%%%%%%%%%%%%%%%%.",
+" ....... .......... ................."};
diff --git a/themes/coldsteel/close-active.xpm b/themes/coldsteel/close-active.xpm
new file mode 100644
index 000000000..ecf1e458b
--- /dev/null
+++ b/themes/coldsteel/close-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_2",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/close-inactive.xpm b/themes/coldsteel/close-inactive.xpm
new file mode 100644
index 000000000..855909a51
--- /dev/null
+++ b/themes/coldsteel/close-inactive.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_2",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #000000 s inactive_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/close-pressed.xpm b/themes/coldsteel/close-pressed.xpm
new file mode 100644
index 000000000..7222ab516
--- /dev/null
+++ b/themes/coldsteel/close-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #F7F7F7 s active_hilight_1",
+"@ c #CFCFCF s active_color_1",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/hide-active.xpm b/themes/coldsteel/hide-active.xpm
new file mode 100644
index 000000000..03fe7014c
--- /dev/null
+++ b/themes/coldsteel/hide-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_2",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/hide-inactive.xpm b/themes/coldsteel/hide-inactive.xpm
new file mode 100644
index 000000000..7efe27e6e
--- /dev/null
+++ b/themes/coldsteel/hide-inactive.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_2",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #000000 s inactive_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/hide-pressed.xpm b/themes/coldsteel/hide-pressed.xpm
new file mode 100644
index 000000000..84483327d
--- /dev/null
+++ b/themes/coldsteel/hide-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #F7F7F7 s active_hilight_1",
+"@ c #CFCFCF s active_color_1",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/left-active.xpm b/themes/coldsteel/left-active.xpm
new file mode 100644
index 000000000..60aed0d80
--- /dev/null
+++ b/themes/coldsteel/left-active.xpm
@@ -0,0 +1,10 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"7 2 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+" .+@#.",
+" .+@#."};
diff --git a/themes/coldsteel/left-inactive.xpm b/themes/coldsteel/left-inactive.xpm
new file mode 100644
index 000000000..afc45191d
--- /dev/null
+++ b/themes/coldsteel/left-inactive.xpm
@@ -0,0 +1,10 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"7 2 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+" .+@#.",
+" .+@#."};
diff --git a/themes/coldsteel/maximize-active.xpm b/themes/coldsteel/maximize-active.xpm
new file mode 100644
index 000000000..ee42d6341
--- /dev/null
+++ b/themes/coldsteel/maximize-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_2",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@#@@#+",
+".#@@#@@#+",
+".####@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/maximize-inactive.xpm b/themes/coldsteel/maximize-inactive.xpm
new file mode 100644
index 000000000..a93be14ae
--- /dev/null
+++ b/themes/coldsteel/maximize-inactive.xpm
@@ -0,0 +1,19 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_2",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #000000 s inactive_border_color",
+" ",
+".........",
+".#######+",
+".#@@#@@#+",
+".#@@#@@#+",
+".####@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
+
diff --git a/themes/coldsteel/maximize-pressed.xpm b/themes/coldsteel/maximize-pressed.xpm
new file mode 100644
index 000000000..0ff71054a
--- /dev/null
+++ b/themes/coldsteel/maximize-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #F7F7F7 s active_hilight_1",
+"@ c #CFCFCF s active_color_1",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@#@@#+",
+".#@@#@@#+",
+".####@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/menu-active.xpm b/themes/coldsteel/menu-active.xpm
new file mode 100644
index 000000000..038248b0a
--- /dev/null
+++ b/themes/coldsteel/menu-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #000000 s active_border_color",
+"@ c #F7F7F7 s active_hilight_1",
+"# c #CFCFCF s active_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/menu-inactive.xpm b/themes/coldsteel/menu-inactive.xpm
new file mode 100644
index 000000000..85d426836
--- /dev/null
+++ b/themes/coldsteel/menu-inactive.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_1",
+"+ c #000000 s inactive_border_color",
+"@ c #F7F7F7 s inactive_hilight_1",
+"# c #CFCFCF s inactive_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/menu-pressed.xpm b/themes/coldsteel/menu-pressed.xpm
new file mode 100644
index 000000000..c234d0e24
--- /dev/null
+++ b/themes/coldsteel/menu-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #000000 s active_border_color",
+"@ c #F7F7F7 s active_hilight_1",
+"# c #CFCFCF s active_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".+#####+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/right-active.xpm b/themes/coldsteel/right-active.xpm
new file mode 100644
index 000000000..26e63f9b9
--- /dev/null
+++ b/themes/coldsteel/right-active.xpm
@@ -0,0 +1,10 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"7 2 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+".+@#. ",
+".+@#. "};
diff --git a/themes/coldsteel/right-inactive.xpm b/themes/coldsteel/right-inactive.xpm
new file mode 100644
index 000000000..ec45569c5
--- /dev/null
+++ b/themes/coldsteel/right-inactive.xpm
@@ -0,0 +1,10 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"7 2 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+".+@#. ",
+".+@#. "};
diff --git a/themes/coldsteel/shade-active.xpm b/themes/coldsteel/shade-active.xpm
new file mode 100644
index 000000000..b213fc7f0
--- /dev/null
+++ b/themes/coldsteel/shade-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_2",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/shade-inactive.xpm b/themes/coldsteel/shade-inactive.xpm
new file mode 100644
index 000000000..e424d1279
--- /dev/null
+++ b/themes/coldsteel/shade-inactive.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_2",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #000000 s inactive_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/shade-pressed.xpm b/themes/coldsteel/shade-pressed.xpm
new file mode 100644
index 000000000..d76c5bec0
--- /dev/null
+++ b/themes/coldsteel/shade-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #F7F7F7 s active_hilight_1",
+"@ c #CFCFCF s active_color_1",
+"# c #000000 s active_border_color",
+" ",
+".........",
+".#######+",
+".#@@@@@#+",
+".#######+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#@@@@@#+",
+".#######+",
+".++++++++"};
diff --git a/themes/coldsteel/stick-active.xpm b/themes/coldsteel/stick-active.xpm
new file mode 100644
index 000000000..d8ba3b2d3
--- /dev/null
+++ b/themes/coldsteel/stick-active.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #000000 s active_border_color",
+"@ c #F7F7F7 s active_hilight_1",
+"# c #CFCFCF s active_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#+++#+@",
+".+#+#+#+@",
+".+#+++#+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/stick-inactive.xpm b/themes/coldsteel/stick-inactive.xpm
new file mode 100644
index 000000000..ca556c569
--- /dev/null
+++ b/themes/coldsteel/stick-inactive.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s inactive_shadow_1",
+"+ c #000000 s inactive_border_color",
+"@ c #F7F7F7 s inactive_hilight_1",
+"# c #CFCFCF s inactive_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#+++#+@",
+".+#+#+#+@",
+".+#+++#+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/stick-pressed.xpm b/themes/coldsteel/stick-pressed.xpm
new file mode 100644
index 000000000..7c9c512ad
--- /dev/null
+++ b/themes/coldsteel/stick-pressed.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"9 10 5 1",
+" c None",
+". c #7F7F7F s active_shadow_1",
+"+ c #000000 s active_border_color",
+"@ c #F7F7F7 s active_hilight_1",
+"# c #CFCFCF s active_color_1",
+" ",
+".........",
+".+++++++@",
+".+#####+@",
+".+#+++#+@",
+".+#+#+#+@",
+".+#+++#+@",
+".+#####+@",
+".+++++++@",
+".@@@@@@@@"};
diff --git a/themes/coldsteel/themerc b/themes/coldsteel/themerc
new file mode 100644
index 000000000..5df03252a
--- /dev/null
+++ b/themes/coldsteel/themerc
@@ -0,0 +1,4 @@
+title_alignment=left
+full_width_title=false
+button_offset=0
+button_spacing=2
diff --git a/themes/coldsteel/title-1-active.xpm b/themes/coldsteel/title-1-active.xpm
new file mode 100644
index 000000000..68b4600d7
--- /dev/null
+++ b/themes/coldsteel/title-1-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #00C0F8 s active_hilight_1",
+"@ c #005CE0 s active_color_1",
+"# c #0000C0 s active_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-1-inactive.xpm b/themes/coldsteel/title-1-inactive.xpm
new file mode 100644
index 000000000..66e651415
--- /dev/null
+++ b/themes/coldsteel/title-1-inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #00C0F8 s inactive_hilight_1",
+"@ c #005CE0 s inactive_color_1",
+"# c #0000C0 s inactive_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-2-active.xpm b/themes/coldsteel/title-2-active.xpm
new file mode 100644
index 000000000..2d75d61e1
--- /dev/null
+++ b/themes/coldsteel/title-2-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #00C0F8 s active_hilight_1",
+"@ c #005CE0 s active_color_1",
+"# c #0000C0 s active_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-2-inactive.xpm b/themes/coldsteel/title-2-inactive.xpm
new file mode 100644
index 000000000..22b4559a0
--- /dev/null
+++ b/themes/coldsteel/title-2-inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #00C0F8 s inactive_hilight_1",
+"@ c #005CE0 s inactive_color_1",
+"# c #0000C0 s inactive_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-3-active.xpm b/themes/coldsteel/title-3-active.xpm
new file mode 100644
index 000000000..ca932572b
--- /dev/null
+++ b/themes/coldsteel/title-3-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_3_active_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #00C0F8 s active_hilight_1",
+"@ c #005CE0 s active_color_1",
+"# c #0000C0 s active_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-3-inactive.xpm b/themes/coldsteel/title-3-inactive.xpm
new file mode 100644
index 000000000..345544cb3
--- /dev/null
+++ b/themes/coldsteel/title-3-inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_3_inactive_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #00C0F8 s inactive_hilight_1",
+"@ c #005CE0 s inactive_color_1",
+"# c #0000C0 s inactive_shadow_1",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-4-active.xpm b/themes/coldsteel/title-4-active.xpm
new file mode 100644
index 000000000..cda5c22e3
--- /dev/null
+++ b/themes/coldsteel/title-4-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"40 17 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #00C0F8 s active_hilight_1",
+"@ c #005CE0 s active_color_1",
+"# c #F7F7F7 s active_hilight_2",
+"$ c #CFCFCF s active_color_2",
+"% c #0000C0 s active_shadow_1",
+"& c #7F7F7F s active_shadow_2",
+". ............. ....... ",
+"+. .+++++++++++. .+++++. ",
+"@@....@@@@@@@@@@@....@@@@@..............",
+"@@@.##.@@@@@@@@@@@.##.@@@@@.############",
+"@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$$$",
+"@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$$",
+"@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$",
+"@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$",
+"@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$",
+"@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$",
+"@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$",
+"@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$",
+"@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$",
+"@@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$",
+"@@@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$",
+"%%%%%%%%%%%%%%%.&&.%%%%%%%%%%%.&&.%%%%%.",
+"........................................"};
diff --git a/themes/coldsteel/title-4-inactive.xpm b/themes/coldsteel/title-4-inactive.xpm
new file mode 100644
index 000000000..d857db456
--- /dev/null
+++ b/themes/coldsteel/title-4-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_4_inactive_xpm[] = {
+"40 17 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #00C0F8 s inactive_hilight_1",
+"@ c #005CE0 s inactive_color_1",
+"# c #F7F7F7 s inactive_hilight_2",
+"$ c #CFCFCF s inactive_color_2",
+"% c #0000C0 s inactive_shadow_1",
+"& c #7F7F7F s inactive_shadow_2",
+". ............. ....... ",
+"+. .+++++++++++. .+++++. ",
+"@@....@@@@@@@@@@@....@@@@@..............",
+"@@@.##.@@@@@@@@@@@.##.@@@@@.############",
+"@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$$$",
+"@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$$",
+"@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$$",
+"@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$$",
+"@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$$",
+"@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$$",
+"@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$$",
+"@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$$",
+"@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$$",
+"@@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$$",
+"@@@@@@@@@@@@@@.$$.@@@@@@@@@@@.$$.@@@@@.$",
+"%%%%%%%%%%%%%%%.&&.%%%%%%%%%%%.&&.%%%%%.",
+"........................................"};
diff --git a/themes/coldsteel/title-5-active.xpm b/themes/coldsteel/title-5-active.xpm
new file mode 100644
index 000000000..483c2dd42
--- /dev/null
+++ b/themes/coldsteel/title-5-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+" ",
+" ",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/title-5-inactive.xpm b/themes/coldsteel/title-5-inactive.xpm
new file mode 100644
index 000000000..2bbc90403
--- /dev/null
+++ b/themes/coldsteel/title-5-inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_5_inactive_xpm[] = {
+"3 17 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+" ",
+" ",
+"...",
+"+++",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"@@@",
+"###",
+"..."};
diff --git a/themes/coldsteel/top-left-active.xpm b/themes/coldsteel/top-left-active.xpm
new file mode 100644
index 000000000..e1c733f21
--- /dev/null
+++ b/themes/coldsteel/top-left-active.xpm
@@ -0,0 +1,70 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"7 59 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #00C0F8 s active_hilight_1",
+"@ c #005CE0 s active_color_1",
+"# c #0000C0 s active_shadow_1",
+"$ c #F7F7F7 s active_hilight_2",
+"% c #CFCFCF s active_color_2",
+"& c #7F7F7F s active_shadow_2",
+".......",
+".++++++",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@##",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+". ..@#.",
+"...$.#.",
+".+.$%..",
+".+@.%&.",
+".+@@.&.",
+".+@@@..",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+". ..@#.",
+"...$.#.",
+".+.$%..",
+".+@.%&.",
+".+@@.&.",
+".+@@@..",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+" ..@#.",
+" .$.#.",
+" .$%.."};
diff --git a/themes/coldsteel/top-left-inactive.xpm b/themes/coldsteel/top-left-inactive.xpm
new file mode 100644
index 000000000..9d3f8649a
--- /dev/null
+++ b/themes/coldsteel/top-left-inactive.xpm
@@ -0,0 +1,70 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"7 59 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #00C0F8 s inactive_hilight_1",
+"@ c #005CE0 s inactive_color_1",
+"# c #0000C0 s inactive_shadow_1",
+"$ c #F7F7F7 s inactive_hilight_2",
+"% c #CFCFCF s inactive_color_2",
+"& c #7F7F7F s inactive_shadow_2",
+".......",
+".++++++",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@@@",
+".+@@@##",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+". ..@#.",
+"...$.#.",
+".+.$%..",
+".+@.%&.",
+".+@@.&.",
+".+@@@..",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+". ..@#.",
+"...$.#.",
+".+.$%..",
+".+@.%&.",
+".+@@.&.",
+".+@@@..",
+".+@@@#.",
+" .@@@#.",
+" .@@#.",
+" ..@#.",
+" .$.#.",
+" .$%.."};
diff --git a/themes/coldsteel/top-right-active.xpm b/themes/coldsteel/top-right-active.xpm
new file mode 100644
index 000000000..22fcac480
--- /dev/null
+++ b/themes/coldsteel/top-right-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"7 17 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #F7F7F7 s active_hilight_2",
+"@ c #CFCFCF s active_color_2",
+"# c #7F7F7F s active_shadow_2",
+" ",
+" ",
+"..... ",
+"++++. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"##@#. ",
+".+@#. "};
diff --git a/themes/coldsteel/top-right-inactive.xpm b/themes/coldsteel/top-right-inactive.xpm
new file mode 100644
index 000000000..d104c493b
--- /dev/null
+++ b/themes/coldsteel/top-right-inactive.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"7 17 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #F7F7F7 s inactive_hilight_2",
+"@ c #CFCFCF s inactive_color_2",
+"# c #7F7F7F s inactive_shadow_2",
+" ",
+" ",
+"..... ",
+"++++. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"@@@#. ",
+"##@#. ",
+".+@#. "};
diff --git a/themes/cruxish/Makefile.am b/themes/cruxish/Makefile.am
new file mode 100644
index 000000000..d2771afa4
--- /dev/null
+++ b/themes/cruxish/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/cruxish
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/cruxish/Makefile.in b/themes/cruxish/Makefile.in
new file mode 100644
index 000000000..380dc49a9
--- /dev/null
+++ b/themes/cruxish/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/cruxish
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/cruxish/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/cruxish
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/cruxish/bottom-active.xpm b/themes/cruxish/bottom-active.xpm
new file mode 100644
index 000000000..1a3a82967
--- /dev/null
+++ b/themes/cruxish/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/cruxish/bottom-inactive.xpm b/themes/cruxish/bottom-inactive.xpm
new file mode 100644
index 000000000..a1fb8d635
--- /dev/null
+++ b/themes/cruxish/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/cruxish/bottom-left-active.xpm b/themes/cruxish/bottom-left-active.xpm
new file mode 100644
index 000000000..d90d9c7b7
--- /dev/null
+++ b/themes/cruxish/bottom-left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"15 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_1",
+"@ c #D8D8D8 s active_color_1",
+"# c #B2B2B2 s active_shadow_1",
+".+@#...........",
+".+@#+++++++++++",
+".+@@@@@@@@@@@@#",
+".+#############",
+"..............."}; \ No newline at end of file
diff --git a/themes/cruxish/bottom-left-inactive.xpm b/themes/cruxish/bottom-left-inactive.xpm
new file mode 100644
index 000000000..1d9812907
--- /dev/null
+++ b/themes/cruxish/bottom-left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"15 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #D8D8D8 s inactive_color_1",
+"# c #B2B2B2 s inactive_shadow_1",
+".+@#...........",
+".+@#+++++++++++",
+".+@@@@@@@@@@@@#",
+".+#############",
+"..............."};
diff --git a/themes/cruxish/bottom-right-active.xpm b/themes/cruxish/bottom-right-active.xpm
new file mode 100644
index 000000000..826d5fb98
--- /dev/null
+++ b/themes/cruxish/bottom-right-active.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+"........+@#.",
+"+++++++++@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/cruxish/bottom-right-inactive.xpm b/themes/cruxish/bottom-right-inactive.xpm
new file mode 100644
index 000000000..ba870b144
--- /dev/null
+++ b/themes/cruxish/bottom-right-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+"........+@#.",
+"+++++++++@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/cruxish/close-active.xpm b/themes/cruxish/close-active.xpm
new file mode 100644
index 000000000..19d46d2a2
--- /dev/null
+++ b/themes/cruxish/close-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@..@@@..@#.",
+".+@...@...@#.",
+".+@@.....@@#.",
+".+@@@...@@@#.",
+".+@@.....@@#.",
+".+@...@...@#.",
+".+@..@@@..@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/close-inactive.xpm b/themes/cruxish/close-inactive.xpm
new file mode 100644
index 000000000..6b04328a6
--- /dev/null
+++ b/themes/cruxish/close-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@..@@@..@#.",
+".+@...@...@#.",
+".+@@.....@@#.",
+".+@@@...@@@#.",
+".+@@.....@@#.",
+".+@...@...@#.",
+".+@..@@@..@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/close-pressed.xpm b/themes/cruxish/close-pressed.xpm
new file mode 100644
index 000000000..af1fac644
--- /dev/null
+++ b/themes/cruxish/close-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@..@@@..#.",
+".+@@...@...#.",
+".+@@@.....@#.",
+".+@@@@...@@#.",
+".+@@@.....@#.",
+".+@@...@...#.",
+".+@@..@@@..#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/hide-active.xpm b/themes/cruxish/hide-active.xpm
new file mode 100644
index 000000000..7060219b5
--- /dev/null
+++ b/themes/cruxish/hide-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/hide-inactive.xpm b/themes/cruxish/hide-inactive.xpm
new file mode 100644
index 000000000..9b8d0d3ac
--- /dev/null
+++ b/themes/cruxish/hide-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/hide-pressed.xpm b/themes/cruxish/hide-pressed.xpm
new file mode 100644
index 000000000..71fba97d1
--- /dev/null
+++ b/themes/cruxish/hide-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@.......#.",
+".+@@.......#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/left-active.xpm b/themes/cruxish/left-active.xpm
new file mode 100644
index 000000000..9b5b337ec
--- /dev/null
+++ b/themes/cruxish/left-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_1",
+"@ c #D8D8D8 s active_color_1",
+"# c #B2B2B2 s active_shadow_1",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/cruxish/left-inactive.xpm b/themes/cruxish/left-inactive.xpm
new file mode 100644
index 000000000..b22959a5a
--- /dev/null
+++ b/themes/cruxish/left-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #D8D8D8 s inactive_color_1",
+"# c #B2B2B2 s inactive_shadow_1",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/cruxish/maximize-active.xpm b/themes/cruxish/maximize-active.xpm
new file mode 100644
index 000000000..b4e5bf708
--- /dev/null
+++ b/themes/cruxish/maximize-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/maximize-inactive.xpm b/themes/cruxish/maximize-inactive.xpm
new file mode 100644
index 000000000..cd0001fd7
--- /dev/null
+++ b/themes/cruxish/maximize-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/maximize-pressed.xpm b/themes/cruxish/maximize-pressed.xpm
new file mode 100644
index 000000000..e1a9851dc
--- /dev/null
+++ b/themes/cruxish/maximize-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@.......#.",
+".+@@.......#.",
+".+@@.@@@@@.#.",
+".+@@.@@@@@.#.",
+".+@@.@@@@@.#.",
+".+@@.@@@@@.#.",
+".+@@.......#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/menu-active.xpm b/themes/cruxish/menu-active.xpm
new file mode 100644
index 000000000..29da3dfa9
--- /dev/null
+++ b/themes/cruxish/menu-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/menu-inactive.xpm b/themes/cruxish/menu-inactive.xpm
new file mode 100644
index 000000000..c90da6e5a
--- /dev/null
+++ b/themes/cruxish/menu-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/menu-pressed.xpm b/themes/cruxish/menu-pressed.xpm
new file mode 100644
index 000000000..4f8c81a1d
--- /dev/null
+++ b/themes/cruxish/menu-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@.......#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/right-active.xpm b/themes/cruxish/right-active.xpm
new file mode 100644
index 000000000..f95e18242
--- /dev/null
+++ b/themes/cruxish/right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/cruxish/right-inactive.xpm b/themes/cruxish/right-inactive.xpm
new file mode 100644
index 000000000..6983fa55b
--- /dev/null
+++ b/themes/cruxish/right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/cruxish/shade-active.xpm b/themes/cruxish/shade-active.xpm
new file mode 100644
index 000000000..9f9084555
--- /dev/null
+++ b/themes/cruxish/shade-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/shade-inactive.xpm b/themes/cruxish/shade-inactive.xpm
new file mode 100644
index 000000000..eae304954
--- /dev/null
+++ b/themes/cruxish/shade-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@.......@#.",
+".+@.......@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/shade-pressed.xpm b/themes/cruxish/shade-pressed.xpm
new file mode 100644
index 000000000..5de0efd2e
--- /dev/null
+++ b/themes/cruxish/shade-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@.......#.",
+".+@@.......#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/stick-active.xpm b/themes/cruxish/stick-active.xpm
new file mode 100644
index 000000000..0a64f9020
--- /dev/null
+++ b/themes/cruxish/stick-active.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@...@@@#.",
+".+@@.@@@.@@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@@.@@@.@@#.",
+".+@@@...@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/stick-inactive.xpm b/themes/cruxish/stick-inactive.xpm
new file mode 100644
index 000000000..12e47933d
--- /dev/null
+++ b/themes/cruxish/stick-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@...@@@#.",
+".+@@.@@@.@@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@.@@@@@.@#.",
+".+@@.@@@.@@#.",
+".+@@@...@@@#.",
+".+@@@@@@@@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/stick-pressed.xpm b/themes/cruxish/stick-pressed.xpm
new file mode 100644
index 000000000..56c0f4bd8
--- /dev/null
+++ b/themes/cruxish/stick-pressed.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+".............",
+".+++++++++++.",
+".+@@@@@@@@@#.",
+".+@@@@@@@@@#.",
+".+@@@@...@@#.",
+".+@@@.@@@.@#.",
+".+@@.@@@@@.#.",
+".+@@.@@@@@.#.",
+".+@@.@@@@@.#.",
+".+@@@.@@@.@#.",
+".+@@@@...@@#.",
+".+##########.",
+"............."};
diff --git a/themes/cruxish/themerc b/themes/cruxish/themerc
new file mode 100644
index 000000000..5df03252a
--- /dev/null
+++ b/themes/cruxish/themerc
@@ -0,0 +1,4 @@
+title_alignment=left
+full_width_title=false
+button_offset=0
+button_spacing=2
diff --git a/themes/cruxish/title-1-active.xpm b/themes/cruxish/title-1-active.xpm
new file mode 100644
index 000000000..97ef38e8f
--- /dev/null
+++ b/themes/cruxish/title-1-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_left_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B4E46C s active_hilight_1",
+"@ c #7CCC54 s active_color_1",
+"# c #54A028 s active_shadow_1",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/cruxish/title-1-inactive.xpm b/themes/cruxish/title-1-inactive.xpm
new file mode 100644
index 000000000..c28e1e0f3
--- /dev/null
+++ b/themes/cruxish/title-1-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_left_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #B4E46C s inactive_hilight_1",
+"@ c #7CCC54 s inactive_color_1",
+"# c #54A028 s inactive_shadow_1",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/cruxish/title-2-active.xpm b/themes/cruxish/title-2-active.xpm
new file mode 100644
index 000000000..97ef38e8f
--- /dev/null
+++ b/themes/cruxish/title-2-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_left_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B4E46C s active_hilight_1",
+"@ c #7CCC54 s active_color_1",
+"# c #54A028 s active_shadow_1",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/cruxish/title-2-inactive.xpm b/themes/cruxish/title-2-inactive.xpm
new file mode 100644
index 000000000..c28e1e0f3
--- /dev/null
+++ b/themes/cruxish/title-2-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_left_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #B4E46C s inactive_hilight_1",
+"@ c #7CCC54 s inactive_color_1",
+"# c #54A028 s inactive_shadow_1",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/cruxish/title-3-active.xpm b/themes/cruxish/title-3-active.xpm
new file mode 100644
index 000000000..754f304a3
--- /dev/null
+++ b/themes/cruxish/title-3-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"1 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B4E46C s active_hilight_1",
+"@ c #7CCC54 s active_color_1",
+"# c #54A028 s active_shadow_1",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#",
+"."};
diff --git a/themes/cruxish/title-3-inactive.xpm b/themes/cruxish/title-3-inactive.xpm
new file mode 100644
index 000000000..d0b215049
--- /dev/null
+++ b/themes/cruxish/title-3-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"1 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #B4E46C s inactive_hilight_1",
+"@ c #7CCC54 s inactive_color_1",
+"# c #54A028 s inactive_shadow_1",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#",
+"."};
diff --git a/themes/cruxish/title-4-active.xpm b/themes/cruxish/title-4-active.xpm
new file mode 100644
index 000000000..a2aefc720
--- /dev/null
+++ b/themes/cruxish/title-4-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_right_active_xpm[] = {
+"40 23 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B4E46C s active_hilight_1",
+"@ c #FFFFFF s active_hilight_2",
+"# c #7CCC54 s active_color_1",
+"$ c #54A028 s active_shadow_1",
+"% c #D8D8D8 s active_color_2",
+"& c #B2B2B2 s active_shadow_2",
+"........................................",
+"++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$+++++%%%%%+++++%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###+%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$++++++$$$$+++++%%%%%+++++%%%%%%",
+"#############$%%%%%+###+%%%%%+###+%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$++++++$$$$+++++$$$$$+++++%",
+"##################$%%%%%+###+%%%%%+###+%",
+"##################$%%%%%+###$%%%%%+###$%",
+"##################$%%%%%+###$%%%%%+###$%",
+"##################$%%%%%+###$%%%%%+###$%",
+"$$$$$$$$$$$$$$$$$$$&&&&&+$$$$&&&&&$$$$$&",
+"........................................"}; \ No newline at end of file
diff --git a/themes/cruxish/title-4-inactive.xpm b/themes/cruxish/title-4-inactive.xpm
new file mode 100644
index 000000000..5ee7ec34c
--- /dev/null
+++ b/themes/cruxish/title-4-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_right_inactive_xpm[] = {
+"40 23 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #B4E46C s inactive_hilight_1",
+"@ c #FFFFFF s inactive_hilight_2",
+"# c #7CCC54 s inactive_color_1",
+"$ c #54A028 s inactive_shadow_1",
+"% c #D8D8D8 s inactive_color_2",
+"& c #B2B2B2 s inactive_shadow_2",
+"........................................",
+"++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
+"###$+++++%%%%%+++++%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###+%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$%%%%%+###$%%%%%%%%%%%%%%%%%%%%%",
+"########$++++++$$$$+++++%%%%%+++++%%%%%%",
+"#############$%%%%%+###+%%%%%+###+%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$%%%%%+###$%%%%%+###$%%%%%%",
+"#############$++++++$$$$+++++$$$$$+++++%",
+"##################$%%%%%+###+%%%%%+###+%",
+"##################$%%%%%+###$%%%%%+###$%",
+"##################$%%%%%+###$%%%%%+###$%",
+"##################$%%%%%+###$%%%%%+###$%",
+"$$$$$$$$$$$$$$$$$$$&&&&&+$$$$&&&&&$$$$$&",
+"........................................"}; \ No newline at end of file
diff --git a/themes/cruxish/title-5-active.xpm b/themes/cruxish/title-5-active.xpm
new file mode 100644
index 000000000..96d359714
--- /dev/null
+++ b/themes/cruxish/title-5-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/cruxish/title-5-inactive.xpm b/themes/cruxish/title-5-inactive.xpm
new file mode 100644
index 000000000..be67c43fc
--- /dev/null
+++ b/themes/cruxish/title-5-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/cruxish/top-left-active.xpm b/themes/cruxish/top-left-active.xpm
new file mode 100644
index 000000000..142822480
--- /dev/null
+++ b/themes/cruxish/top-left-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B4E46C s active_hilight_1",
+"@ c #7CCC54 s active_color_1",
+"# c #54A028 s active_shadow_1",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
+
diff --git a/themes/cruxish/top-left-inactive.xpm b/themes/cruxish/top-left-inactive.xpm
new file mode 100644
index 000000000..72acdefd3
--- /dev/null
+++ b/themes/cruxish/top-left-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #B4E46C s inactive_hilight_1",
+"@ c #7CCC54 s inactive_color_1",
+"# c #54A028 s inactive_shadow_1",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/cruxish/top-right-active.xpm b/themes/cruxish/top-right-active.xpm
new file mode 100644
index 000000000..ca45c419d
--- /dev/null
+++ b/themes/cruxish/top-right-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/cruxish/top-right-inactive.xpm b/themes/cruxish/top-right-inactive.xpm
new file mode 100644
index 000000000..41ff4128e
--- /dev/null
+++ b/themes/cruxish/top-right-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/gtk/Makefile.am b/themes/gtk/Makefile.am
new file mode 100644
index 000000000..a4509d28b
--- /dev/null
+++ b/themes/gtk/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/gtk
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/gtk/Makefile.in b/themes/gtk/Makefile.in
new file mode 100644
index 000000000..09bf29986
--- /dev/null
+++ b/themes/gtk/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/gtk
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/gtk/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/gtk
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/gtk/bottom-active.xpm b/themes/gtk/bottom-active.xpm
new file mode 100644
index 000000000..78d4073fc
--- /dev/null
+++ b/themes/gtk/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####"};
diff --git a/themes/gtk/bottom-inactive.xpm b/themes/gtk/bottom-inactive.xpm
new file mode 100644
index 000000000..5abd99975
--- /dev/null
+++ b/themes/gtk/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####"};
diff --git a/themes/gtk/bottom-left-active.xpm b/themes/gtk/bottom-left-active.xpm
new file mode 100644
index 000000000..b52ec9f38
--- /dev/null
+++ b/themes/gtk/bottom-left-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++.................",
+".+++++++++++++++++++",
+".+++++++++++++++++++",
+".+@@@@@@@@@@@@@@@@@@",
+"####################"};
diff --git a/themes/gtk/bottom-left-inactive.xpm b/themes/gtk/bottom-left-inactive.xpm
new file mode 100644
index 000000000..e0058d436
--- /dev/null
+++ b/themes/gtk/bottom-left-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++@# ",
+".++.................",
+".+++++++++++++++++++",
+".+++++++++++++++++++",
+".+@@@@@@@@@@@@@@@@@@",
+"####################"};
diff --git a/themes/gtk/bottom-right-active.xpm b/themes/gtk/bottom-right-active.xpm
new file mode 100644
index 000000000..f2fb82e09
--- /dev/null
+++ b/themes/gtk/bottom-right-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+"................++@#",
+"++++++++++++++++++@#",
+"++++++++++++++++++@#",
+"@@@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/bottom-right-inactive.xpm b/themes/gtk/bottom-right-inactive.xpm
new file mode 100644
index 000000000..eaa1bef98
--- /dev/null
+++ b/themes/gtk/bottom-right-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+" .++@#",
+"................++@#",
+"++++++++++++++++++@#",
+"++++++++++++++++++@#",
+"@@@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/close-active.xpm b/themes/gtk/close-active.xpm
new file mode 100644
index 000000000..eaf5e7c5e
--- /dev/null
+++ b/themes/gtk/close-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".++++++#++++#+++++@#",
+".+++++###++###++++@#",
+".++++++######+++++@#",
+".+++++++####++++++@#",
+".+++++++####++++++@#",
+".++++++######+++++@#",
+".+++++###++###++++@#",
+".++++++#++++#+++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/close-inactive.xpm b/themes/gtk/close-inactive.xpm
new file mode 100644
index 000000000..4e130615e
--- /dev/null
+++ b/themes/gtk/close-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".++++++#++++#+++++@#",
+".+++++###++###++++@#",
+".++++++######+++++@#",
+".+++++++####++++++@#",
+".+++++++####++++++@#",
+".++++++######+++++@#",
+".+++++###++###++++@#",
+".++++++#++++#+++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/close-pressed.xpm b/themes/gtk/close-pressed.xpm
new file mode 100644
index 000000000..11291dd27
--- /dev/null
+++ b/themes/gtk/close-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#++++++#++++#+++++.",
+"@#+++++###++###++++.",
+"@#++++++######+++++.",
+"@#+++++++####++++++.",
+"@#+++++++####++++++.",
+"@#++++++######+++++.",
+"@#+++++###++###++++.",
+"@#++++++#++++#+++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/hide-active.xpm b/themes/gtk/hide-active.xpm
new file mode 100644
index 000000000..3cd38e0af
--- /dev/null
+++ b/themes/gtk/hide-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++####++++++@#",
+".+++++++#++#++++++@#",
+".+++++++#++#++++++@#",
+".+++++++####++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/hide-inactive.xpm b/themes/gtk/hide-inactive.xpm
new file mode 100644
index 000000000..0ead19332
--- /dev/null
+++ b/themes/gtk/hide-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++####++++++@#",
+".+++++++#++#++++++@#",
+".+++++++#++#++++++@#",
+".+++++++####++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/hide-pressed.xpm b/themes/gtk/hide-pressed.xpm
new file mode 100644
index 000000000..8e44f47ce
--- /dev/null
+++ b/themes/gtk/hide-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++####++++++.",
+"@#+++++++#++#++++++.",
+"@#+++++++#++#++++++.",
+"@#+++++++####++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/left-active.xpm b/themes/gtk/left-active.xpm
new file mode 100644
index 000000000..be5dc7dcb
--- /dev/null
+++ b/themes/gtk/left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/left-inactive.xpm b/themes/gtk/left-inactive.xpm
new file mode 100644
index 000000000..e178df8b1
--- /dev/null
+++ b/themes/gtk/left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/maximize-active.xpm b/themes/gtk/maximize-active.xpm
new file mode 100644
index 000000000..48fa45cf7
--- /dev/null
+++ b/themes/gtk/maximize-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/maximize-inactive.xpm b/themes/gtk/maximize-inactive.xpm
new file mode 100644
index 000000000..abbf4fd89
--- /dev/null
+++ b/themes/gtk/maximize-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/maximize-pressed.xpm b/themes/gtk/maximize-pressed.xpm
new file mode 100644
index 000000000..b831afde5
--- /dev/null
+++ b/themes/gtk/maximize-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++########++++.",
+"@#+++++########++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++########++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/menu-active.xpm b/themes/gtk/menu-active.xpm
new file mode 100644
index 000000000..9450970d4
--- /dev/null
+++ b/themes/gtk/menu-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/menu-inactive.xpm b/themes/gtk/menu-inactive.xpm
new file mode 100644
index 000000000..3f6d08ab1
--- /dev/null
+++ b/themes/gtk/menu-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/menu-pressed.xpm b/themes/gtk/menu-pressed.xpm
new file mode 100644
index 000000000..8c03eaca1
--- /dev/null
+++ b/themes/gtk/menu-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++########++++.",
+"@#+++++########++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/right-active.xpm b/themes/gtk/right-active.xpm
new file mode 100644
index 000000000..2537a1da5
--- /dev/null
+++ b/themes/gtk/right-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/right-inactive.xpm b/themes/gtk/right-inactive.xpm
new file mode 100644
index 000000000..8b41847e5
--- /dev/null
+++ b/themes/gtk/right-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/shade-active.xpm b/themes/gtk/shade-active.xpm
new file mode 100644
index 000000000..69b2f3bb2
--- /dev/null
+++ b/themes/gtk/shade-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".++++++++##+++++++@#",
+".+++++++####++++++@#",
+".++++++######+++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/shade-inactive.xpm b/themes/gtk/shade-inactive.xpm
new file mode 100644
index 000000000..753db0b28
--- /dev/null
+++ b/themes/gtk/shade-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++########++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".++++++++##+++++++@#",
+".+++++++####++++++@#",
+".++++++######+++++@#",
+".+++++########++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/shade-pressed.xpm b/themes/gtk/shade-pressed.xpm
new file mode 100644
index 000000000..39d6cc4b7
--- /dev/null
+++ b/themes/gtk/shade-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++########++++.",
+"@#+++++########++++.",
+"@#+++++++++++++++++.",
+"@#++++++++##+++++++.",
+"@#+++++++####++++++.",
+"@#++++++######+++++.",
+"@#+++++########++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/stick-active.xpm b/themes/gtk/stick-active.xpm
new file mode 100644
index 000000000..a6921ffb3
--- /dev/null
+++ b/themes/gtk/stick-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++####++++++@#",
+".++++++#++++#+++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".++++++#++++#+++++@#",
+".+++++++####++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/stick-inactive.xpm b/themes/gtk/stick-inactive.xpm
new file mode 100644
index 000000000..295f85832
--- /dev/null
+++ b/themes/gtk/stick-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"...................#",
+".++++++++++++++++++#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++####++++++@#",
+".++++++#++++#+++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".+++++#++++++#++++@#",
+".++++++#++++#+++++@#",
+".+++++++####++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+++++++++++++++++@#",
+".+@@@@@@@@@@@@@@@@@#",
+"####################"};
diff --git a/themes/gtk/stick-pressed.xpm b/themes/gtk/stick-pressed.xpm
new file mode 100644
index 000000000..b8bc9801f
--- /dev/null
+++ b/themes/gtk/stick-pressed.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"20 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+" ",
+"@@@@@@@@@@@@@@@@@@@@",
+"@##################.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++####++++++.",
+"@#++++++#++++#+++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#+++++#++++++#++++.",
+"@#++++++#++++#+++++.",
+"@#+++++++####++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@#+++++++++++++++++.",
+"@..................."};
diff --git a/themes/gtk/themerc b/themes/gtk/themerc
new file mode 100644
index 000000000..2b5fb9f39
--- /dev/null
+++ b/themes/gtk/themerc
@@ -0,0 +1,4 @@
+full_width_title=true
+button_offset=0
+button_spacing=0
+title_vertical_offset=5
diff --git a/themes/gtk/title-1-active.xpm b/themes/gtk/title-1-active.xpm
new file mode 100644
index 000000000..d53e06e41
--- /dev/null
+++ b/themes/gtk/title-1-active.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"5 25 7 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+"$ c #EBEBE9 s active_hilight_1",
+"% c #81817B s active_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"%%%%%",
+"#####"};
diff --git a/themes/gtk/title-1-inactive.xpm b/themes/gtk/title-1-inactive.xpm
new file mode 100644
index 000000000..77b1f5b28
--- /dev/null
+++ b/themes/gtk/title-1-inactive.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"5 25 7 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+"$ c #EBEBE9 s inactive_hilight_1",
+"% c #81817B s inactive_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"%%%%%",
+"#####"};
diff --git a/themes/gtk/title-2-active.xpm b/themes/gtk/title-2-active.xpm
new file mode 100644
index 000000000..b7ab36194
--- /dev/null
+++ b/themes/gtk/title-2-active.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+"$ c #007EBF s active_hilight_1",
+"% c #0A5E89 s active_color_1",
+"& c #143D52 s active_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%&&&",
+"#####"};
diff --git a/themes/gtk/title-2-inactive.xpm b/themes/gtk/title-2-inactive.xpm
new file mode 100644
index 000000000..8270147a3
--- /dev/null
+++ b/themes/gtk/title-2-inactive.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+"$ c #EBEBE9 s inactive_hilight_1",
+"% c #B6B6B1 s inactive_color_1",
+"& c #81817B s inactive_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%%%%",
+"$%&&&",
+"#####"};
diff --git a/themes/gtk/title-3-active.xpm b/themes/gtk/title-3-active.xpm
new file mode 100644
index 000000000..9e487d92f
--- /dev/null
+++ b/themes/gtk/title-3-active.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_3_active_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+"$ c #007EBF s active_hilight_1",
+"% c #0A5E89 s active_color_1",
+"& c #143D52 s active_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"#####"};
diff --git a/themes/gtk/title-3-inactive.xpm b/themes/gtk/title-3-inactive.xpm
new file mode 100644
index 000000000..192ea1bb0
--- /dev/null
+++ b/themes/gtk/title-3-inactive.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_3_inactive_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+"$ c #EBEBE9 s inactive_hilight_1",
+"% c #B6B6B1 s inactive_color_1",
+"& c #81817B s inactive_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"#####"};
diff --git a/themes/gtk/title-4-active.xpm b/themes/gtk/title-4-active.xpm
new file mode 100644
index 000000000..f601c3f14
--- /dev/null
+++ b/themes/gtk/title-4-active.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+"$ c #007EBF s active_hilight_1",
+"% c #0A5E89 s active_color_1",
+"& c #143D52 s active_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$#",
+"%%%%#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"&&&&#",
+"#####"};
diff --git a/themes/gtk/title-4-inactive.xpm b/themes/gtk/title-4-inactive.xpm
new file mode 100644
index 000000000..4d130b4e6
--- /dev/null
+++ b/themes/gtk/title-4-inactive.xpm
@@ -0,0 +1,36 @@
+/* XPM */
+static char * title_4_inactive_xpm[] = {
+"5 25 8 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+"$ c #EBEBE9 s inactive_hilight_1",
+"% c #B6B6B1 s inactive_color_1",
+"& c #81817B s inactive_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$#",
+"%%%%#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"%%%&#",
+"&&&&#",
+"#####"};
diff --git a/themes/gtk/title-5-active.xpm b/themes/gtk/title-5-active.xpm
new file mode 100644
index 000000000..867ca04ae
--- /dev/null
+++ b/themes/gtk/title-5-active.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"5 25 7 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+"$ c #EBEBE9 s active_hilight_1",
+"% c #81817B s active_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"%%%%%",
+"#####"};
diff --git a/themes/gtk/title-5-inactive.xpm b/themes/gtk/title-5-inactive.xpm
new file mode 100644
index 000000000..f3da10449
--- /dev/null
+++ b/themes/gtk/title-5-inactive.xpm
@@ -0,0 +1,35 @@
+/* XPM */
+static char * title_5_inactive_xpm[] = {
+"5 25 7 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+"$ c #EBEBE9 s inactive_hilight_1",
+"% c #81817B s inactive_shadow_1",
+".....",
+"+++++",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"+++++",
+"%%%%%",
+"#####"};
diff --git a/themes/gtk/top-left-active.xpm b/themes/gtk/top-left-active.xpm
new file mode 100644
index 000000000..8bf64c003
--- /dev/null
+++ b/themes/gtk/top-left-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #CCCCC7 s active_color_2",
+"@ c #919189 s active_shadow_2",
+"# c #000000 s active_border_color",
+".....",
+".++++",
+".++++",
+".++@@",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/top-left-inactive.xpm b/themes/gtk/top-left-inactive.xpm
new file mode 100644
index 000000000..d5320580a
--- /dev/null
+++ b/themes/gtk/top-left-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #CCCCC7 s inactive_color_2",
+"@ c #919189 s inactive_shadow_2",
+"# c #000000 s inactive_border_color",
+".....",
+".++++",
+".++++",
+".++@@",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#",
+".++@#"};
diff --git a/themes/gtk/top-right-active.xpm b/themes/gtk/top-right-active.xpm
new file mode 100644
index 000000000..a4a15db85
--- /dev/null
+++ b/themes/gtk/top-right-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #FFFFFF s active_hilight_2",
+"+ c #000000 s active_border_color",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"....+",
+"@@@@+",
+"@@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+"};
diff --git a/themes/gtk/top-right-inactive.xpm b/themes/gtk/top-right-inactive.xpm
new file mode 100644
index 000000000..59721b7a9
--- /dev/null
+++ b/themes/gtk/top-right-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #FFFFFF s inactive_hilight_2",
+"+ c #000000 s inactive_border_color",
+"@ c #CCCCC7 s inactive_color_2",
+"# c #919189 s inactive_shadow_2",
+"....+",
+"@@@@+",
+"@@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+",
+".@@#+"};
diff --git a/themes/next/Makefile.am b/themes/next/Makefile.am
new file mode 100644
index 000000000..5b05b1a93
--- /dev/null
+++ b/themes/next/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/next
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/next/Makefile.in b/themes/next/Makefile.in
new file mode 100644
index 000000000..34bbe71b5
--- /dev/null
+++ b/themes/next/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/next
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/next/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/next
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/next/bottom-active.xpm b/themes/next/bottom-active.xpm
new file mode 100644
index 000000000..747a97baf
--- /dev/null
+++ b/themes/next/bottom-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"19 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #BFBFBF s active_color_2",
+"# c #8F8F8F s active_shadow_2",
+"...................",
+"+++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@",
+"###################",
+"..................."};
diff --git a/themes/next/bottom-inactive.xpm b/themes/next/bottom-inactive.xpm
new file mode 100644
index 000000000..245bc2621
--- /dev/null
+++ b/themes/next/bottom-inactive.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"19 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #BFBFBF s inactive_color_2",
+"# c #8F8F8F s inactive_shadow_2",
+"...................",
+"+++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@",
+"###################",
+"..................."};
diff --git a/themes/next/bottom-left-active.xpm b/themes/next/bottom-left-active.xpm
new file mode 100644
index 000000000..7dce5a864
--- /dev/null
+++ b/themes/next/bottom-left-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * resize_active_xpm[] = {
+"23 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #BFBFBF s active_color_2",
+"# c #8F8F8F s active_shadow_2",
+".......................",
+".+++++++++++++++++++.++",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+##################.+#",
+"......................."};
diff --git a/themes/next/bottom-left-inactive.xpm b/themes/next/bottom-left-inactive.xpm
new file mode 100644
index 000000000..f63ee99e4
--- /dev/null
+++ b/themes/next/bottom-left-inactive.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * resize_inactive_xpm[] = {
+"23 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #BFBFBF s inactive_color_2",
+"# c #8F8F8F s inactive_shadow_2",
+".......................",
+".+++++++++++++++++++.++",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+@@@@@@@@@@@@@@@@@#.+@",
+".+##################.+#",
+"......................."};
diff --git a/themes/next/bottom-right-active.xpm b/themes/next/bottom-right-active.xpm
new file mode 100644
index 000000000..47c37f466
--- /dev/null
+++ b/themes/next/bottom-right-active.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * resize_active_xpm[] = {
+"23 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #BFBFBF s active_color_2",
+"# c #8F8F8F s active_shadow_2",
+".......................",
+"++.+++++++++++++++++++.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"##.+##################.",
+"......................."};
diff --git a/themes/next/bottom-right-inactive.xpm b/themes/next/bottom-right-inactive.xpm
new file mode 100644
index 000000000..4ddf6422e
--- /dev/null
+++ b/themes/next/bottom-right-inactive.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char * resize_inactive_xpm[] = {
+"23 7 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #BFBFBF s inactive_color_2",
+"# c #8F8F8F s inactive_shadow_2",
+".......................",
+"++.+++++++++++++++++++.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"@#.+@@@@@@@@@@@@@@@@@#.",
+"##.+##################.",
+"......................."};
diff --git a/themes/next/close-active.xpm b/themes/next/close-active.xpm
new file mode 100644
index 000000000..fcba404d8
--- /dev/null
+++ b/themes/next/close-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$@@@@@$$@@@@#.",
+".+@@@@$$$@@@$$$@@@@#.",
+".+@@@@@$$$@$$$@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@@$$$@@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@$$$@$$$@@@@@#.",
+".+@@@@$$$@@@$$$@@@@#.",
+".+@@@@$$@@@@@$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/close-inactive.xpm b/themes/next/close-inactive.xpm
new file mode 100644
index 000000000..3bcc613a0
--- /dev/null
+++ b/themes/next/close-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$@@@@@$$@@@@#.",
+".+@@@@$$$@@@$$$@@@@#.",
+".+@@@@@$$$@$$$@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@@$$$@@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@$$$@$$$@@@@@#.",
+".+@@@@$$$@@@$$$@@@@#.",
+".+@@@@$$@@@@@$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/close-pressed.xpm b/themes/next/close-pressed.xpm
new file mode 100644
index 000000000..8ec86bf20
--- /dev/null
+++ b/themes/next/close-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++..+++++..+++++.",
+".+++++...+++...+++++.",
+".++++++...+...++++++.",
+".+++++++.....+++++++.",
+".++++++++...++++++++.",
+".+++++++.....+++++++.",
+".++++++...+...++++++.",
+".+++++...+++...+++++.",
+".+++++..+++++..+++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/hide-active.xpm b/themes/next/hide-active.xpm
new file mode 100644
index 000000000..8d4d9380b
--- /dev/null
+++ b/themes/next/hide-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/hide-inactive.xpm b/themes/next/hide-inactive.xpm
new file mode 100644
index 000000000..77fe2e1f9
--- /dev/null
+++ b/themes/next/hide-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/hide-pressed.xpm b/themes/next/hide-pressed.xpm
new file mode 100644
index 000000000..8f96858e9
--- /dev/null
+++ b/themes/next/hide-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/left-active.xpm b/themes/next/left-active.xpm
new file mode 100644
index 000000000..f35d84a68
--- /dev/null
+++ b/themes/next/left-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"1 19 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/left-inactive.xpm b/themes/next/left-inactive.xpm
new file mode 100644
index 000000000..f35d84a68
--- /dev/null
+++ b/themes/next/left-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"1 19 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/maximize-active.xpm b/themes/next/maximize-active.xpm
new file mode 100644
index 000000000..2e7c89283
--- /dev/null
+++ b/themes/next/maximize-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/maximize-inactive.xpm b/themes/next/maximize-inactive.xpm
new file mode 100644
index 000000000..e37bcd163
--- /dev/null
+++ b/themes/next/maximize-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/maximize-pressed.xpm b/themes/next/maximize-pressed.xpm
new file mode 100644
index 000000000..099cb467a
--- /dev/null
+++ b/themes/next/maximize-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++.+++++++.+++++.",
+".+++++.+++++++.+++++.",
+".+++++.+++++++.+++++.",
+".+++++.+++++++.+++++.",
+".+++++.+++++++.+++++.",
+".+++++.........+++++.",
+".++++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/menu-active.xpm b/themes/next/menu-active.xpm
new file mode 100644
index 000000000..28d334c79
--- /dev/null
+++ b/themes/next/menu-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/menu-inactive.xpm b/themes/next/menu-inactive.xpm
new file mode 100644
index 000000000..9015b3e5d
--- /dev/null
+++ b/themes/next/menu-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$@@@@@@@$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/menu-pressed.xpm b/themes/next/menu-pressed.xpm
new file mode 100644
index 000000000..273521e66
--- /dev/null
+++ b/themes/next/menu-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++.........+++++.",
+".+++++.+++++++.+++++.",
+".+++++.........+++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/right-active.xpm b/themes/next/right-active.xpm
new file mode 100644
index 000000000..f35d84a68
--- /dev/null
+++ b/themes/next/right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"1 19 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/right-inactive.xpm b/themes/next/right-inactive.xpm
new file mode 100644
index 000000000..f35d84a68
--- /dev/null
+++ b/themes/next/right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"1 19 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/shade-active.xpm b/themes/next/shade-active.xpm
new file mode 100644
index 000000000..d8a7bb64d
--- /dev/null
+++ b/themes/next/shade-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/shade-inactive.xpm b/themes/next/shade-inactive.xpm
new file mode 100644
index 000000000..0a6c23eaa
--- /dev/null
+++ b/themes/next/shade-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@$$$$$$$$$@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/shade-pressed.xpm b/themes/next/shade-pressed.xpm
new file mode 100644
index 000000000..918db5c71
--- /dev/null
+++ b/themes/next/shade-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++.........+++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/stick-active.xpm b/themes/next/stick-active.xpm
new file mode 100644
index 000000000..56dc162d5
--- /dev/null
+++ b/themes/next/stick-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"$ c #FFFFFF s active_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/stick-inactive.xpm b/themes/next/stick-inactive.xpm
new file mode 100644
index 000000000..d3d5e90d9
--- /dev/null
+++ b/themes/next/stick-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"21 21 6 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"$ c #888888 s inactive_text_color",
+".....................",
+".+++++++++++++++++++.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@@$$$$$@@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@$$$$$$$@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@$@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@@@@@@#.",
+".+##################.",
+"....................."};
diff --git a/themes/next/stick-pressed.xpm b/themes/next/stick-pressed.xpm
new file mode 100644
index 000000000..274436247
--- /dev/null
+++ b/themes/next/stick-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"21 21 3 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+".....................",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".++++++.......++++++.",
+".+++++++.....+++++++.",
+".+++++++.....+++++++.",
+".+++++++.....+++++++.",
+".++++++.......++++++.",
+".++++++.......++++++.",
+".++++++.......++++++.",
+".+++++++++.+++++++++.",
+".+++++++++.+++++++++.",
+".+++++++++.+++++++++.",
+".+++++++++.+++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+".+++++++++++++++++++.",
+"....................."};
diff --git a/themes/next/themerc b/themes/next/themerc
new file mode 100644
index 000000000..e30f2e4c5
--- /dev/null
+++ b/themes/next/themerc
@@ -0,0 +1,3 @@
+full_width_title=true
+button_offset=-1
+button_spacing=-1
diff --git a/themes/next/title-1-active.xpm b/themes/next/title-1-active.xpm
new file mode 100644
index 000000000..c9b1f7671
--- /dev/null
+++ b/themes/next/title-1-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/title-1-inactive.xpm b/themes/next/title-1-inactive.xpm
new file mode 100644
index 000000000..8b94b956a
--- /dev/null
+++ b/themes/next/title-1-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/title-2-active.xpm b/themes/next/title-2-active.xpm
new file mode 100644
index 000000000..2a30ed84d
--- /dev/null
+++ b/themes/next/title-2-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"4 21 5 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+"....",
+"++++",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+###",
+"...."};
diff --git a/themes/next/title-2-inactive.xpm b/themes/next/title-2-inactive.xpm
new file mode 100644
index 000000000..90b7f62b0
--- /dev/null
+++ b/themes/next/title-2-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"4 21 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+"....",
+"++++",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+@@@",
+"+###",
+"...."};
diff --git a/themes/next/title-3-active.xpm b/themes/next/title-3-active.xpm
new file mode 100644
index 000000000..c9b1f7671
--- /dev/null
+++ b/themes/next/title-3-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/title-3-inactive.xpm b/themes/next/title-3-inactive.xpm
new file mode 100644
index 000000000..8b94b956a
--- /dev/null
+++ b/themes/next/title-3-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/title-4-active.xpm b/themes/next/title-4-active.xpm
new file mode 100644
index 000000000..cf8ffe6f4
--- /dev/null
+++ b/themes/next/title-4-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"4 21 5 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000044 s active_shadow_1",
+"# c #000088 s active_color_1",
+"....",
+"++++",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"@@@@",
+"...."};
diff --git a/themes/next/title-4-inactive.xpm b/themes/next/title-4-inactive.xpm
new file mode 100644
index 000000000..148dff80d
--- /dev/null
+++ b/themes/next/title-4-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"4 21 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #8F8F8F s inactive_shadow_1",
+"# c #BFBFBF s inactive_color_1",
+"....",
+"++++",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"###@",
+"@@@@",
+"...."};
diff --git a/themes/next/title-5-active.xpm b/themes/next/title-5-active.xpm
new file mode 100644
index 000000000..c9b1f7671
--- /dev/null
+++ b/themes/next/title-5-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #0000EE s active_hilight_1",
+"@ c #000088 s active_color_1",
+"# c #000044 s active_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/title-5-inactive.xpm b/themes/next/title-5-inactive.xpm
new file mode 100644
index 000000000..8b94b956a
--- /dev/null
+++ b/themes/next/title-5-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"21 21 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF s inactive_hilight_1",
+"@ c #BFBFBF s inactive_color_1",
+"# c #8F8F8F s inactive_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/next/top-left-active.xpm b/themes/next/top-left-active.xpm
new file mode 100644
index 000000000..19ba2cd55
--- /dev/null
+++ b/themes/next/top-left-active.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"1 21 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/top-left-inactive.xpm b/themes/next/top-left-inactive.xpm
new file mode 100644
index 000000000..19ba2cd55
--- /dev/null
+++ b/themes/next/top-left-inactive.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"1 21 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/top-right-active.xpm b/themes/next/top-right-active.xpm
new file mode 100644
index 000000000..19ba2cd55
--- /dev/null
+++ b/themes/next/top-right-active.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"1 21 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/next/top-right-inactive.xpm b/themes/next/top-right-inactive.xpm
new file mode 100644
index 000000000..19ba2cd55
--- /dev/null
+++ b/themes/next/top-right-inactive.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"1 21 2 1",
+" c None",
+". c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/oroborus/Makefile.am b/themes/oroborus/Makefile.am
new file mode 100644
index 000000000..6c60f562d
--- /dev/null
+++ b/themes/oroborus/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/oroborus
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/oroborus/Makefile.in b/themes/oroborus/Makefile.in
new file mode 100644
index 000000000..0a06ce564
--- /dev/null
+++ b/themes/oroborus/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/oroborus
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/oroborus/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/oroborus
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/oroborus/bottom-active.xpm b/themes/oroborus/bottom-active.xpm
new file mode 100644
index 000000000..ea7fb60df
--- /dev/null
+++ b/themes/oroborus/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/oroborus/bottom-inactive.xpm b/themes/oroborus/bottom-inactive.xpm
new file mode 100644
index 000000000..4db574c35
--- /dev/null
+++ b/themes/oroborus/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/oroborus/bottom-left-active.xpm b/themes/oroborus/bottom-left-active.xpm
new file mode 100644
index 000000000..c8068db63
--- /dev/null
+++ b/themes/oroborus/bottom-left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/oroborus/bottom-left-inactive.xpm b/themes/oroborus/bottom-left-inactive.xpm
new file mode 100644
index 000000000..6f5a3f837
--- /dev/null
+++ b/themes/oroborus/bottom-left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/oroborus/bottom-right-active.xpm b/themes/oroborus/bottom-right-active.xpm
new file mode 100644
index 000000000..143c38872
--- /dev/null
+++ b/themes/oroborus/bottom-right-active.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * resize_active_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"........+@#.",
+".++++++++@#.",
+".+@@@@@@@@#.",
+".+@@@@@@@@#.",
+".+@@@@@+#@#.",
+".+@@@@@##@#.",
+".+@@@@@@@@#.",
+".+@@+#@+#@#.",
+"++@@##@##@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/oroborus/bottom-right-inactive.xpm b/themes/oroborus/bottom-right-inactive.xpm
new file mode 100644
index 000000000..43904da91
--- /dev/null
+++ b/themes/oroborus/bottom-right-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * resize_inactive_xpm[] = {
+"13 13 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"........+@#..",
+".++++++++@#..",
+".+@@@@@@@@#..",
+".+@@@@@@@@#..",
+".+@@@@@@@@#..",
+".+@@@@@@@@#..",
+".+@@@@@@@@#..",
+".+@@@@@@@@#..",
+"++@@@@@@@@#..",
+"@@@@@@@@@@#..",
+"###########..",
+".............",
+"............."};
diff --git a/themes/oroborus/close-active.xpm b/themes/oroborus/close-active.xpm
new file mode 100644
index 000000000..d9e078af5
--- /dev/null
+++ b/themes/oroborus/close-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#########.+@",
+".+@#++###++#.+@",
+".+@#+++#+++#.+@",
+".+@##+++++##.+@",
+".+@###+++###.+@",
+".+@##+++++##.+@",
+".+@#+++#+++#.+@",
+".+@#++###++#.+@",
+".+@#########.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/close-inactive.xpm b/themes/oroborus/close-inactive.xpm
new file mode 100644
index 000000000..1ddba5c29
--- /dev/null
+++ b/themes/oroborus/close-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF s inactive_color_2",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/close-pressed.xpm b/themes/oroborus/close-pressed.xpm
new file mode 100644
index 000000000..3427326ce
--- /dev/null
+++ b/themes/oroborus/close-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+###########+@",
+".+##++###++##+@",
+".+##+++#+++##+@",
+".+###+++++###+@",
+".+####+++####+@",
+".+###+++++###+@",
+".+##+++#+++##+@",
+".+##++###++##+@",
+".+###########+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/hide-active.xpm b/themes/oroborus/hide-active.xpm
new file mode 100644
index 000000000..878a90bf9
--- /dev/null
+++ b/themes/oroborus/hide-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#+++++++#.+@",
+".+@#+++++++#.+@",
+".+@#########.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/hide-inactive.xpm b/themes/oroborus/hide-inactive.xpm
new file mode 100644
index 000000000..1ddba5c29
--- /dev/null
+++ b/themes/oroborus/hide-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF s inactive_color_2",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/hide-pressed.xpm b/themes/oroborus/hide-pressed.xpm
new file mode 100644
index 000000000..aaa2cc6e7
--- /dev/null
+++ b/themes/oroborus/hide-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+##+++++++##+@",
+".+##+++++++##+@",
+".+###########+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/left-active.xpm b/themes/oroborus/left-active.xpm
new file mode 100644
index 000000000..db25f9a1c
--- /dev/null
+++ b/themes/oroborus/left-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/oroborus/left-inactive.xpm b/themes/oroborus/left-inactive.xpm
new file mode 100644
index 000000000..50a8b2f7d
--- /dev/null
+++ b/themes/oroborus/left-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/oroborus/maximize-active.xpm b/themes/oroborus/maximize-active.xpm
new file mode 100644
index 000000000..74114f98c
--- /dev/null
+++ b/themes/oroborus/maximize-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#########.+@",
+".+@#+++++++#.+@",
+".+@#+++++++#.+@",
+".+@#+#####+#.+@",
+".+@#+#####+#.+@",
+".+@#+#####+#.+@",
+".+@#+#####+#.+@",
+".+@#+++++++#.+@",
+".+@#########.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/maximize-inactive.xpm b/themes/oroborus/maximize-inactive.xpm
new file mode 100644
index 000000000..1ddba5c29
--- /dev/null
+++ b/themes/oroborus/maximize-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF s inactive_color_2",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/maximize-pressed.xpm b/themes/oroborus/maximize-pressed.xpm
new file mode 100644
index 000000000..6a278e6d5
--- /dev/null
+++ b/themes/oroborus/maximize-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+###########+@",
+".+##+++++++##+@",
+".+##+++++++##+@",
+".+##+#####+##+@",
+".+##+#####+##+@",
+".+##+#####+##+@",
+".+##+#####+##+@",
+".+##+++++++##+@",
+".+###########+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/menu-active.xpm b/themes/oroborus/menu-active.xpm
new file mode 100644
index 000000000..a3a2574c4
--- /dev/null
+++ b/themes/oroborus/menu-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#+++++++#.+@",
+".+@#+#####+#.+@",
+".+@#+++++++#.+@",
+".+@#+#####+#.+@",
+".+@#+++++++#.+@",
+".+@#+#####+#.+@",
+".+@#+++++++#.+@",
+".+@#+#####+#.+@",
+".+@#+++++++#.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/menu-inactive.xpm b/themes/oroborus/menu-inactive.xpm
new file mode 100644
index 000000000..1ddba5c29
--- /dev/null
+++ b/themes/oroborus/menu-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF s inactive_color_2",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/menu-pressed.xpm b/themes/oroborus/menu-pressed.xpm
new file mode 100644
index 000000000..1d202c672
--- /dev/null
+++ b/themes/oroborus/menu-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+##+++++++##+@",
+".+##+#####+##+@",
+".+##+++++++##+@",
+".+##+#####+##+@",
+".+##+++++++##+@",
+".+##+#####+##+@",
+".+##+++++++##+@",
+".+##+#####+##+@",
+".+##+++++++##+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/right-active.xpm b/themes/oroborus/right-active.xpm
new file mode 100644
index 000000000..db25f9a1c
--- /dev/null
+++ b/themes/oroborus/right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/oroborus/right-inactive.xpm b/themes/oroborus/right-inactive.xpm
new file mode 100644
index 000000000..50a8b2f7d
--- /dev/null
+++ b/themes/oroborus/right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/oroborus/shade-active.xpm b/themes/oroborus/shade-active.xpm
new file mode 100644
index 000000000..4fedb32c7
--- /dev/null
+++ b/themes/oroborus/shade-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#########.+@",
+".+@#+++++++#.+@",
+".+@#+++++++#.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@#########.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/shade-inactive.xpm b/themes/oroborus/shade-inactive.xpm
new file mode 100644
index 000000000..1ddba5c29
--- /dev/null
+++ b/themes/oroborus/shade-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF s inactive_color_2",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/shade-pressed.xpm b/themes/oroborus/shade-pressed.xpm
new file mode 100644
index 000000000..4c741b536
--- /dev/null
+++ b/themes/oroborus/shade-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+###########+@",
+".+##+++++++##+@",
+".+##+++++++##+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/stick-active.xpm b/themes/oroborus/stick-active.xpm
new file mode 100644
index 000000000..86a8b98f8
--- /dev/null
+++ b/themes/oroborus/stick-active.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"...............",
+".+++++++++++++@",
+".+@@@@@@@@@@@+@",
+".+@#########.+@",
+".+@###+++###.+@",
+".+@##+###+##.+@",
+".+@#+#####+#.+@",
+".+@#+#####+#.+@",
+".+@#+#####+#.+@",
+".+@##+###+##.+@",
+".+@###+++###.+@",
+".+@#########.+@",
+".+@..........+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/stick-inactive.xpm b/themes/oroborus/stick-inactive.xpm
new file mode 100644
index 000000000..272c93595
--- /dev/null
+++ b/themes/oroborus/stick-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"15 15 2 1",
+" c None",
+". c #DFDFDF",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"...............",
+"..............."};
diff --git a/themes/oroborus/stick-pressed.xpm b/themes/oroborus/stick-pressed.xpm
new file mode 100644
index 000000000..7717c9727
--- /dev/null
+++ b/themes/oroborus/stick-pressed.xpm
@@ -0,0 +1,23 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"15 15 5 1",
+" c None",
+". c #B2B2B2 s active_shadow_2",
+"+ c #000000",
+"@ c #FFFFFF s active_hilight_2",
+"# c #FFFFFF",
+"...............",
+".+++++++++++++@",
+".+###########+@",
+".+###########+@",
+".+####+++####+@",
+".+###+###+###+@",
+".+##+#####+##+@",
+".+##+#####+##+@",
+".+##+#####+##+@",
+".+###+###+###+@",
+".+####+++####+@",
+".+###########+@",
+".+###########+@",
+".+++++++++++++@",
+".@@@@@@@@@@@@@@"};
diff --git a/themes/oroborus/themerc b/themes/oroborus/themerc
new file mode 100644
index 000000000..7de5e0d7f
--- /dev/null
+++ b/themes/oroborus/themerc
@@ -0,0 +1,3 @@
+full_width_title=true
+button_offset=0
+button_spacing=1
diff --git a/themes/oroborus/title-1-active.xpm b/themes/oroborus/title-1-active.xpm
new file mode 100644
index 000000000..a207bd538
--- /dev/null
+++ b/themes/oroborus/title-1-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."}; \ No newline at end of file
diff --git a/themes/oroborus/title-1-inactive.xpm b/themes/oroborus/title-1-inactive.xpm
new file mode 100644
index 000000000..6ec5b4432
--- /dev/null
+++ b/themes/oroborus/title-1-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."}; \ No newline at end of file
diff --git a/themes/oroborus/title-2-active.xpm b/themes/oroborus/title-2-active.xpm
new file mode 100644
index 000000000..953d397d8
--- /dev/null
+++ b/themes/oroborus/title-2-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"27 21 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #B70000 s active_hilight_1",
+"# c #DFDFDF s active_color_2",
+"$ c #B2B2B2 s active_shadow_2",
+"% c #8B0000 s active_color_1",
+"& c #4D0000 s active_shadow_1",
+"...........................",
+"++++++.@@@@@@@@@@@@@@@@@@@@",
+"####$.%%%%%%%%%%%%%%%%%%%%%",
+"###$.%%%%%%%%%%%%%%%%%%%%%%",
+"##$.%%%%%%%%%%%%%%%%%%%%%%%",
+"##$.%%%%@&%@&%@&%@&%@&%@&%%",
+"##$.%%%%&&%&&%&&%&&%&&%&&%%",
+"##$.%%%%%%%%%%%%%%%%%%%%%%%",
+"##$.%%%%@&%@&%@&%@&%@&%@&%%",
+"##$.%%%%&&%&&%&&%&&%&&%&&%%",
+"##$.%%%%%%%%%%%%%%%%%%%%%%%",
+"##$.%%%%@&%@&%@&%@&%@&%@&%%",
+"##$.%%%%&&%&&%&&%&&%&&%&&%%",
+"##$.%%%%%%%%%%%%%%%%%%%%%%%",
+"##$.%%%%@&%@&%@&%@&%@&%@&%%",
+"##$.%%%%&&%&&%&&%&&%&&%&&%%",
+"##$.%%%%%%%%%%%%%%%%%%%%%%%",
+"###$.%%%%%%%%%%%%%%%%%%%%%%",
+"####$.%%%%%%%%%%%%%%%%%%%%%",
+"$$$$$$.&&&&&&&&&&&&&&&&&&&&",
+"..........................."};
diff --git a/themes/oroborus/title-2-inactive.xpm b/themes/oroborus/title-2-inactive.xpm
new file mode 100644
index 000000000..8cac73c1e
--- /dev/null
+++ b/themes/oroborus/title-2-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"27 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"...........................",
+"+++++++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"###########################",
+"..........................."};
diff --git a/themes/oroborus/title-3-active.xpm b/themes/oroborus/title-3-active.xpm
new file mode 100644
index 000000000..2575d52da
--- /dev/null
+++ b/themes/oroborus/title-3-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B70000 s active_hilight_1",
+"@ c #8B0000 s active_color_1",
+"# c #4D0000 s active_shadow_1",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/oroborus/title-3-inactive.xpm b/themes/oroborus/title-3-inactive.xpm
new file mode 100644
index 000000000..6ec5b4432
--- /dev/null
+++ b/themes/oroborus/title-3-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."}; \ No newline at end of file
diff --git a/themes/oroborus/title-4-active.xpm b/themes/oroborus/title-4-active.xpm
new file mode 100644
index 000000000..eedd06139
--- /dev/null
+++ b/themes/oroborus/title-4-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"27 21 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B70000 s active_hilight_1",
+"@ c #FFFFFF s active_hilight_2",
+"# c #8B0000 s active_color_1",
+"$ c #DFDFDF s active_color_2",
+"% c #B2B2B2 s active_shadow_2",
+"& c #4D0000 s active_shadow_1",
+"...........................",
+"++++++++++++++++++++.@@@@@@",
+"#####################.@$$$$",
+"######################.@$$$",
+"#######################.@$$",
+"##+&#+&#+&#+&#+&#+&####.@$$",
+"##&&#&&#&&#&&#&&#&&####.@$$",
+"#######################.@$$",
+"##+&#+&#+&#+&#+&#+&####.@$$",
+"##&&#&&#&&#&&#&&#&&####.@$$",
+"#######################.@$$",
+"##+&#+&#+&#+&#+&#+&####.@$$",
+"##&&#&&#&&#&&#&&#&&####.@$$",
+"#######################.@$$",
+"##+&#+&#+&#+&#+&#+&####.@$$",
+"##&&#&&#&&#&&#&&#&&####.@$$",
+"#######################.@$$",
+"######################.@$$$",
+"#####################.@$$$$",
+"&&&&&&&&&&&&&&&&&&&&.@%%%%%",
+"..........................."};
diff --git a/themes/oroborus/title-4-inactive.xpm b/themes/oroborus/title-4-inactive.xpm
new file mode 100644
index 000000000..8cac73c1e
--- /dev/null
+++ b/themes/oroborus/title-4-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"27 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"...........................",
+"+++++++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"###########################",
+"..........................."};
diff --git a/themes/oroborus/title-5-active.xpm b/themes/oroborus/title-5-active.xpm
new file mode 100644
index 000000000..a207bd538
--- /dev/null
+++ b/themes/oroborus/title-5-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #DFDFDF s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."}; \ No newline at end of file
diff --git a/themes/oroborus/title-5-inactive.xpm b/themes/oroborus/title-5-inactive.xpm
new file mode 100644
index 000000000..6ec5b4432
--- /dev/null
+++ b/themes/oroborus/title-5-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."}; \ No newline at end of file
diff --git a/themes/oroborus/top-left-active.xpm b/themes/oroborus/top-left-active.xpm
new file mode 100644
index 000000000..35acc44b2
--- /dev/null
+++ b/themes/oroborus/top-left-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"# c #DFDFDF s active_color_2",
+"$ c #B2B2B2 s active_shadow_2",
+".....",
+".++++",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+###",
+".+#$$",
+".+#$."};
diff --git a/themes/oroborus/top-left-inactive.xpm b/themes/oroborus/top-left-inactive.xpm
new file mode 100644
index 000000000..7dfcdab88
--- /dev/null
+++ b/themes/oroborus/top-left-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/oroborus/top-right-active.xpm b/themes/oroborus/top-right-active.xpm
new file mode 100644
index 000000000..6be0a3bd8
--- /dev/null
+++ b/themes/oroborus/top-right-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"$ c #DFDFDF s active_color_2",
+"% c #B2B2B2 s active_shadow_2",
+".....",
+"@@@@.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"$$$%.",
+"%%$%.",
+".@$%."};
diff --git a/themes/oroborus/top-right-inactive.xpm b/themes/oroborus/top-right-inactive.xpm
new file mode 100644
index 000000000..7fd88844c
--- /dev/null
+++ b/themes/oroborus/top-right-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 21 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #DFDFDF s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/platinum/Makefile.am b/themes/platinum/Makefile.am
new file mode 100644
index 000000000..923667d5c
--- /dev/null
+++ b/themes/platinum/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/platinum
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/platinum/Makefile.in b/themes/platinum/Makefile.in
new file mode 100644
index 000000000..3c58a863d
--- /dev/null
+++ b/themes/platinum/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/platinum
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/platinum/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/platinum
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/platinum/bottom-active.xpm b/themes/platinum/bottom-active.xpm
new file mode 100644
index 000000000..1a3a82967
--- /dev/null
+++ b/themes/platinum/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/platinum/bottom-inactive.xpm b/themes/platinum/bottom-inactive.xpm
new file mode 100644
index 000000000..a1fb8d635
--- /dev/null
+++ b/themes/platinum/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/platinum/bottom-left-active.xpm b/themes/platinum/bottom-left-active.xpm
new file mode 100644
index 000000000..523adfeb7
--- /dev/null
+++ b/themes/platinum/bottom-left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/platinum/bottom-left-inactive.xpm b/themes/platinum/bottom-left-inactive.xpm
new file mode 100644
index 000000000..a9a55b475
--- /dev/null
+++ b/themes/platinum/bottom-left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/platinum/bottom-right-active.xpm b/themes/platinum/bottom-right-active.xpm
new file mode 100644
index 000000000..cc3644f64
--- /dev/null
+++ b/themes/platinum/bottom-right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"16 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"............+@#.",
+".++++++++++++@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@+@@@@@@#.",
+".+@@@@+#@@@@@@#.",
+".+@@@+#@@+@@@@#.",
+".+@@+#@@+#@@@@#.",
+".+@+#@@+#@@+@@#.",
+".+@@@@+#@@+#@@#.",
+".+@@@+#@@+#@@@#.",
+".+@@@@@@+#@@@@#.",
+".+@@@@@+#@@@@@#.",
+"++@@@@@@@@@@@@#.",
+"@@@@@@@@@@@@@@#.",
+"###############.",
+"................"};
diff --git a/themes/platinum/bottom-right-inactive.xpm b/themes/platinum/bottom-right-inactive.xpm
new file mode 100644
index 000000000..97a3cdc21
--- /dev/null
+++ b/themes/platinum/bottom-right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"16 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"............+@#.",
+".++++++++++++@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+".+@@@@@@@@@@@@#.",
+"++@@@@@@@@@@@@#.",
+"@@@@@@@@@@@@@@#.",
+"###############.",
+"................"};
diff --git a/themes/platinum/close-active.xpm b/themes/platinum/close-active.xpm
new file mode 100644
index 000000000..43698c01b
--- /dev/null
+++ b/themes/platinum/close-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/close-inactive.xpm b/themes/platinum/close-inactive.xpm
new file mode 100644
index 000000000..8774c8ca5
--- /dev/null
+++ b/themes/platinum/close-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/close-pressed.xpm b/themes/platinum/close-pressed.xpm
new file mode 100644
index 000000000..a5ab0b796
--- /dev/null
+++ b/themes/platinum/close-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@#........@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/hide-active.xpm b/themes/platinum/hide-active.xpm
new file mode 100644
index 000000000..2ffcb0362
--- /dev/null
+++ b/themes/platinum/hide-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/hide-inactive.xpm b/themes/platinum/hide-inactive.xpm
new file mode 100644
index 000000000..0d07672ee
--- /dev/null
+++ b/themes/platinum/hide-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/hide-pressed.xpm b/themes/platinum/hide-pressed.xpm
new file mode 100644
index 000000000..9f6658e2b
--- /dev/null
+++ b/themes/platinum/hide-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#+++++++++#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#+++++++++#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/left-active.xpm b/themes/platinum/left-active.xpm
new file mode 100644
index 000000000..122759f03
--- /dev/null
+++ b/themes/platinum/left-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/platinum/left-inactive.xpm b/themes/platinum/left-inactive.xpm
new file mode 100644
index 000000000..e175f75da
--- /dev/null
+++ b/themes/platinum/left-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/platinum/maximize-active.xpm b/themes/platinum/maximize-active.xpm
new file mode 100644
index 000000000..8f384721a
--- /dev/null
+++ b/themes/platinum/maximize-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/maximize-inactive.xpm b/themes/platinum/maximize-inactive.xpm
new file mode 100644
index 000000000..a16af8c57
--- /dev/null
+++ b/themes/platinum/maximize-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/maximize-pressed.xpm b/themes/platinum/maximize-pressed.xpm
new file mode 100644
index 000000000..42aa43875
--- /dev/null
+++ b/themes/platinum/maximize-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#+++++++++#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#+++++++++#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/menu-active.xpm b/themes/platinum/menu-active.xpm
new file mode 100644
index 000000000..4e783d8b4
--- /dev/null
+++ b/themes/platinum/menu-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/menu-inactive.xpm b/themes/platinum/menu-inactive.xpm
new file mode 100644
index 000000000..69811a4c4
--- /dev/null
+++ b/themes/platinum/menu-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/menu-pressed.xpm b/themes/platinum/menu-pressed.xpm
new file mode 100644
index 000000000..42aa43875
--- /dev/null
+++ b/themes/platinum/menu-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#+++++++++#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@###########..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#........+#..",
+"..+@@#+++++++++#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/right-active.xpm b/themes/platinum/right-active.xpm
new file mode 100644
index 000000000..f95e18242
--- /dev/null
+++ b/themes/platinum/right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/platinum/right-inactive.xpm b/themes/platinum/right-inactive.xpm
new file mode 100644
index 000000000..6983fa55b
--- /dev/null
+++ b/themes/platinum/right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/platinum/shade-active.xpm b/themes/platinum/shade-active.xpm
new file mode 100644
index 000000000..39093c367
--- /dev/null
+++ b/themes/platinum/shade-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/shade-inactive.xpm b/themes/platinum/shade-inactive.xpm
new file mode 100644
index 000000000..ba7ceaf92
--- /dev/null
+++ b/themes/platinum/shade-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/shade-pressed.xpm b/themes/platinum/shade-pressed.xpm
new file mode 100644
index 000000000..9184117e3
--- /dev/null
+++ b/themes/platinum/shade-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#........@#..",
+"..+@@#++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#........@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/stick-active.xpm b/themes/platinum/stick-active.xpm
new file mode 100644
index 000000000..2ebc0a230
--- /dev/null
+++ b/themes/platinum/stick-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@##########@#..",
+"..+@#........+@#..",
+"..+@#+++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/stick-inactive.xpm b/themes/platinum/stick-inactive.xpm
new file mode 100644
index 000000000..27395b4c5
--- /dev/null
+++ b/themes/platinum/stick-inactive.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"18 16 2 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/platinum/stick-pressed.xpm b/themes/platinum/stick-pressed.xpm
new file mode 100644
index 000000000..9184117e3
--- /dev/null
+++ b/themes/platinum/stick-pressed.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"18 16 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #000000 s active_border_color",
+"# c #FFFFFF s active_hilight_2",
+"..................",
+"..++++++++++++++..",
+"..+@@@@@@@@@@@@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#........@#..",
+"..+@@#++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#++++++++@#..",
+"..+@@@@@@@@@@@@#..",
+"..+@@#########@#..",
+"..+@@#........@#..",
+"..+@@@@@@@@@@@@#..",
+"..+#############..",
+".................."};
diff --git a/themes/platinum/themerc b/themes/platinum/themerc
new file mode 100644
index 000000000..327b263c7
--- /dev/null
+++ b/themes/platinum/themerc
@@ -0,0 +1,6 @@
+full_width_title=false
+#title_alignment=center
+button_spacing=0
+button_offset=0
+active_text_color=#000000
+inactive_text_color=#000000
diff --git a/themes/platinum/title-1-active.xpm b/themes/platinum/title-1-active.xpm
new file mode 100644
index 000000000..7d367fde5
--- /dev/null
+++ b/themes/platinum/title-1-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-1-inactive.xpm b/themes/platinum/title-1-inactive.xpm
new file mode 100644
index 000000000..7f87cc3f0
--- /dev/null
+++ b/themes/platinum/title-1-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-2-active.xpm b/themes/platinum/title-2-active.xpm
new file mode 100644
index 000000000..f0ac2f6b9
--- /dev/null
+++ b/themes/platinum/title-2-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_left_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"++@@@",
+"##@@@",
+"@@@@@",
+"++@@@",
+"##@@@",
+"@@@@@",
+"++@@@",
+"##@@@",
+"@@@@@",
+"++@@@",
+"##@@@",
+"@@@@@",
+"++@@@",
+"##@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-2-inactive.xpm b/themes/platinum/title-2-inactive.xpm
new file mode 100644
index 000000000..ce401c82e
--- /dev/null
+++ b/themes/platinum/title-2-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_left_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-3-active.xpm b/themes/platinum/title-3-active.xpm
new file mode 100644
index 000000000..bc8be472a
--- /dev/null
+++ b/themes/platinum/title-3-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-3-inactive.xpm b/themes/platinum/title-3-inactive.xpm
new file mode 100644
index 000000000..59fff76bf
--- /dev/null
+++ b/themes/platinum/title-3-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-4-active.xpm b/themes/platinum/title-4-active.xpm
new file mode 100644
index 000000000..bd617d21a
--- /dev/null
+++ b/themes/platinum/title-4-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_right_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@++",
+"@@@##",
+"@@@@@",
+"@@@++",
+"@@@##",
+"@@@@@",
+"@@@++",
+"@@@##",
+"@@@@@",
+"@@@++",
+"@@@##",
+"@@@@@",
+"@@@++",
+"@@@##",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-4-inactive.xpm b/themes/platinum/title-4-inactive.xpm
new file mode 100644
index 000000000..82acf8949
--- /dev/null
+++ b/themes/platinum/title-4-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_right_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-5-active.xpm b/themes/platinum/title-5-active.xpm
new file mode 100644
index 000000000..7d367fde5
--- /dev/null
+++ b/themes/platinum/title-5-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"+++++",
+"#####",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/title-5-inactive.xpm b/themes/platinum/title-5-inactive.xpm
new file mode 100644
index 000000000..7f87cc3f0
--- /dev/null
+++ b/themes/platinum/title-5-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/platinum/top-left-active.xpm b/themes/platinum/top-left-active.xpm
new file mode 100644
index 000000000..6cca62e8b
--- /dev/null
+++ b/themes/platinum/top-left-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/platinum/top-left-inactive.xpm b/themes/platinum/top-left-inactive.xpm
new file mode 100644
index 000000000..ab5917995
--- /dev/null
+++ b/themes/platinum/top-left-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/platinum/top-right-active.xpm b/themes/platinum/top-right-active.xpm
new file mode 100644
index 000000000..d5e5e6ef6
--- /dev/null
+++ b/themes/platinum/top-right-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/platinum/top-right-inactive.xpm b/themes/platinum/top-right-inactive.xpm
new file mode 100644
index 000000000..ffb4da709
--- /dev/null
+++ b/themes/platinum/top-right-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/redmond/Makefile.am b/themes/redmond/Makefile.am
new file mode 100644
index 000000000..c4433525d
--- /dev/null
+++ b/themes/redmond/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/redmond
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/redmond/Makefile.in b/themes/redmond/Makefile.in
new file mode 100644
index 000000000..70fc31579
--- /dev/null
+++ b/themes/redmond/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/redmond
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/redmond/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/redmond
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/redmond/bottom-active.xpm b/themes/redmond/bottom-active.xpm
new file mode 100644
index 000000000..8a3b493c1
--- /dev/null
+++ b/themes/redmond/bottom-active.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"5 4 5 1",
+" c None",
+". c #0E5EEE",
+"+ c #0E5AE2",
+"@ c #0A4EC2",
+"# c #020A1A",
+".....",
+"+++++",
+"@@@@@",
+"#####"};
diff --git a/themes/redmond/bottom-inactive.xpm b/themes/redmond/bottom-inactive.xpm
new file mode 100644
index 000000000..442a73cd4
--- /dev/null
+++ b/themes/redmond/bottom-inactive.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"5 4 5 1",
+" c None",
+". c #88BFFE",
+"+ c #88BCFC",
+"@ c #88B4F1",
+"# c #7F8591",
+".....",
+"+++++",
+"@@@@@",
+"#####"};
diff --git a/themes/redmond/bottom-left-active.xpm b/themes/redmond/bottom-left-active.xpm
new file mode 100644
index 000000000..6c0188061
--- /dev/null
+++ b/themes/redmond/bottom-left-active.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"20 20 19 1",
+" c None",
+". c #0A4ABA",
+"+ c #0E6AFE",
+"@ c #0E66FE",
+"# c #0E5EF2",
+"$ c #0E5EEA",
+"% c #0E5EEE",
+"& c #0A42AA",
+"* c #0E62FA",
+"= c #0E5ADE",
+"- c #0E5AE2",
+"; c #0E5AE6",
+"> c #0E52CE",
+", c #0A4EC2",
+"' c #0E52D2",
+") c #0A4EC6",
+"! c #021232",
+"~ c #020A1A",
+"{ c #020A1E",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".++@ ",
+".+@#$$%%%%%%%%%%%%%%",
+"&*$=-;;-------------",
+" >,>'>),,,,,,,,,,,,,",
+" !~{{~~~~~~~~~~~~~~"};
diff --git a/themes/redmond/bottom-left-inactive.xpm b/themes/redmond/bottom-left-inactive.xpm
new file mode 100644
index 000000000..53680bd8d
--- /dev/null
+++ b/themes/redmond/bottom-left-inactive.xpm
@@ -0,0 +1,41 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"20 20 18 1",
+" c None",
+". c #85B1EF",
+"+ c #88C5FE",
+"@ c #88C8FE",
+"# c #88C2FE",
+"$ c #88BFFE",
+"% c #88BFFC",
+"& c #85ABE7",
+"* c #88BCF9",
+"= c #88BCFC",
+"- c #88B7F4",
+"; c #88B4F1",
+"> c #88B7F7",
+", c #88B9F7",
+"' c #88B4F4",
+") c #828BA2",
+"! c #7F8591",
+"~ c #7F8894",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@+ ",
+".+@# ",
+".++$%%$$$$$$$$$$$$$$",
+"&#%*================",
+" -;>,>';;;;;;;;;;;;;",
+" )!~~!!!!!!!!!!!!!!"};
diff --git a/themes/redmond/bottom-right-active.xpm b/themes/redmond/bottom-right-active.xpm
new file mode 100644
index 000000000..4ed8e79ff
--- /dev/null
+++ b/themes/redmond/bottom-right-active.xpm
@@ -0,0 +1,42 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"20 20 19 1",
+" c None",
+". c #0E5EEE",
+"+ c #0E5AE6",
+"@ c #0E52CE",
+"# c #021A42",
+"$ c #0E5EEA",
+"% c #0E5AE2",
+"& c #0A52CA",
+"* c #0E52D2",
+"= c #0A4ABE",
+"- c #0E5ADE",
+"; c #0A42A6",
+"> c #02163A",
+", c #0A4EC2",
+"' c #0A4ABA",
+") c #0A368A",
+"! c #020A1A",
+"~ c #020A16",
+"{ c #020202",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" $%&#",
+"...............$%*=#",
+"%%%%%%%%%%%%%%%-*=;>",
+",,,,,,,,,,,,,,,,';) ",
+"!!!!!!!!!!!!!!!~{{ "};
diff --git a/themes/redmond/bottom-right-inactive.xpm b/themes/redmond/bottom-right-inactive.xpm
new file mode 100644
index 000000000..52d729602
--- /dev/null
+++ b/themes/redmond/bottom-right-inactive.xpm
@@ -0,0 +1,40 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"20 20 17 1",
+" c None",
+". c #88BFFE",
+"+ c #88BCFC",
+"@ c #88B7F7",
+"# c #8291AB",
+"$ c #88BFFC",
+"% c #88B7F4",
+"& c #88B9F7",
+"* c #88B4F1",
+"= c #88BCF9",
+"- c #85ABE7",
+"; c #828EA8",
+"> c #85B1EF",
+", c #85A5D9",
+"' c #7F8591",
+") c #7F858E",
+"! c #7F7F7F",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" .+@#",
+" $+%#",
+"...............$+&*#",
+"+++++++++++++++=@*-;",
+"****************>-, ",
+"''''''''''''''')!! "};
diff --git a/themes/redmond/close-active.xpm b/themes/redmond/close-active.xpm
new file mode 100644
index 000000000..c32d779bf
--- /dev/null
+++ b/themes/redmond/close-active.xpm
@@ -0,0 +1,198 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"20 20 175 2",
+" c None",
+". c #FFFFFF",
+"+ c #FE7777",
+"@ c #FE7676",
+"# c #FE7474",
+"$ c #FE7171",
+"% c #FE6E6E",
+"& c #FE6C6C",
+"* c #FE6969",
+"= c #FE6767",
+"- c #FE6464",
+"; c #FE6262",
+"> c #FD5F5F",
+", c #FB7676",
+"' c #F87575",
+") c #F77575",
+"! c #F77474",
+"~ c #F77272",
+"{ c #F66F6F",
+"] c #F66C6C",
+"^ c #F66A6A",
+"/ c #F56767",
+"( c #F56565",
+"_ c #F56262",
+": c #F55F5F",
+"< c #F45D5D",
+"[ c #ED5959",
+"} c #E35454",
+"| c #F47474",
+"1 c #F17474",
+"2 c #F17373",
+"3 c #F07070",
+"4 c #F06E6E",
+"5 c #F06B6B",
+"6 c #EF6868",
+"7 c #EF6666",
+"8 c #EE6363",
+"9 c #EE6161",
+"0 c #EE5E5E",
+"a c #E45555",
+"b c #D84F4F",
+"c c #F27474",
+"d c #EB6F6F",
+"e c #EA6C6C",
+"f c #EA6969",
+"g c #E96767",
+"h c #E96464",
+"i c #E96262",
+"j c #E85F5F",
+"k c #E85D5D",
+"l c #DE5050",
+"m c #D54C4C",
+"n c #EE7373",
+"o c #E86969",
+"p c #E86666",
+"q c #E76464",
+"r c #E76161",
+"s c #E75F5F",
+"t c #E65C5C",
+"u c #E25151",
+"v c #DC4E4E",
+"w c #D54949",
+"x c #EE7272",
+"y c #EA6F6F",
+"z c #E55252",
+"A c #E14F4F",
+"B c #DC4B4B",
+"C c #D54747",
+"D c #F27373",
+"E c #EE7070",
+"F c #E44F4F",
+"G c #E14C4C",
+"H c #DC4848",
+"I c #D44444",
+"J c #F87474",
+"K c #F27070",
+"L c #ED6D6D",
+"M c #E96969",
+"N c #E44D4D",
+"O c #E04A4A",
+"P c #DC4646",
+"Q c #D44242",
+"R c #F16E6E",
+"S c #ED6A6A",
+"T c #E44A4A",
+"U c #E04747",
+"V c #DB4343",
+"W c #D43F3F",
+"X c #F76F6F",
+"Y c #F16B6B",
+"Z c #ED6868",
+"` c #E86464",
+" . c #E34848",
+".. c #E04545",
+"+. c #DB4141",
+"@. c #D33D3D",
+"#. c #F76C6C",
+"$. c #F16969",
+"%. c #EC6565",
+"&. c #E86262",
+"*. c #E44848",
+"=. c #E34545",
+"-. c #DF4242",
+";. c #DA3E3E",
+">. c #D33A3A",
+",. c #F06666",
+"'. c #EC6363",
+"). c #E34242",
+"!. c #DF4040",
+"~. c #DA3C3C",
+"{. c #D23838",
+"]. c #F66767",
+"^. c #F06464",
+"/. c #EB6060",
+"(. c #E75D5D",
+"_. c #E24040",
+":. c #DF3D3D",
+"<. c #DA3939",
+"[. c #D23535",
+"}. c #F66565",
+"|. c #F06161",
+"1. c #EB5E5E",
+"2. c #DE3B3B",
+"3. c #D93737",
+"4. c #D23333",
+"5. c #F66262",
+"6. c #EF5F5F",
+"7. c #D93434",
+"8. c #D23131",
+"9. c #F66060",
+"0. c #EE5C5C",
+"a. c #E15151",
+"b. c #E04E4E",
+"c. c #E04C4C",
+"d. c #DF4949",
+"e. c #DF4747",
+"f. c #DF4444",
+"g. c #DE4242",
+"h. c #DE3F3F",
+"i. c #DE3D3D",
+"j. c #DD3A3A",
+"k. c #D83232",
+"l. c #D13131",
+"m. c #E85858",
+"n. c #E15454",
+"o. c #DB5050",
+"p. c #DA4D4D",
+"q. c #D94B4B",
+"r. c #D94848",
+"s. c #D94646",
+"t. c #D84343",
+"u. c #D84040",
+"v. c #D83E3E",
+"w. c #D73B3B",
+"x. c #D73939",
+"y. c #D63636",
+"z. c #D63333",
+"A. c #D63232",
+"B. c #D43232",
+"C. c #D03131",
+"D. c #DD5353",
+"E. c #D34E4E",
+"F. c #D04A4A",
+"G. c #CF4848",
+"H. c #CF4545",
+"I. c #CF4343",
+"J. c #CE4040",
+"K. c #CE3E3E",
+"L. c #CD3B3B",
+"M. c #CD3939",
+"N. c #CD3636",
+"O. c #CC3434",
+"P. c #CC3131",
+"Q. c #CC3030",
+"R. c #CD3030",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ) ) ) ! ~ { ] ^ / ( _ : < [ } . ",
+". ' | . . 1 2 3 4 5 6 7 8 9 0 . . a b . ",
+". ' c . . . d e f g h i j k . . . l m . ",
+". ' c n . . . o p q r s t . . . u v w . ",
+". ' c x y . . . q r s t . . . z A B C . ",
+". ' D E e o . . . s t . . . z F G H I . ",
+". J K L M p q . . . . . . z F N O P Q . ",
+". ~ R S g q r s . . . . z F N T U V W . ",
+". X Y Z ` r s t . . . . F N T ...+.@.. ",
+". #.$.%.&.s t . . . . . . T *.=.-.;.>.. ",
+". ^ ,.'.j t . . . z F . . . =.).!.~.{.. ",
+". ].^./.(.. . . z F N T . . . _.:.<.[.. ",
+". }.|.1.. . . z F N T *.=.. . . 2.3.4.. ",
+". 5.6.. . . z F N T .=.)._.. . . 7.8.. ",
+". 9.0.. . a.b.c.d.e.f.g.h.i.j.. . k.l.. ",
+". < m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.. ",
+" . D.E.F.G.H.I.J.K.L.M.N.O.P.Q.Q.R.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/close-inactive.xpm b/themes/redmond/close-inactive.xpm
new file mode 100644
index 000000000..39e591a11
--- /dev/null
+++ b/themes/redmond/close-inactive.xpm
@@ -0,0 +1,197 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"20 20 174 2",
+" c None",
+". c #FFD0C6",
+"+ c #FE8A8A",
+"@ c #FE8888",
+"# c #FE8686",
+"$ c #FE8484",
+"% c #FE8282",
+"& c #FE8181",
+"* c #FE7F7F",
+"= c #FE7D7D",
+"- c #FD7B7B",
+"; c #FC7979",
+"> c #F98A8A",
+", c #F68989",
+"' c #F48989",
+") c #F48888",
+"! c #F48787",
+"~ c #F38585",
+"{ c #F38383",
+"] c #F38181",
+"^ c #F37F7F",
+"/ c #F27D7D",
+"( c #F27C7C",
+"_ c #F27A7A",
+": c #F17878",
+"< c #EA7575",
+"[ c #E07272",
+"} c #F58989",
+"| c #F18888",
+"1 c #EE8888",
+"2 c #EE8787",
+"3 c #ED8585",
+"4 c #ED8484",
+"5 c #ED8282",
+"6 c #EC8080",
+"7 c #EC7E7E",
+"8 c #EB7C7C",
+"9 c #EB7A7A",
+"0 c #EB7979",
+"a c #E17272",
+"b c #D76E6E",
+"c c #EF8888",
+"d c #E88484",
+"e c #E78383",
+"f c #E78181",
+"g c #E67F7F",
+"h c #E67D7D",
+"i c #E67B7B",
+"j c #E57979",
+"k c #E57878",
+"l c #DC6F6F",
+"m c #D46B6B",
+"n c #EB8888",
+"o c #E58080",
+"p c #E57F7F",
+"q c #E47D7D",
+"r c #E47B7B",
+"s c #E47979",
+"t c #E37777",
+"u c #DF6F6F",
+"v c #DA6D6D",
+"w c #D46A6A",
+"x c #EB8787",
+"y c #E78484",
+"z c #E27070",
+"A c #DE6E6E",
+"B c #DA6B6B",
+"C c #D36868",
+"D c #EF8787",
+"E c #EB8585",
+"F c #E16E6E",
+"G c #DE6C6C",
+"H c #DA6969",
+"I c #D36666",
+"J c #F58888",
+"K c #EF8686",
+"L c #EA8383",
+"M c #E68181",
+"N c #E16C6C",
+"O c #DE6A6A",
+"P c #DA6767",
+"Q c #D36464",
+"R c #F58787",
+"S c #EE8484",
+"T c #EA8181",
+"U c #E16A6A",
+"V c #DD6868",
+"W c #D96565",
+"X c #D36262",
+"Y c #F48585",
+"Z c #EE8282",
+"` c #EA7F7F",
+" . c #E06868",
+".. c #DD6666",
+"+. c #D96363",
+"@. c #D26060",
+"#. c #F48383",
+"$. c #EE8080",
+"%. c #E97E7E",
+"&. c #E57B7B",
+"*. c #E16868",
+"=. c #E06666",
+"-. c #DD6464",
+";. c #D86161",
+">. c #D25E5E",
+",. c #F48181",
+"'. c #ED7E7E",
+"). c #E97C7C",
+"!. c #E06464",
+"~. c #DD6262",
+"{. c #D86060",
+"]. c #D25C5C",
+"^. c #ED7D7D",
+"/. c #E87A7A",
+"(. c #E47878",
+"_. c #DF6363",
+":. c #DC6060",
+"<. c #D85D5D",
+"[. c #D15A5A",
+"}. c #F37D7D",
+"|. c #ED7B7B",
+"1. c #E87878",
+"2. c #DC5F5F",
+"3. c #D75C5C",
+"4. c #D15959",
+"5. c #F37C7C",
+"6. c #EC7979",
+"7. c #D75A5A",
+"8. c #D15757",
+"9. c #F37A7A",
+"0. c #EB7777",
+"a. c #DE6F6F",
+"b. c #DD6D6D",
+"c. c #DD6B6B",
+"d. c #DD6A6A",
+"e. c #DC6868",
+"f. c #DC6666",
+"g. c #DC6464",
+"h. c #DC6262",
+"i. c #DB6060",
+"j. c #DB5E5E",
+"k. c #D65858",
+"l. c #F27878",
+"m. c #E57474",
+"n. c #DE7171",
+"o. c #D96E6E",
+"p. c #D86C6C",
+"q. c #D76B6B",
+"r. c #D76969",
+"s. c #D76767",
+"t. c #D76565",
+"u. c #D66363",
+"v. c #D66161",
+"w. c #D55F5F",
+"x. c #D55D5D",
+"y. c #D55B5B",
+"z. c #D45959",
+"A. c #D45858",
+"B. c #D35858",
+"C. c #D05757",
+"D. c #DA7070",
+"E. c #D26D6D",
+"F. c #CF6A6A",
+"G. c #CF6868",
+"H. c #CF6767",
+"I. c #CE6565",
+"J. c #CE6363",
+"K. c #CD6161",
+"L. c #CD5F5F",
+"M. c #CD5D5D",
+"N. c #CD5B5B",
+"O. c #CC5959",
+"P. c #CC5757",
+"Q. c #CD5757",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + + @ # $ % & * = - ; . ",
+". > , ' ' ' ' ) ! ~ { ] ^ / ( _ : < [ . ",
+". } | . . 1 2 3 4 5 6 7 8 9 0 . . a b . ",
+". } c . . . d e f g h i j k . . . l m . ",
+". } c n . . . o p q r s t . . . u v w . ",
+". } c x y . . . q r s t . . . z A B C . ",
+". } D E e o . . . s t . . . z F G H I . ",
+". J K L M p q . . . . . . z F N O P Q . ",
+". R S T g q r s . . . . z F N U V W X . ",
+". Y Z ` h r s t . . . . F N U ...+.@.. ",
+". #.$.%.&.s t . . . . . . U *.=.-.;.>.. ",
+". ,.'.).j t . . . z F . . . =.!.~.{.].. ",
+". ^ ^./.(.. . . z F N U . . . _.:.<.[.. ",
+". }.|.1.. . . z F N U *.=.. . . 2.3.4.. ",
+". 5.6.. . . z F N U .=.!._.. . . 7.8.. ",
+". 9.0.. . a.b.c.d.e.f.g.h.i.j.. . k.8.. ",
+". l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.. ",
+" . D.E.F.G.H.I.J.K.L.M.N.O.P.P.P.Q.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/close-pressed.xpm b/themes/redmond/close-pressed.xpm
new file mode 100644
index 000000000..58aed7243
--- /dev/null
+++ b/themes/redmond/close-pressed.xpm
@@ -0,0 +1,204 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"20 20 181 2",
+" c None",
+". c #FFFFFF",
+"+ c #8E2121",
+"@ c #8D2121",
+"# c #8E2222",
+"$ c #8E2323",
+"% c #8F2525",
+"& c #902727",
+"* c #922929",
+"= c #952C2C",
+"- c #992F2F",
+"; c #9B3131",
+"> c #9F3333",
+", c #A23636",
+"' c #A53838",
+") c #AA3B3B",
+"! c #B43F3F",
+"~ c #912222",
+"{ c #942222",
+"] c #952222",
+"^ c #952323",
+"/ c #952525",
+"( c #962727",
+"_ c #972929",
+": c #9A2B2B",
+"< c #9D2E2E",
+"[ c #A03030",
+"} c #A33333",
+"| c #A63535",
+"1 c #A93838",
+"2 c #AC3A3A",
+"3 c #B03D3D",
+"4 c #B74040",
+"5 c #BF4444",
+"6 c #CA4848",
+"7 c #922222",
+"8 c #962222",
+"9 c #9A2828",
+"0 c #9B2A2A",
+"a c #9E2C2C",
+"b c #A12F2F",
+"c c #A43131",
+"d c #A73434",
+"e c #AA3636",
+"f c #AE3939",
+"g c #B13B3B",
+"h c #B43E3E",
+"i c #C64747",
+"j c #CE4B4B",
+"k c #972424",
+"l c #A12D2D",
+"m c #A42F2F",
+"n c #A73232",
+"o c #AA3434",
+"p c #AE3737",
+"q c #B03939",
+"r c #B43B3B",
+"s c #B73E3E",
+"t c #CA4A4A",
+"u c #D14D4D",
+"v c #922323",
+"w c #972626",
+"x c #9B2828",
+"y c #A83232",
+"z c #AB3434",
+"A c #B13939",
+"B c #C74949",
+"C c #CD4C4C",
+"D c #D45050",
+"E c #922424",
+"F c #972727",
+"G c #9C2A2A",
+"H c #C54949",
+"I c #CA4C4C",
+"J c #D04F4F",
+"K c #D75252",
+"L c #922626",
+"M c #992929",
+"N c #9F2D2D",
+"O c #C44848",
+"P c #C84B4B",
+"Q c #CD4E4E",
+"R c #D35151",
+"S c #DB5555",
+"T c #942828",
+"U c #9C2C2C",
+"V c #A22F2F",
+"W c #AB3535",
+"X c #C74B4B",
+"Y c #CB4E4E",
+"Z c #D15151",
+"` c #D65454",
+" . c #DD5757",
+".. c #972B2B",
+"+. c #9F2E2E",
+"@. c #A53232",
+"#. c #CA4D4D",
+"$. c #CE5050",
+"%. c #D45353",
+"&. c #DA5656",
+"*. c #E15959",
+"=. c #9A2D2D",
+"-. c #A23131",
+";. c #A93434",
+">. c #B83E3E",
+",. c #CD5050",
+"'. c #D15353",
+"). c #D75555",
+"!. c #DD5959",
+"~. c #E45C5C",
+"{. c #9E3030",
+"]. c #A63333",
+"^. c #AC3737",
+"/. c #B43C3C",
+"(. c #D15252",
+"_. c #D45555",
+":. c #DA5858",
+"<. c #E05B5B",
+"[. c #E75E5E",
+"}. c #A13232",
+"|. c #A93636",
+"1. c #AF3939",
+"2. c #D35555",
+"3. c #D85858",
+"4. c #DD5B5B",
+"5. c #E45E5E",
+"6. c #EA6060",
+"7. c #A43535",
+"8. c #AC3838",
+"9. c #B23B3B",
+"0. c #DB5A5A",
+"a. c #E05D5D",
+"b. c #E65F5F",
+"c. c #ED6161",
+"d. c #A73737",
+"e. c #AF3B3B",
+"f. c #B53E3E",
+"g. c #CB4D4D",
+"h. c #E96060",
+"i. c #F06161",
+"j. c #AB3A3A",
+"k. c #B33D3D",
+"l. c #C94B4B",
+"m. c #CC4E4E",
+"n. c #CF5050",
+"o. c #D25353",
+"p. c #D55555",
+"q. c #DC5A5A",
+"r. c #EC6060",
+"s. c #F16161",
+"t. c #AF3D3D",
+"u. c #BA4141",
+"v. c #C94A4A",
+"w. c #D95656",
+"x. c #DC5959",
+"y. c #DF5B5B",
+"z. c #E35E5E",
+"A. c #EE6060",
+"B. c #B94141",
+"C. c #C34545",
+"D. c #CB4848",
+"E. c #CF4B4B",
+"F. c #D24D4D",
+"G. c #D85252",
+"H. c #DA5555",
+"I. c #DE5757",
+"J. c #E15A5A",
+"K. c #F36262",
+"L. c #D14A4A",
+"M. c #D54C4C",
+"N. c #D84F4F",
+"O. c #DB5151",
+"P. c #DE5454",
+"Q. c #E15656",
+"R. c #E35858",
+"S. c #E65B5B",
+"T. c #E95D5D",
+"U. c #EF6161",
+"V. c #F26262",
+"W. c #F46262",
+"X. c #F56363",
+" . . . . . . . . . . . . . . . . ",
+" . + + @ # $ % & * = - ; > , ' ) ! . ",
+". ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 . ",
+". 7 8 . . 9 0 a b c d e f g h . . i j . ",
+". 7 k . . . l m n o p q r s . . . t u . ",
+". v w x . . . y z p A r s . . . B C D . ",
+". E F G l . . . p A r s . . . H I J K . ",
+". L M N m y . . . r s . . . O P Q R S . ",
+". T U V n W p . . . . . . O X Y Z ` .. ",
+". ..+.@.z p A r . . . . O X #.$.%.&.*.. ",
+". =.-.;.p A r >.. . . . P #.,.'.).!.~.. ",
+". {.].^.A /.>.. . . . . . ,.(._.:.<.[.. ",
+". }.|.1./.>.. . . O P . . . 2.3.4.5.6.. ",
+". 7.8.9.s . . . O P #.,.. . . 0.a.b.c.. ",
+". d.e.f.. . . O P g.,.(._.. . . 5.h.i.. ",
+". j.k.. . . H l.m.n.o.p.3.q.. . . r.s.. ",
+". t.u.. . v.C J R ` w.x.y.z.b.. . A.s.. ",
+". B.C.D.E.F.D G.H.I.J.~.[.6.c.i.i.s.K.. ",
+" . L.M.N.O.P.Q.R.S.T.r.U.V.W.X.X.X.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/hide-active.xpm b/themes/redmond/hide-active.xpm
new file mode 100644
index 000000000..a29d68858
--- /dev/null
+++ b/themes/redmond/hide-active.xpm
@@ -0,0 +1,156 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"20 20 133 2",
+" c None",
+". c #FFFFFF",
+"+ c #8EB9FF",
+"@ c #8CB7FF",
+"# c #86B4FF",
+"$ c #81B0FF",
+"% c #7BACFF",
+"& c #76A9FF",
+"* c #70A5FF",
+"= c #6BA2FF",
+"- c #659DFF",
+"; c #609AFF",
+"> c #5A96FF",
+", c #8EB7FF",
+"' c #8EB6FE",
+") c #8DB5FD",
+"! c #8DB5FC",
+"~ c #8BB4FC",
+"{ c #86B0FC",
+"] c #80ACFC",
+"^ c #7BA9FC",
+"/ c #75A5FB",
+"( c #70A1FB",
+"_ c #6A9DFB",
+": c #659AFB",
+"< c #5F96FB",
+"[ c #5A92FB",
+"} c #548EF8",
+"| c #4E87EF",
+"1 c #8DB5FB",
+"2 c #8DB3F7",
+"3 c #8DB2F6",
+"4 c #8BB1F6",
+"5 c #85ADF6",
+"6 c #80AAF5",
+"7 c #7AA6F4",
+"8 c #75A2F4",
+"9 c #6F9FF4",
+"0 c #6A9BF3",
+"a c #6497F3",
+"b c #5F93F3",
+"c c #598FF2",
+"d c #538CF2",
+"e c #4E88F0",
+"f c #4881E9",
+"g c #8DB4FB",
+"h c #7FAAF5",
+"i c #5F93F2",
+"j c #4E88F1",
+"k c #4884EF",
+"l c #437EE7",
+"m c #4885F1",
+"n c #4381EF",
+"o c #3D7AE7",
+"p c #4381F1",
+"q c #3D7DEF",
+"r c #3876E7",
+"s c #8BB3FA",
+"t c #3D7DF0",
+"u c #3879EE",
+"v c #3273E6",
+"w c #8BB5FF",
+"x c #86AFFA",
+"y c #387AF0",
+"z c #3275EE",
+"A c #2D6FE6",
+"B c #86B2FF",
+"C c #80ABFA",
+"D c #3276F0",
+"E c #2D72ED",
+"F c #276BE5",
+"G c #80AEFF",
+"H c #7BA8F9",
+"I c #2D72EF",
+"J c #276EED",
+"K c #2268E5",
+"L c #7BAAFF",
+"M c #75A4F9",
+"N c #276EEF",
+"O c #226AED",
+"P c #1C64E5",
+"Q c #75A7FF",
+"R c #6FA0F9",
+"S c #226BEE",
+"T c #1C66EC",
+"U c #1760E4",
+"V c #70A3FF",
+"W c #6A9CF8",
+"X c #276FEF",
+"Y c #1C67EE",
+"Z c #1763EC",
+"` c #115CE4",
+" . c #6B9FFF",
+".. c #6499F8",
+"+. c #1763EE",
+"@. c #115FEC",
+"#. c #0D5AE4",
+"$. c #659CFF",
+"%. c #5F95F8",
+"&. c #1160ED",
+"*. c #0D5DEB",
+"=. c #0C5AE4",
+"-. c #5F98FF",
+";. c #5A92F7",
+">. c #0D5DED",
+",. c #0D5CEB",
+"'. c #5A94FE",
+"). c #548DF4",
+"!. c #4E88EF",
+"~. c #4380EE",
+"{. c #3D7CEE",
+"]. c #3879ED",
+"^. c #3275ED",
+"/. c #276EEC",
+"(. c #226AEC",
+"_. c #1763EB",
+":. c #115FEB",
+"<. c #0D5CE9",
+"[. c #0C59E4",
+"}. c #4E86EB",
+"|. c #4880E5",
+"1. c #437CE4",
+"2. c #3D79E4",
+"3. c #3775E4",
+"4. c #3271E3",
+"5. c #2C6EE2",
+"6. c #276AE2",
+"7. c #2166E2",
+"8. c #1C62E1",
+"9. c #165FE1",
+"0. c #115BE1",
+"a. c #0D58E1",
+"b. c #0C58E1",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , g 3 3 4 5 h 7 8 9 0 a i c d j k l . ",
+". , g 3 4 5 h 7 8 9 0 a i c d j m n o . ",
+". , g 4 5 h 7 8 9 0 a i c d j m p q r . ",
+". , s 5 h 7 8 9 0 a i c d j m p t u v . ",
+". w x 6 7 8 9 0 a i c d j m p t y z A . ",
+". B C 7 8 9 0 a i c d j m p t y D E F . ",
+". G H 8 9 0 a i c d j m p t y D I J K . ",
+". L M 9 0 a i c d j m p t y D I N O P . ",
+". Q R 0 a i c d j m p t y D I N S T U . ",
+". V W a i c d j m p t y D I X S Y Z ` . ",
+". .... . . . . . . . . . . . . +.@.#.. ",
+". $.%.. . . . . . . . . . . . . &.*.=.. ",
+". -.;.. . . . . . . . . . . . . >.,.=.. ",
+". '.).!.k ~.{.].^.E /.(.T _.:.*.,.<.[.. ",
+" . }.|.1.2.3.4.5.6.7.8.9.0.a.b.b.b.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/hide-inactive.xpm b/themes/redmond/hide-inactive.xpm
new file mode 100644
index 000000000..16692ae3e
--- /dev/null
+++ b/themes/redmond/hide-inactive.xpm
@@ -0,0 +1,150 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"20 20 127 2",
+" c None",
+". c #D4DFFF",
+"+ c #B1CFFF",
+"@ c #B0CEFF",
+"# c #ACCCFF",
+"$ c #A9C9FF",
+"% c #A4C6FF",
+"& c #A1C4FF",
+"* c #9DC1FF",
+"= c #99BFFF",
+"- c #95BCFF",
+"; c #92BAFF",
+"> c #8EB7FF",
+", c #B1CEFF",
+"' c #B1CDFE",
+") c #B1CCFE",
+"! c #B1CCFD",
+"~ c #AFCCFD",
+"{ c #ACC9FD",
+"] c #A8C6FD",
+"^ c #A4C4FD",
+"/ c #A0C1FC",
+"( c #9DBEFC",
+"_ c #99BCFC",
+": c #95BAFC",
+"< c #91B7FC",
+"[ c #8EB4FC",
+"} c #8AB1FA",
+"| c #86ADF4",
+"1 c #B1CCFC",
+"2 c #B1CBFA",
+"3 c #B1CAF9",
+"4 c #AFC9F9",
+"5 c #ABC7F9",
+"6 c #A8C5F8",
+"7 c #A4C2F7",
+"8 c #A0BFF7",
+"9 c #9CBDF7",
+"0 c #99BAF7",
+"a c #95B8F7",
+"b c #91B5F7",
+"c c #8DB2F6",
+"d c #89B0F6",
+"e c #86ADF5",
+"f c #81A9F0",
+"g c #A7C5F8",
+"h c #91B5F6",
+"i c #81ABF4",
+"j c #7EA6EF",
+"k c #81ABF5",
+"l c #7EA9F4",
+"m c #7AA4EF",
+"n c #7EA9F5",
+"o c #7AA6F4",
+"p c #76A1EF",
+"q c #AFCBFC",
+"r c #7AA6F5",
+"s c #76A3F3",
+"t c #729FEE",
+"u c #AFCCFF",
+"v c #ACC8FC",
+"w c #76A4F5",
+"x c #72A0F3",
+"y c #6F9CEE",
+"z c #ACCAFF",
+"A c #A8C5FC",
+"B c #72A1F5",
+"C c #6F9EF3",
+"D c #6B99ED",
+"E c #A8C7FF",
+"F c #A4C3FB",
+"G c #6F9EF4",
+"H c #6B9BF3",
+"I c #6797ED",
+"J c #A4C5FF",
+"K c #A0C1FB",
+"L c #6B9BF4",
+"M c #6799F3",
+"N c #6395ED",
+"O c #A0C3FF",
+"P c #9CBEFB",
+"Q c #6396F2",
+"R c #6092EC",
+"S c #9DC0FF",
+"T c #99BBFA",
+"U c #6B9CF4",
+"V c #6397F3",
+"W c #6094F2",
+"X c #5C8FEC",
+"Y c #99BDFF",
+"Z c #95B9FA",
+"` c #6094F3",
+" . c #5C91F2",
+".. c #598EEC",
+"+. c #95BBFF",
+"@. c #91B6FA",
+"#. c #5C92F3",
+"$. c #5990F1",
+"%. c #588EEC",
+"&. c #91B8FF",
+"*. c #8EB4FA",
+"=. c #5990F3",
+"-. c #598FF1",
+";. c #8EB6FE",
+">. c #8AB1F7",
+",. c #7EA8F3",
+"'. c #7AA5F3",
+"). c #6B9BF2",
+"!. c #6799F2",
+"~. c #6094F1",
+"{. c #5C91F1",
+"]. c #598FF0",
+"^. c #588DEC",
+"/. c #86ACF1",
+"(. c #81A8ED",
+"_. c #7EA5EC",
+":. c #7AA3EC",
+"<. c #76A0EC",
+"[. c #729EEC",
+"}. c #6E9BEB",
+"|. c #6B99EB",
+"1. c #6796EB",
+"2. c #6393EA",
+"3. c #5F91EA",
+"4. c #5C8EEA",
+"5. c #598CEA",
+"6. c #588CEA",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , 1 3 3 4 5 g 7 8 9 0 a h c d e i j . ",
+". , 1 3 4 5 g 7 8 9 0 a h c d e k l m . ",
+". , 1 4 5 g 7 8 9 0 a h c d e k n o p . ",
+". , q 5 g 7 8 9 0 a h c d e k n r s t . ",
+". u v 6 7 8 9 0 a h c d e k n r w x y . ",
+". z A 7 8 9 0 a h c d e k n r w B C D . ",
+". E F 8 9 0 a h c d e k n r w B G H I . ",
+". J K 9 0 a h c d e k n r w B G L M N . ",
+". O P 0 a h c d e k n r w B G L M Q R . ",
+". S T a h c d e k n r w B G U M V W X . ",
+". Y Z . . . . . . . . . . . . . ` .... ",
+". +.@.. . . . . . . . . . . . . #.$.%.. ",
+". &.*.. . . . . . . . . . . . . =.-.%.. ",
+". ;.>.| i ,.'.s x C ).!.Q ~.{.$.-.].^.. ",
+" . /.(._.:.<.[.}.|.1.2.3.4.5.6.6.6.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/hide-pressed.xpm b/themes/redmond/hide-pressed.xpm
new file mode 100644
index 000000000..42542cdb5
--- /dev/null
+++ b/themes/redmond/hide-pressed.xpm
@@ -0,0 +1,151 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"20 20 128 2",
+" c None",
+". c #FFFFFF",
+"+ c #0543D3",
+"@ c #0846D3",
+"# c #0B4AD3",
+"$ c #0F4DD4",
+"% c #1351D4",
+"& c #1755D4",
+"* c #1B59D4",
+"= c #205CD5",
+"- c #2460D5",
+"; c #2965D5",
+"> c #2E68D6",
+", c #336DD7",
+"' c #3973DC",
+") c #0544D6",
+"! c #0547DA",
+"~ c #0547DC",
+"{ c #0548DC",
+"] c #084ADC",
+"^ c #0C4EDC",
+"/ c #0F51DC",
+"( c #1355DD",
+"_ c #1759DD",
+": c #1C5DDD",
+"< c #2061DE",
+"[ c #2565DE",
+"} c #2969DE",
+"| c #2F6DDF",
+"1 c #3471DF",
+"2 c #3975E0",
+"3 c #3F7BE3",
+"4 c #4584EB",
+"5 c #0545D6",
+"6 c #0548DE",
+"7 c #084BDE",
+"8 c #0B4EDE",
+"9 c #0F52DE",
+"0 c #1356DE",
+"a c #1759DF",
+"b c #1B5EDF",
+"c c #2062E0",
+"d c #2566E0",
+"e c #296AE0",
+"f c #2F6EE1",
+"g c #3372E1",
+"h c #3976E1",
+"i c #3E7AE2",
+"j c #4581E6",
+"k c #4A88EC",
+"l c #447EE2",
+"m c #4A85E6",
+"n c #508CEC",
+"o c #175ADF",
+"p c #1C5EDF",
+"q c #2A6AE0",
+"r c #3472E1",
+"s c #4A83E2",
+"t c #4F89E6",
+"u c #5690EC",
+"v c #0847D6",
+"w c #0C4EDD",
+"x c #4F87E3",
+"y c #558DE7",
+"z c #5B94EC",
+"A c #0B4BD6",
+"B c #0F51DD",
+"C c #558BE3",
+"D c #5B91E7",
+"E c #6199EC",
+"F c #0F4FD6",
+"G c #5A90E3",
+"H c #6195E7",
+"I c #679CEC",
+"J c #1353D7",
+"K c #6093E3",
+"L c #6799E7",
+"M c #6DA0EC",
+"N c #1756D7",
+"O c #1C5DDE",
+"P c #6193E3",
+"Q c #6698E3",
+"R c #6D9DE8",
+"S c #74A4EC",
+"T c #1B5AD7",
+"U c #6C9CE4",
+"V c #73A2E8",
+"W c #7AA8EC",
+"X c #205ED8",
+"Y c #72A0E5",
+"Z c #79A5E8",
+"` c #7DAAEC",
+" . c #2462D8",
+".. c #2969DF",
+"+. c #79A4E5",
+"@. c #7BA7E9",
+"#. c #2966D9",
+"$. c #2F6EDF",
+"%. c #7BA5E5",
+"&. c #2F6AD9",
+"*. c #336EDA",
+"=. c #7BA6E6",
+"-. c #7BA8E9",
+";. c #3975DF",
+">. c #3F7DE6",
+",. c #4582E8",
+"'. c #4A86E9",
+"). c #508AE9",
+"!. c #558EE9",
+"~. c #5B92E9",
+"{. c #6196E9",
+"]. c #679BE9",
+"^. c #6D9EEA",
+"/. c #73A3EA",
+"(. c #79A7EA",
+"_. c #7BA8EA",
+":. c #7CA9EB",
+"<. c #4586EC",
+"[. c #4B8AEC",
+"}. c #508EEC",
+"|. c #5693EC",
+"1. c #5B97EC",
+"2. c #629BEC",
+"3. c #689FEC",
+"4. c #6EA3EC",
+"5. c #74A7EC",
+"6. c #7AAAEC",
+"7. c #7DACEC",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + @ # $ % & * = - ; > , ' . ",
+". ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 . ",
+". 5 ~ 6 7 8 9 0 a b c d e f g h i j k . ",
+". 5 { 7 8 9 0 a b c d e f g h i l m n . ",
+". 5 ] 8 9 0 o p c d q f r h i l s t u . ",
+". v w 9 0 o p c d e f r h i l s x y z . ",
+". A B 0 a p c d e f r h i l s x C D E . ",
+". F ( a b c d e f g h i l s x C G H I . ",
+". J _ b c d e f g h i l s x C G K L M . ",
+". N O c d q f r h i l s x C G P Q R S . ",
+". T < d e f r h i l s x C G K Q U V W . ",
+". X [ e f r h i l s x C G K Q U Y Z ` . ",
+". ...f g h i l s x C G K Q U Y +.@.` . ",
+". #.$.. . . . . . . . . . . . . %.@.` . ",
+". &.1 . . . . . . . . . . . . . %.@.` . ",
+". *.h . . . . . . . . . . . . . =.-.` . ",
+". ;.>.,.'.).!.~.{.].^./.(._._._._.:.` . ",
+" . <.[.}.|.1.2.3.4.5.6.7.7.7.7.7.7.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/left-active.xpm b/themes/redmond/left-active.xpm
new file mode 100644
index 000000000..eb6f396af
--- /dev/null
+++ b/themes/redmond/left-active.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"4 5 4 1",
+" c None",
+". c #0A4ABA",
+"+ c #0E6AFE",
+"@ c #0E66FE",
+".++@",
+".++@",
+".++@",
+".++@",
+".++@"};
diff --git a/themes/redmond/left-inactive.xpm b/themes/redmond/left-inactive.xpm
new file mode 100644
index 000000000..07fcd9c14
--- /dev/null
+++ b/themes/redmond/left-inactive.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"4 5 4 1",
+" c None",
+". c #85B1EF",
+"+ c #88C5FE",
+"@ c #88C8FE",
+".+@+",
+".+@+",
+".+@+",
+".+@+",
+".+@+"};
diff --git a/themes/redmond/maximize-active.xpm b/themes/redmond/maximize-active.xpm
new file mode 100644
index 000000000..d3a8c3322
--- /dev/null
+++ b/themes/redmond/maximize-active.xpm
@@ -0,0 +1,149 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"20 20 126 2",
+" c None",
+". c #FFFFFF",
+"+ c #8EB9FF",
+"@ c #8CB7FF",
+"# c #86B4FF",
+"$ c #81B0FF",
+"% c #7BACFF",
+"& c #76A9FF",
+"* c #70A5FF",
+"= c #6BA2FF",
+"- c #659DFF",
+"; c #609AFF",
+"> c #5A96FF",
+", c #8EB7FF",
+"' c #8EB6FE",
+") c #8DB5FD",
+"! c #8DB5FC",
+"~ c #8BB4FC",
+"{ c #86B0FC",
+"] c #80ACFC",
+"^ c #7BA9FC",
+"/ c #75A5FB",
+"( c #70A1FB",
+"_ c #6A9DFB",
+": c #659AFB",
+"< c #5F96FB",
+"[ c #5A92FB",
+"} c #548EF8",
+"| c #4E87EF",
+"1 c #8DB5FB",
+"2 c #4E88F0",
+"3 c #4881E9",
+"4 c #8DB4FB",
+"5 c #4884EF",
+"6 c #437EE7",
+"7 c #4381EF",
+"8 c #3D7AE7",
+"9 c #85ADF6",
+"0 c #7FAAF5",
+"a c #7AA6F4",
+"b c #75A2F4",
+"c c #6F9FF4",
+"d c #6A9BF3",
+"e c #6497F3",
+"f c #5F93F2",
+"g c #598FF2",
+"h c #538CF2",
+"i c #4E88F1",
+"j c #4885F1",
+"k c #3D7DEF",
+"l c #3876E7",
+"m c #8BB3FA",
+"n c #4381F1",
+"o c #3879EE",
+"p c #3273E6",
+"q c #8BB5FF",
+"r c #86AFFA",
+"s c #3D7DF0",
+"t c #3275EE",
+"u c #2D6FE6",
+"v c #86B2FF",
+"w c #80ABFA",
+"x c #387AF0",
+"y c #2D72ED",
+"z c #276BE5",
+"A c #80AEFF",
+"B c #7BA8F9",
+"C c #3276F0",
+"D c #276EED",
+"E c #2268E5",
+"F c #7BAAFF",
+"G c #75A4F9",
+"H c #2D72EF",
+"I c #226AED",
+"J c #1C64E5",
+"K c #75A7FF",
+"L c #6FA0F9",
+"M c #276EEF",
+"N c #1C66EC",
+"O c #1760E4",
+"P c #70A3FF",
+"Q c #6A9CF8",
+"R c #276FEF",
+"S c #226BEE",
+"T c #1763EC",
+"U c #115CE4",
+"V c #6B9FFF",
+"W c #6499F8",
+"X c #1C67EE",
+"Y c #115FEC",
+"Z c #0D5AE4",
+"` c #659CFF",
+" . c #5F95F8",
+".. c #1763EE",
+"+. c #0D5DEB",
+"@. c #0C5AE4",
+"#. c #5F98FF",
+"$. c #5A92F7",
+"%. c #0D5CEB",
+"&. c #5A94FE",
+"*. c #548DF4",
+"=. c #4E88EF",
+"-. c #4380EE",
+";. c #3D7CEE",
+">. c #3879ED",
+",. c #3275ED",
+"'. c #276EEC",
+"). c #226AEC",
+"!. c #1763EB",
+"~. c #115FEB",
+"{. c #0D5CE9",
+"]. c #0C59E4",
+"^. c #4E86EB",
+"/. c #4880E5",
+"(. c #437CE4",
+"_. c #3D79E4",
+":. c #3775E4",
+"<. c #3271E3",
+"[. c #2C6EE2",
+"}. c #276AE2",
+"|. c #2166E2",
+"1. c #1C62E1",
+"2. c #165FE1",
+"3. c #115BE1",
+"4. c #0D58E1",
+"5. c #0C58E1",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 . . . . . . . . . . . . . . 2 3 . ",
+". , 4 . . . . . . . . . . . . . . 5 6 . ",
+". , 4 . . . . . . . . . . . . . . 7 8 . ",
+". , 4 . 9 0 a b c d e f g h i j . k l . ",
+". , m . 0 a b c d e f g h i j n . o p . ",
+". q r . a b c d e f g h i j n s . t u . ",
+". v w . b c d e f g h i j n s x . y z . ",
+". A B . c d e f g h i j n s x C . D E . ",
+". F G . d e f g h i j n s x C H . I J . ",
+". K L . e f g h i j n s x C H M . N O . ",
+". P Q . f g h i j n s x C H R S . T U . ",
+". V W . g h i j n s x C H R S X . Y Z . ",
+". ` .. h i j n s x C H M S X ... +.@.. ",
+". #.$.. . . . . . . . . . . . . . %.@.. ",
+". &.*.=.5 -.;.>.,.y '.).N !.~.+.%.{.].. ",
+" . ^./.(._.:.<.[.}.|.1.2.3.4.5.5.5.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/maximize-inactive.xpm b/themes/redmond/maximize-inactive.xpm
new file mode 100644
index 000000000..f4277170d
--- /dev/null
+++ b/themes/redmond/maximize-inactive.xpm
@@ -0,0 +1,143 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"20 20 120 2",
+" c None",
+". c #D4DFFF",
+"+ c #B1CFFF",
+"@ c #B0CEFF",
+"# c #ACCCFF",
+"$ c #A9C9FF",
+"% c #A4C6FF",
+"& c #A1C4FF",
+"* c #9DC1FF",
+"= c #99BFFF",
+"- c #95BCFF",
+"; c #92BAFF",
+"> c #8EB7FF",
+", c #B1CEFF",
+"' c #B1CDFE",
+") c #B1CCFE",
+"! c #B1CCFD",
+"~ c #AFCCFD",
+"{ c #ACC9FD",
+"] c #A8C6FD",
+"^ c #A4C4FD",
+"/ c #A0C1FC",
+"( c #9DBEFC",
+"_ c #99BCFC",
+": c #95BAFC",
+"< c #91B7FC",
+"[ c #8EB4FC",
+"} c #8AB1FA",
+"| c #86ADF4",
+"1 c #B1CCFC",
+"2 c #86ADF5",
+"3 c #81A9F0",
+"4 c #81ABF4",
+"5 c #7EA6EF",
+"6 c #7EA9F4",
+"7 c #7AA4EF",
+"8 c #ABC7F9",
+"9 c #A7C5F8",
+"0 c #A4C2F7",
+"a c #A0BFF7",
+"b c #9CBDF7",
+"c c #99BAF7",
+"d c #95B8F7",
+"e c #91B5F6",
+"f c #8DB2F6",
+"g c #89B0F6",
+"h c #81ABF5",
+"i c #7AA6F4",
+"j c #76A1EF",
+"k c #AFCBFC",
+"l c #7EA9F5",
+"m c #76A3F3",
+"n c #729FEE",
+"o c #AFCCFF",
+"p c #ACC8FC",
+"q c #7AA6F5",
+"r c #72A0F3",
+"s c #6F9CEE",
+"t c #ACCAFF",
+"u c #A8C5FC",
+"v c #76A4F5",
+"w c #6F9EF3",
+"x c #6B99ED",
+"y c #A8C7FF",
+"z c #A4C3FB",
+"A c #72A1F5",
+"B c #6B9BF3",
+"C c #6797ED",
+"D c #A4C5FF",
+"E c #A0C1FB",
+"F c #6F9EF4",
+"G c #6799F3",
+"H c #6395ED",
+"I c #A0C3FF",
+"J c #9CBEFB",
+"K c #6B9BF4",
+"L c #6396F2",
+"M c #6092EC",
+"N c #9DC0FF",
+"O c #99BBFA",
+"P c #6B9CF4",
+"Q c #6094F2",
+"R c #5C8FEC",
+"S c #99BDFF",
+"T c #95B9FA",
+"U c #6397F3",
+"V c #5C91F2",
+"W c #598EEC",
+"X c #95BBFF",
+"Y c #91B6FA",
+"Z c #6094F3",
+"` c #5990F1",
+" . c #588EEC",
+".. c #91B8FF",
+"+. c #8EB4FA",
+"@. c #598FF1",
+"#. c #8EB6FE",
+"$. c #8AB1F7",
+"%. c #7EA8F3",
+"&. c #7AA5F3",
+"*. c #6B9BF2",
+"=. c #6799F2",
+"-. c #6094F1",
+";. c #5C91F1",
+">. c #598FF0",
+",. c #588DEC",
+"'. c #86ACF1",
+"). c #81A8ED",
+"!. c #7EA5EC",
+"~. c #7AA3EC",
+"{. c #76A0EC",
+"]. c #729EEC",
+"^. c #6E9BEB",
+"/. c #6B99EB",
+"(. c #6796EB",
+"_. c #6393EA",
+":. c #5F91EA",
+"<. c #5C8EEA",
+"[. c #598CEA",
+"}. c #588CEA",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 . . . . . . . . . . . . . . 2 3 . ",
+". , 1 . . . . . . . . . . . . . . 4 5 . ",
+". , 1 . . . . . . . . . . . . . . 6 7 . ",
+". , 1 . 8 9 0 a b c d e f g 2 h . i j . ",
+". , k . 9 0 a b c d e f g 2 h l . m n . ",
+". o p . 0 a b c d e f g 2 h l q . r s . ",
+". t u . a b c d e f g 2 h l q v . w x . ",
+". y z . b c d e f g 2 h l q v A . B C . ",
+". D E . c d e f g 2 h l q v A F . G H . ",
+". I J . d e f g 2 h l q v A F K . L M . ",
+". N O . e f g 2 h l q v A F P G . Q R . ",
+". S T . f g 2 h l q v A F P G U . V W . ",
+". X Y . g 2 h l q v A F K G U Z . ` .. ",
+". ..+.. . . . . . . . . . . . . . @. .. ",
+". #.$.| 4 %.&.m r w *.=.L -.;.` @.>.,.. ",
+" . '.).!.~.{.].^./.(._.:.<.[.}.}.}.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/maximize-pressed.xpm b/themes/redmond/maximize-pressed.xpm
new file mode 100644
index 000000000..e2bcf61d6
--- /dev/null
+++ b/themes/redmond/maximize-pressed.xpm
@@ -0,0 +1,146 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"20 20 123 2",
+" c None",
+". c #FFFFFF",
+"+ c #0543D3",
+"@ c #0846D3",
+"# c #0B4AD3",
+"$ c #0F4DD4",
+"% c #1351D4",
+"& c #1755D4",
+"* c #1B59D4",
+"= c #205CD5",
+"- c #2460D5",
+"; c #2965D5",
+"> c #2E68D6",
+", c #336DD7",
+"' c #3973DC",
+") c #0544D6",
+"! c #0547DA",
+"~ c #0547DC",
+"{ c #0548DC",
+"] c #084ADC",
+"^ c #0C4EDC",
+"/ c #0F51DC",
+"( c #1355DD",
+"_ c #1759DD",
+": c #1C5DDD",
+"< c #2061DE",
+"[ c #2565DE",
+"} c #2969DE",
+"| c #2F6DDF",
+"1 c #3471DF",
+"2 c #3975E0",
+"3 c #3F7BE3",
+"4 c #4584EB",
+"5 c #0545D6",
+"6 c #4581E6",
+"7 c #4A88EC",
+"8 c #4A85E6",
+"9 c #508CEC",
+"0 c #4F89E6",
+"a c #5690EC",
+"b c #0847D6",
+"c c #0C4EDD",
+"d c #1356DE",
+"e c #175ADF",
+"f c #1C5EDF",
+"g c #2062E0",
+"h c #2566E0",
+"i c #296AE0",
+"j c #2F6EE1",
+"k c #3472E1",
+"l c #3976E1",
+"m c #3E7AE2",
+"n c #447EE2",
+"o c #4A83E2",
+"p c #558DE7",
+"q c #5B94EC",
+"r c #0B4BD6",
+"s c #0F51DD",
+"t c #1759DF",
+"u c #4F87E3",
+"v c #5B91E7",
+"w c #6199EC",
+"x c #0F4FD6",
+"y c #1B5EDF",
+"z c #3372E1",
+"A c #558BE3",
+"B c #6195E7",
+"C c #679CEC",
+"D c #1353D7",
+"E c #5A90E3",
+"F c #6799E7",
+"G c #6DA0EC",
+"H c #1756D7",
+"I c #1C5DDE",
+"J c #2A6AE0",
+"K c #6193E3",
+"L c #6D9DE8",
+"M c #74A4EC",
+"N c #1B5AD7",
+"O c #6093E3",
+"P c #6698E3",
+"Q c #73A2E8",
+"R c #7AA8EC",
+"S c #205ED8",
+"T c #6C9CE4",
+"U c #79A5E8",
+"V c #7DAAEC",
+"W c #2462D8",
+"X c #2969DF",
+"Y c #72A0E5",
+"Z c #7BA7E9",
+"` c #2966D9",
+" . c #2F6EDF",
+".. c #79A4E5",
+"+. c #2F6AD9",
+"@. c #7BA5E5",
+"#. c #336EDA",
+"$. c #7BA8E9",
+"%. c #3975DF",
+"&. c #3F7DE6",
+"*. c #4582E8",
+"=. c #4A86E9",
+"-. c #508AE9",
+";. c #558EE9",
+">. c #5B92E9",
+",. c #6196E9",
+"'. c #679BE9",
+"). c #6D9EEA",
+"!. c #73A3EA",
+"~. c #79A7EA",
+"{. c #7BA8EA",
+"]. c #7CA9EB",
+"^. c #4586EC",
+"/. c #4B8AEC",
+"(. c #508EEC",
+"_. c #5693EC",
+":. c #5B97EC",
+"<. c #629BEC",
+"[. c #689FEC",
+"}. c #6EA3EC",
+"|. c #74A7EC",
+"1. c #7AAAEC",
+"2. c #7DACEC",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + @ # $ % & * = - ; > , ' . ",
+". ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 . ",
+". 5 ~ . . . . . . . . . . . . . . 6 7 . ",
+". 5 { . . . . . . . . . . . . . . 8 9 . ",
+". 5 ] . . . . . . . . . . . . . . 0 a . ",
+". b c . d e f g h i j k l m n o . p q . ",
+". r s . t f g h i j k l m n o u . v w . ",
+". x ( . y g h i j z l m n o u A . B C . ",
+". D _ . g h i j z l m n o u A E . F G . ",
+". H I . h J j k l m n o u A E K . L M . ",
+". N < . i j k l m n o u A E O P . Q R . ",
+". S [ . j k l m n o u A E O P T . U V . ",
+". W X . z l m n o u A E O P T Y . Z V . ",
+". ` .. l m n o u A E O P T Y ... Z V . ",
+". +.1 . m n o u A E K P T Y ..@.. Z V . ",
+". #.l . . . . . . . . . . . . . . $.V . ",
+". %.&.*.=.-.;.>.,.'.).!.~.{.{.{.{.].V . ",
+" . ^./.(._.:.<.[.}.|.1.2.2.2.2.2.2.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/menu-active.xpm b/themes/redmond/menu-active.xpm
new file mode 100644
index 000000000..f32b37feb
--- /dev/null
+++ b/themes/redmond/menu-active.xpm
@@ -0,0 +1,156 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"20 20 133 2",
+" c None",
+". c #FFFFFF",
+"+ c #8EB9FF",
+"@ c #8CB7FF",
+"# c #86B4FF",
+"$ c #81B0FF",
+"% c #7BACFF",
+"& c #76A9FF",
+"* c #70A5FF",
+"= c #6BA2FF",
+"- c #659DFF",
+"; c #609AFF",
+"> c #5A96FF",
+", c #8EB7FF",
+"' c #8EB6FE",
+") c #8DB5FD",
+"! c #8DB5FC",
+"~ c #8BB4FC",
+"{ c #86B0FC",
+"] c #80ACFC",
+"^ c #7BA9FC",
+"/ c #75A5FB",
+"( c #70A1FB",
+"_ c #6A9DFB",
+": c #659AFB",
+"< c #5F96FB",
+"[ c #5A92FB",
+"} c #548EF8",
+"| c #4E87EF",
+"1 c #8DB5FB",
+"2 c #8DB3F7",
+"3 c #8DB2F6",
+"4 c #8BB1F6",
+"5 c #85ADF6",
+"6 c #80AAF5",
+"7 c #7AA6F4",
+"8 c #75A2F4",
+"9 c #6F9FF4",
+"0 c #6A9BF3",
+"a c #6497F3",
+"b c #5F93F3",
+"c c #598FF2",
+"d c #538CF2",
+"e c #4E88F0",
+"f c #4881E9",
+"g c #8DB4FB",
+"h c #5F93F2",
+"i c #4E88F1",
+"j c #4884EF",
+"k c #437EE7",
+"l c #7FAAF5",
+"m c #4885F1",
+"n c #4381EF",
+"o c #3D7AE7",
+"p c #4381F1",
+"q c #3D7DEF",
+"r c #3876E7",
+"s c #8BB3FA",
+"t c #3D7DF0",
+"u c #3879EE",
+"v c #3273E6",
+"w c #8BB5FF",
+"x c #86AFFA",
+"y c #387AF0",
+"z c #3275EE",
+"A c #2D6FE6",
+"B c #86B2FF",
+"C c #80ABFA",
+"D c #3276F0",
+"E c #2D72ED",
+"F c #276BE5",
+"G c #80AEFF",
+"H c #7BA8F9",
+"I c #2D72EF",
+"J c #276EED",
+"K c #2268E5",
+"L c #7BAAFF",
+"M c #75A4F9",
+"N c #276EEF",
+"O c #226AED",
+"P c #1C64E5",
+"Q c #75A7FF",
+"R c #6FA0F9",
+"S c #226BEE",
+"T c #1C66EC",
+"U c #1760E4",
+"V c #70A3FF",
+"W c #6A9CF8",
+"X c #276FEF",
+"Y c #1C67EE",
+"Z c #1763EC",
+"` c #115CE4",
+" . c #6B9FFF",
+".. c #6499F8",
+"+. c #1763EE",
+"@. c #115FEC",
+"#. c #0D5AE4",
+"$. c #659CFF",
+"%. c #5F95F8",
+"&. c #1160ED",
+"*. c #0D5DEB",
+"=. c #0C5AE4",
+"-. c #5F98FF",
+";. c #5A92F7",
+">. c #0D5DED",
+",. c #0D5CEB",
+"'. c #5A94FE",
+"). c #548DF4",
+"!. c #4E88EF",
+"~. c #4380EE",
+"{. c #3D7CEE",
+"]. c #3879ED",
+"^. c #3275ED",
+"/. c #276EEC",
+"(. c #226AEC",
+"_. c #1763EB",
+":. c #115FEB",
+"<. c #0D5CE9",
+"[. c #0C59E4",
+"}. c #4E86EB",
+"|. c #4880E5",
+"1. c #437CE4",
+"2. c #3D79E4",
+"3. c #3775E4",
+"4. c #3271E3",
+"5. c #2C6EE2",
+"6. c #276AE2",
+"7. c #2166E2",
+"8. c #1C62E1",
+"9. c #165FE1",
+"0. c #115BE1",
+"a. c #0D58E1",
+"b. c #0C58E1",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , g 3 3 4 5 . 7 8 9 0 a h c d i j k . ",
+". , g 3 4 5 l . . 9 0 a h c d i m n o . ",
+". , g 4 5 l 7 . . . a h c d i m p q r . ",
+". , s 5 l 7 8 . . . . c d i m p t u v . ",
+". w x 6 7 8 9 . . . . . i m p t y z A . ",
+". B C 7 8 9 0 . . . . . . p t y D E F . ",
+". G H 8 9 0 a . . . . . . . y D I J K . ",
+". L M 9 0 a h . . . . p t y D I N O P . ",
+". Q R 0 a h c . . m . . y D I N S T U . ",
+". V W a h c d . m p . . D I X S Y Z ` . ",
+". ...b c d i m p t y . . X S Y +.@.#.. ",
+". $.%.c d i m p t y D . . S Y +.&.*.=.. ",
+". -.;.d i m p t y D I N S Y +.&.>.,.=.. ",
+". '.).!.j ~.{.].^.E /.(.T _.:.*.,.<.[.. ",
+" . }.|.1.2.3.4.5.6.7.8.9.0.a.b.b.b.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/menu-inactive.xpm b/themes/redmond/menu-inactive.xpm
new file mode 100644
index 000000000..ba7e8ddb2
--- /dev/null
+++ b/themes/redmond/menu-inactive.xpm
@@ -0,0 +1,150 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"20 20 127 2",
+" c None",
+". c #D4DFFF",
+"+ c #B1CFFF",
+"@ c #B0CEFF",
+"# c #ACCCFF",
+"$ c #A9C9FF",
+"% c #A4C6FF",
+"& c #A1C4FF",
+"* c #9DC1FF",
+"= c #99BFFF",
+"- c #95BCFF",
+"; c #92BAFF",
+"> c #8EB7FF",
+", c #B1CEFF",
+"' c #B1CDFE",
+") c #B1CCFE",
+"! c #B1CCFD",
+"~ c #AFCCFD",
+"{ c #ACC9FD",
+"] c #A8C6FD",
+"^ c #A4C4FD",
+"/ c #A0C1FC",
+"( c #9DBEFC",
+"_ c #99BCFC",
+": c #95BAFC",
+"< c #91B7FC",
+"[ c #8EB4FC",
+"} c #8AB1FA",
+"| c #86ADF4",
+"1 c #B1CCFC",
+"2 c #B1CBFA",
+"3 c #B1CAF9",
+"4 c #AFC9F9",
+"5 c #ABC7F9",
+"6 c #A8C5F8",
+"7 c #A4C2F7",
+"8 c #A0BFF7",
+"9 c #9CBDF7",
+"0 c #99BAF7",
+"a c #95B8F7",
+"b c #91B5F7",
+"c c #8DB2F6",
+"d c #89B0F6",
+"e c #86ADF5",
+"f c #81A9F0",
+"g c #91B5F6",
+"h c #81ABF4",
+"i c #7EA6EF",
+"j c #A7C5F8",
+"k c #81ABF5",
+"l c #7EA9F4",
+"m c #7AA4EF",
+"n c #7EA9F5",
+"o c #7AA6F4",
+"p c #76A1EF",
+"q c #AFCBFC",
+"r c #7AA6F5",
+"s c #76A3F3",
+"t c #729FEE",
+"u c #AFCCFF",
+"v c #ACC8FC",
+"w c #76A4F5",
+"x c #72A0F3",
+"y c #6F9CEE",
+"z c #ACCAFF",
+"A c #A8C5FC",
+"B c #72A1F5",
+"C c #6F9EF3",
+"D c #6B99ED",
+"E c #A8C7FF",
+"F c #A4C3FB",
+"G c #6F9EF4",
+"H c #6B9BF3",
+"I c #6797ED",
+"J c #A4C5FF",
+"K c #A0C1FB",
+"L c #6B9BF4",
+"M c #6799F3",
+"N c #6395ED",
+"O c #A0C3FF",
+"P c #9CBEFB",
+"Q c #6396F2",
+"R c #6092EC",
+"S c #9DC0FF",
+"T c #99BBFA",
+"U c #6B9CF4",
+"V c #6397F3",
+"W c #6094F2",
+"X c #5C8FEC",
+"Y c #99BDFF",
+"Z c #95B9FA",
+"` c #6094F3",
+" . c #5C91F2",
+".. c #598EEC",
+"+. c #95BBFF",
+"@. c #91B6FA",
+"#. c #5C92F3",
+"$. c #5990F1",
+"%. c #588EEC",
+"&. c #91B8FF",
+"*. c #8EB4FA",
+"=. c #5990F3",
+"-. c #598FF1",
+";. c #8EB6FE",
+">. c #8AB1F7",
+",. c #7EA8F3",
+"'. c #7AA5F3",
+"). c #6B9BF2",
+"!. c #6799F2",
+"~. c #6094F1",
+"{. c #5C91F1",
+"]. c #598FF0",
+"^. c #588DEC",
+"/. c #86ACF1",
+"(. c #81A8ED",
+"_. c #7EA5EC",
+":. c #7AA3EC",
+"<. c #76A0EC",
+"[. c #729EEC",
+"}. c #6E9BEB",
+"|. c #6B99EB",
+"1. c #6796EB",
+"2. c #6393EA",
+"3. c #5F91EA",
+"4. c #5C8EEA",
+"5. c #598CEA",
+"6. c #588CEA",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , 1 3 3 4 5 . 7 8 9 0 a g c d e h i . ",
+". , 1 3 4 5 j . . 9 0 a g c d e k l m . ",
+". , 1 4 5 j 7 . . . a g c d e k n o p . ",
+". , q 5 j 7 8 . . . . c d e k n r s t . ",
+". u v 6 7 8 9 . . . . . e k n r w x y . ",
+". z A 7 8 9 0 . . . . . . n r w B C D . ",
+". E F 8 9 0 a . . . . . . . w B G H I . ",
+". J K 9 0 a g . . . . n r w B G L M N . ",
+". O P 0 a g c . . k . . w B G L M Q R . ",
+". S T a g c d . k n . . B G U M V W X . ",
+". Y Z b c d e k n r w . . U M V ` .... ",
+". +.@.c d e k n r w B . . M V ` #.$.%.. ",
+". &.*.d e k n r w B G L M V ` #.=.-.%.. ",
+". ;.>.| h ,.'.s x C ).!.Q ~.{.$.-.].^.. ",
+" . /.(._.:.<.[.}.|.1.2.3.4.5.6.6.6.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/menu-pressed.xpm b/themes/redmond/menu-pressed.xpm
new file mode 100644
index 000000000..c3bb518a0
--- /dev/null
+++ b/themes/redmond/menu-pressed.xpm
@@ -0,0 +1,153 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"20 20 130 2",
+" c None",
+". c #FFFFFF",
+"+ c #0543D3",
+"@ c #0846D3",
+"# c #0B4AD3",
+"$ c #0F4DD4",
+"% c #1351D4",
+"& c #1755D4",
+"* c #1B59D4",
+"= c #205CD5",
+"- c #2460D5",
+"; c #2965D5",
+"> c #2E68D6",
+", c #336DD7",
+"' c #3973DC",
+") c #0544D6",
+"! c #0547DA",
+"~ c #0547DC",
+"{ c #0548DC",
+"] c #084ADC",
+"^ c #0C4EDC",
+"/ c #0F51DC",
+"( c #1355DD",
+"_ c #1759DD",
+": c #1C5DDD",
+"< c #2061DE",
+"[ c #2565DE",
+"} c #2969DE",
+"| c #2F6DDF",
+"1 c #3471DF",
+"2 c #3975E0",
+"3 c #3F7BE3",
+"4 c #4584EB",
+"5 c #0545D6",
+"6 c #0548DE",
+"7 c #084BDE",
+"8 c #0B4EDE",
+"9 c #0F52DE",
+"0 c #1356DE",
+"a c #1759DF",
+"b c #1B5EDF",
+"c c #2062E0",
+"d c #2566E0",
+"e c #296AE0",
+"f c #2F6EE1",
+"g c #3372E1",
+"h c #3976E1",
+"i c #3E7AE2",
+"j c #4581E6",
+"k c #4A88EC",
+"l c #447EE2",
+"m c #4A85E6",
+"n c #508CEC",
+"o c #175ADF",
+"p c #2A6AE0",
+"q c #3472E1",
+"r c #4A83E2",
+"s c #4F89E6",
+"t c #5690EC",
+"u c #0847D6",
+"v c #0C4EDD",
+"w c #1C5EDF",
+"x c #4F87E3",
+"y c #558DE7",
+"z c #5B94EC",
+"A c #0B4BD6",
+"B c #0F51DD",
+"C c #558BE3",
+"D c #5B91E7",
+"E c #6199EC",
+"F c #0F4FD6",
+"G c #5A90E3",
+"H c #6195E7",
+"I c #679CEC",
+"J c #1353D7",
+"K c #6093E3",
+"L c #6799E7",
+"M c #6DA0EC",
+"N c #1756D7",
+"O c #1C5DDE",
+"P c #6193E3",
+"Q c #6698E3",
+"R c #6D9DE8",
+"S c #74A4EC",
+"T c #1B5AD7",
+"U c #6C9CE4",
+"V c #73A2E8",
+"W c #7AA8EC",
+"X c #205ED8",
+"Y c #72A0E5",
+"Z c #79A5E8",
+"` c #7DAAEC",
+" . c #2462D8",
+".. c #2969DF",
+"+. c #79A4E5",
+"@. c #7BA7E9",
+"#. c #2966D9",
+"$. c #2F6EDF",
+"%. c #7BA5E5",
+"&. c #2F6AD9",
+"*. c #336EDA",
+"=. c #4A83E3",
+"-. c #6094E3",
+";. c #7BA6E6",
+">. c #7BA8E9",
+",. c #3975DF",
+"'. c #3F7DE6",
+"). c #4582E8",
+"!. c #4A86E9",
+"~. c #508AE9",
+"{. c #558EE9",
+"]. c #5B92E9",
+"^. c #6196E9",
+"/. c #679BE9",
+"(. c #6D9EEA",
+"_. c #73A3EA",
+":. c #79A7EA",
+"<. c #7BA8EA",
+"[. c #7CA9EB",
+"}. c #4586EC",
+"|. c #4B8AEC",
+"1. c #508EEC",
+"2. c #5693EC",
+"3. c #5B97EC",
+"4. c #629BEC",
+"5. c #689FEC",
+"6. c #6EA3EC",
+"7. c #74A7EC",
+"8. c #7AAAEC",
+"9. c #7DACEC",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + @ # $ % & * = - ; > , ' . ",
+". ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 . ",
+". 5 ~ 6 7 8 9 0 a b c d e f g h i j k . ",
+". 5 { 7 8 9 0 . b c d e f g h i l m n . ",
+". 5 ] 8 9 0 o . . d p f q h i l r s t . ",
+". u v 9 0 o w . . . f q h i l r x y z . ",
+". A B 0 a w c . . . . h i l r x C D E . ",
+". F ( a b c d . . . . . l r x C G H I . ",
+". J _ b c d e . . . . . . x C G K L M . ",
+". N O c d p f . . . . . . . G P Q R S . ",
+". T < d e f q . . . . x C G K Q U V W . ",
+". X [ e f q h . . r . . G K Q U Y Z ` . ",
+". ...f g h i . r x . . K Q U Y +.@.` . ",
+". #.$.g h i l r x C G . . U Y +.%.@.` . ",
+". &.1 h i l r x C G P . . Y +.%.%.@.` . ",
+". *.h i l =.x C G -.Q U Y +.%.%.;.>.` . ",
+". ,.'.).!.~.{.].^./.(._.:.<.<.<.<.[.` . ",
+" . }.|.1.2.3.4.5.6.7.8.9.9.9.9.9.9.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/right-active.xpm b/themes/redmond/right-active.xpm
new file mode 100644
index 000000000..16d07a669
--- /dev/null
+++ b/themes/redmond/right-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"4 5 5 1",
+" c None",
+". c #0E5EEE",
+"+ c #0E5AE6",
+"@ c #0E52CE",
+"# c #021A42",
+".+@#",
+".+@#",
+".+@#",
+".+@#",
+".+@#"};
diff --git a/themes/redmond/right-inactive.xpm b/themes/redmond/right-inactive.xpm
new file mode 100644
index 000000000..26453ac78
--- /dev/null
+++ b/themes/redmond/right-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"4 5 5 1",
+" c None",
+". c #88BFFE",
+"+ c #88BCFC",
+"@ c #88B7F7",
+"# c #8291AB",
+".+@#",
+".+@#",
+".+@#",
+".+@#",
+".+@#"};
diff --git a/themes/redmond/shade-active.xpm b/themes/redmond/shade-active.xpm
new file mode 100644
index 000000000..9bd0f899c
--- /dev/null
+++ b/themes/redmond/shade-active.xpm
@@ -0,0 +1,154 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"20 20 131 2",
+" c None",
+". c #FFFFFF",
+"+ c #8EB9FF",
+"@ c #8CB7FF",
+"# c #86B4FF",
+"$ c #81B0FF",
+"% c #7BACFF",
+"& c #76A9FF",
+"* c #70A5FF",
+"= c #6BA2FF",
+"- c #659DFF",
+"; c #609AFF",
+"> c #5A96FF",
+", c #8EB7FF",
+"' c #8EB6FE",
+") c #8DB5FD",
+"! c #8DB5FC",
+"~ c #8BB4FC",
+"{ c #86B0FC",
+"] c #80ACFC",
+"^ c #7BA9FC",
+"/ c #75A5FB",
+"( c #70A1FB",
+"_ c #6A9DFB",
+": c #659AFB",
+"< c #5F96FB",
+"[ c #5A92FB",
+"} c #548EF8",
+"| c #4E87EF",
+"1 c #8DB5FB",
+"2 c #538CF2",
+"3 c #4E88F0",
+"4 c #4881E9",
+"5 c #8DB4FB",
+"6 c #4E88F1",
+"7 c #4884EF",
+"8 c #437EE7",
+"9 c #4885F1",
+"0 c #4381EF",
+"a c #3D7AE7",
+"b c #8BB1F6",
+"c c #85ADF6",
+"d c #7FAAF5",
+"e c #7AA6F4",
+"f c #75A2F4",
+"g c #6F9FF4",
+"h c #6A9BF3",
+"i c #6497F3",
+"j c #5F93F2",
+"k c #598FF2",
+"l c #4381F1",
+"m c #3D7DEF",
+"n c #3876E7",
+"o c #8BB3FA",
+"p c #3D7DF0",
+"q c #3879EE",
+"r c #3273E6",
+"s c #8BB5FF",
+"t c #86AFFA",
+"u c #80AAF5",
+"v c #387AF0",
+"w c #3275EE",
+"x c #2D6FE6",
+"y c #86B2FF",
+"z c #80ABFA",
+"A c #3276F0",
+"B c #2D72ED",
+"C c #276BE5",
+"D c #80AEFF",
+"E c #7BA8F9",
+"F c #2D72EF",
+"G c #276EED",
+"H c #2268E5",
+"I c #7BAAFF",
+"J c #75A4F9",
+"K c #276EEF",
+"L c #226AED",
+"M c #1C64E5",
+"N c #75A7FF",
+"O c #6FA0F9",
+"P c #226BEE",
+"Q c #1C66EC",
+"R c #1760E4",
+"S c #70A3FF",
+"T c #6A9CF8",
+"U c #276FEF",
+"V c #1C67EE",
+"W c #1763EC",
+"X c #115CE4",
+"Y c #6B9FFF",
+"Z c #6499F8",
+"` c #5F93F3",
+" . c #1763EE",
+".. c #115FEC",
+"+. c #0D5AE4",
+"@. c #659CFF",
+"#. c #5F95F8",
+"$. c #1160ED",
+"%. c #0D5DEB",
+"&. c #0C5AE4",
+"*. c #5F98FF",
+"=. c #5A92F7",
+"-. c #0D5DED",
+";. c #0D5CEB",
+">. c #5A94FE",
+",. c #548DF4",
+"'. c #4E88EF",
+"). c #4380EE",
+"!. c #3D7CEE",
+"~. c #3879ED",
+"{. c #3275ED",
+"]. c #276EEC",
+"^. c #226AEC",
+"/. c #1763EB",
+"(. c #115FEB",
+"_. c #0D5CE9",
+":. c #0C59E4",
+"<. c #4E86EB",
+"[. c #4880E5",
+"}. c #437CE4",
+"|. c #3D79E4",
+"1. c #3775E4",
+"2. c #3271E3",
+"3. c #2C6EE2",
+"4. c #276AE2",
+"5. c #2166E2",
+"6. c #1C62E1",
+"7. c #165FE1",
+"8. c #115BE1",
+"9. c #0D58E1",
+"0. c #0C58E1",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 . . . . . . . . . . . . . 2 3 4 . ",
+". , 5 . . . . . . . . . . . . . 6 7 8 . ",
+". , 5 . . . . . . . . . . . . . 9 0 a . ",
+". , 5 b c d e f g h i j k 2 6 9 l m n . ",
+". , o c d e f g h i j k 2 6 9 l p q r . ",
+". s t u e f g h i j k 2 6 9 l p v w x . ",
+". y z e f g h i j k 2 6 9 l p v A B C . ",
+". D E f g h i j k 2 6 9 l p v A F G H . ",
+". I J g h i j k 2 6 9 l p v A F K L M . ",
+". N O h i j k 2 6 9 l p v A F K P Q R . ",
+". S T i j k 2 6 9 l p v A F U P V W X . ",
+". Y Z ` k 2 6 9 l p v A F U P V ...+.. ",
+". @.#.k 2 6 9 l p v A F K P V .$.%.&.. ",
+". *.=.2 6 9 l p v A F K P V .$.-.;.&.. ",
+". >.,.'.7 ).!.~.{.B ].^.Q /.(.%.;._.:.. ",
+" . <.[.}.|.1.2.3.4.5.6.7.8.9.0.0.0.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/shade-inactive.xpm b/themes/redmond/shade-inactive.xpm
new file mode 100644
index 000000000..2e09db7f0
--- /dev/null
+++ b/themes/redmond/shade-inactive.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"20 20 125 2",
+" c None",
+". c #D4DFFF",
+"+ c #B1CFFF",
+"@ c #B0CEFF",
+"# c #ACCCFF",
+"$ c #A9C9FF",
+"% c #A4C6FF",
+"& c #A1C4FF",
+"* c #9DC1FF",
+"= c #99BFFF",
+"- c #95BCFF",
+"; c #92BAFF",
+"> c #8EB7FF",
+", c #B1CEFF",
+"' c #B1CDFE",
+") c #B1CCFE",
+"! c #B1CCFD",
+"~ c #AFCCFD",
+"{ c #ACC9FD",
+"] c #A8C6FD",
+"^ c #A4C4FD",
+"/ c #A0C1FC",
+"( c #9DBEFC",
+"_ c #99BCFC",
+": c #95BAFC",
+"< c #91B7FC",
+"[ c #8EB4FC",
+"} c #8AB1FA",
+"| c #86ADF4",
+"1 c #B1CCFC",
+"2 c #89B0F6",
+"3 c #86ADF5",
+"4 c #81A9F0",
+"5 c #81ABF4",
+"6 c #7EA6EF",
+"7 c #81ABF5",
+"8 c #7EA9F4",
+"9 c #7AA4EF",
+"0 c #AFC9F9",
+"a c #ABC7F9",
+"b c #A7C5F8",
+"c c #A4C2F7",
+"d c #A0BFF7",
+"e c #9CBDF7",
+"f c #99BAF7",
+"g c #95B8F7",
+"h c #91B5F6",
+"i c #8DB2F6",
+"j c #7EA9F5",
+"k c #7AA6F4",
+"l c #76A1EF",
+"m c #AFCBFC",
+"n c #7AA6F5",
+"o c #76A3F3",
+"p c #729FEE",
+"q c #AFCCFF",
+"r c #ACC8FC",
+"s c #A8C5F8",
+"t c #76A4F5",
+"u c #72A0F3",
+"v c #6F9CEE",
+"w c #ACCAFF",
+"x c #A8C5FC",
+"y c #72A1F5",
+"z c #6F9EF3",
+"A c #6B99ED",
+"B c #A8C7FF",
+"C c #A4C3FB",
+"D c #6F9EF4",
+"E c #6B9BF3",
+"F c #6797ED",
+"G c #A4C5FF",
+"H c #A0C1FB",
+"I c #6B9BF4",
+"J c #6799F3",
+"K c #6395ED",
+"L c #A0C3FF",
+"M c #9CBEFB",
+"N c #6396F2",
+"O c #6092EC",
+"P c #9DC0FF",
+"Q c #99BBFA",
+"R c #6B9CF4",
+"S c #6397F3",
+"T c #6094F2",
+"U c #5C8FEC",
+"V c #99BDFF",
+"W c #95B9FA",
+"X c #91B5F7",
+"Y c #6094F3",
+"Z c #5C91F2",
+"` c #598EEC",
+" . c #95BBFF",
+".. c #91B6FA",
+"+. c #5C92F3",
+"@. c #5990F1",
+"#. c #588EEC",
+"$. c #91B8FF",
+"%. c #8EB4FA",
+"&. c #5990F3",
+"*. c #598FF1",
+"=. c #8EB6FE",
+"-. c #8AB1F7",
+";. c #7EA8F3",
+">. c #7AA5F3",
+",. c #6B9BF2",
+"'. c #6799F2",
+"). c #6094F1",
+"!. c #5C91F1",
+"~. c #598FF0",
+"{. c #588DEC",
+"]. c #86ACF1",
+"^. c #81A8ED",
+"/. c #7EA5EC",
+"(. c #7AA3EC",
+"_. c #76A0EC",
+":. c #729EEC",
+"<. c #6E9BEB",
+"[. c #6B99EB",
+"}. c #6796EB",
+"|. c #6393EA",
+"1. c #5F91EA",
+"2. c #5C8EEA",
+"3. c #598CEA",
+"4. c #588CEA",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 . . . . . . . . . . . . . 2 3 4 . ",
+". , 1 . . . . . . . . . . . . . 3 5 6 . ",
+". , 1 . . . . . . . . . . . . . 7 8 9 . ",
+". , 1 0 a b c d e f g h i 2 3 7 j k l . ",
+". , m a b c d e f g h i 2 3 7 j n o p . ",
+". q r s c d e f g h i 2 3 7 j n t u v . ",
+". w x c d e f g h i 2 3 7 j n t y z A . ",
+". B C d e f g h i 2 3 7 j n t y D E F . ",
+". G H e f g h i 2 3 7 j n t y D I J K . ",
+". L M f g h i 2 3 7 j n t y D I J N O . ",
+". P Q g h i 2 3 7 j n t y D R J S T U . ",
+". V W X i 2 3 7 j n t y D R J S Y Z ` . ",
+". ...i 2 3 7 j n t y D I J S Y +.@.#.. ",
+". $.%.2 3 7 j n t y D I J S Y +.&.*.#.. ",
+". =.-.| 5 ;.>.o u z ,.'.N ).!.@.*.~.{.. ",
+" . ].^./.(._.:.<.[.}.|.1.2.3.4.4.4.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/shade-pressed.xpm b/themes/redmond/shade-pressed.xpm
new file mode 100644
index 000000000..ae68e82e3
--- /dev/null
+++ b/themes/redmond/shade-pressed.xpm
@@ -0,0 +1,150 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"20 20 127 2",
+" c None",
+". c #FFFFFF",
+"+ c #0543D3",
+"@ c #0846D3",
+"# c #0B4AD3",
+"$ c #0F4DD4",
+"% c #1351D4",
+"& c #1755D4",
+"* c #1B59D4",
+"= c #205CD5",
+"- c #2460D5",
+"; c #2965D5",
+"> c #2E68D6",
+", c #336DD7",
+"' c #3973DC",
+") c #0544D6",
+"! c #0547DA",
+"~ c #0547DC",
+"{ c #0548DC",
+"] c #084ADC",
+"^ c #0C4EDC",
+"/ c #0F51DC",
+"( c #1355DD",
+"_ c #1759DD",
+": c #1C5DDD",
+"< c #2061DE",
+"[ c #2565DE",
+"} c #2969DE",
+"| c #2F6DDF",
+"1 c #3471DF",
+"2 c #3975E0",
+"3 c #3F7BE3",
+"4 c #4584EB",
+"5 c #0545D6",
+"6 c #3E7AE2",
+"7 c #4581E6",
+"8 c #4A88EC",
+"9 c #447EE2",
+"0 c #4A85E6",
+"a c #508CEC",
+"b c #4A83E2",
+"c c #4F89E6",
+"d c #5690EC",
+"e c #0847D6",
+"f c #0C4EDD",
+"g c #0F52DE",
+"h c #1356DE",
+"i c #175ADF",
+"j c #1C5EDF",
+"k c #2062E0",
+"l c #2566E0",
+"m c #296AE0",
+"n c #2F6EE1",
+"o c #3472E1",
+"p c #3976E1",
+"q c #4F87E3",
+"r c #558DE7",
+"s c #5B94EC",
+"t c #0B4BD6",
+"u c #0F51DD",
+"v c #1759DF",
+"w c #558BE3",
+"x c #5B91E7",
+"y c #6199EC",
+"z c #0F4FD6",
+"A c #1B5EDF",
+"B c #3372E1",
+"C c #5A90E3",
+"D c #6195E7",
+"E c #679CEC",
+"F c #1353D7",
+"G c #6093E3",
+"H c #6799E7",
+"I c #6DA0EC",
+"J c #1756D7",
+"K c #1C5DDE",
+"L c #2A6AE0",
+"M c #6193E3",
+"N c #6698E3",
+"O c #6D9DE8",
+"P c #74A4EC",
+"Q c #1B5AD7",
+"R c #6C9CE4",
+"S c #73A2E8",
+"T c #7AA8EC",
+"U c #205ED8",
+"V c #72A0E5",
+"W c #79A5E8",
+"X c #7DAAEC",
+"Y c #2462D8",
+"Z c #2969DF",
+"` c #79A4E5",
+" . c #7BA7E9",
+".. c #2966D9",
+"+. c #2F6EDF",
+"@. c #7BA5E5",
+"#. c #2F6AD9",
+"$. c #336EDA",
+"%. c #4A83E3",
+"&. c #6094E3",
+"*. c #7BA6E6",
+"=. c #7BA8E9",
+"-. c #3975DF",
+";. c #3F7DE6",
+">. c #4582E8",
+",. c #4A86E9",
+"'. c #508AE9",
+"). c #558EE9",
+"!. c #5B92E9",
+"~. c #6196E9",
+"{. c #679BE9",
+"]. c #6D9EEA",
+"^. c #73A3EA",
+"/. c #79A7EA",
+"(. c #7BA8EA",
+"_. c #7CA9EB",
+":. c #4586EC",
+"<. c #4B8AEC",
+"[. c #508EEC",
+"}. c #5693EC",
+"|. c #5B97EC",
+"1. c #629BEC",
+"2. c #689FEC",
+"3. c #6EA3EC",
+"4. c #74A7EC",
+"5. c #7AAAEC",
+"6. c #7DACEC",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + @ # $ % & * = - ; > , ' . ",
+". ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 . ",
+". 5 ~ . . . . . . . . . . . . . 6 7 8 . ",
+". 5 { . . . . . . . . . . . . . 9 0 a . ",
+". 5 ] . . . . . . . . . . . . . b c d . ",
+". e f g h i j k l m n o p 6 9 b q r s . ",
+". t u h v j k l m n o p 6 9 b q w x y . ",
+". z ( v A k l m n B p 6 9 b q w C D E . ",
+". F _ A k l m n B p 6 9 b q w C G H I . ",
+". J K k l L n o p 6 9 b q w C M N O P . ",
+". Q < l m n o p 6 9 b q w C G N R S T . ",
+". U [ m n o p 6 9 b q w C G N R V W X . ",
+". Y Z n B p 6 9 b q w C G N R V ` .X . ",
+". ..+.B p 6 9 b q w C G N R V ` @. .X . ",
+". #.1 p 6 9 b q w C M N R V ` @.@. .X . ",
+". $.p 6 9 %.q w C &.N R V ` @.@.*.=.X . ",
+". -.;.>.,.'.).!.~.{.].^./.(.(.(.(._.X . ",
+" . :.<.[.}.|.1.2.3.4.5.6.6.6.6.6.6.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/stick-active.xpm b/themes/redmond/stick-active.xpm
new file mode 100644
index 000000000..956d0c97c
--- /dev/null
+++ b/themes/redmond/stick-active.xpm
@@ -0,0 +1,156 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"20 20 133 2",
+" c None",
+". c #FFFFFF",
+"+ c #8EB9FF",
+"@ c #8CB7FF",
+"# c #86B4FF",
+"$ c #81B0FF",
+"% c #7BACFF",
+"& c #76A9FF",
+"* c #70A5FF",
+"= c #6BA2FF",
+"- c #659DFF",
+"; c #609AFF",
+"> c #5A96FF",
+", c #8EB7FF",
+"' c #8EB6FE",
+") c #8DB5FD",
+"! c #8DB5FC",
+"~ c #8BB4FC",
+"{ c #86B0FC",
+"] c #80ACFC",
+"^ c #7BA9FC",
+"/ c #75A5FB",
+"( c #70A1FB",
+"_ c #6A9DFB",
+": c #659AFB",
+"< c #5F96FB",
+"[ c #5A92FB",
+"} c #548EF8",
+"| c #4E87EF",
+"1 c #8DB5FB",
+"2 c #8DB3F7",
+"3 c #8DB2F6",
+"4 c #8BB1F6",
+"5 c #85ADF6",
+"6 c #80AAF5",
+"7 c #7AA6F4",
+"8 c #75A2F4",
+"9 c #6F9FF4",
+"0 c #6A9BF3",
+"a c #6497F3",
+"b c #5F93F3",
+"c c #598FF2",
+"d c #538CF2",
+"e c #4E88F0",
+"f c #4881E9",
+"g c #8DB4FB",
+"h c #7FAAF5",
+"i c #5F93F2",
+"j c #4E88F1",
+"k c #4884EF",
+"l c #437EE7",
+"m c #4885F1",
+"n c #4381EF",
+"o c #3D7AE7",
+"p c #4381F1",
+"q c #3D7DEF",
+"r c #3876E7",
+"s c #8BB3FA",
+"t c #3D7DF0",
+"u c #3879EE",
+"v c #3273E6",
+"w c #8BB5FF",
+"x c #86AFFA",
+"y c #387AF0",
+"z c #3275EE",
+"A c #2D6FE6",
+"B c #86B2FF",
+"C c #80ABFA",
+"D c #3276F0",
+"E c #2D72ED",
+"F c #276BE5",
+"G c #80AEFF",
+"H c #7BA8F9",
+"I c #2D72EF",
+"J c #276EED",
+"K c #2268E5",
+"L c #7BAAFF",
+"M c #75A4F9",
+"N c #276EEF",
+"O c #226AED",
+"P c #1C64E5",
+"Q c #75A7FF",
+"R c #6FA0F9",
+"S c #226BEE",
+"T c #1C66EC",
+"U c #1760E4",
+"V c #70A3FF",
+"W c #6A9CF8",
+"X c #276FEF",
+"Y c #1C67EE",
+"Z c #1763EC",
+"` c #115CE4",
+" . c #6B9FFF",
+".. c #6499F8",
+"+. c #1763EE",
+"@. c #115FEC",
+"#. c #0D5AE4",
+"$. c #659CFF",
+"%. c #5F95F8",
+"&. c #1160ED",
+"*. c #0D5DEB",
+"=. c #0C5AE4",
+"-. c #5F98FF",
+";. c #5A92F7",
+">. c #0D5DED",
+",. c #0D5CEB",
+"'. c #5A94FE",
+"). c #548DF4",
+"!. c #4E88EF",
+"~. c #4380EE",
+"{. c #3D7CEE",
+"]. c #3879ED",
+"^. c #3275ED",
+"/. c #276EEC",
+"(. c #226AEC",
+"_. c #1763EB",
+":. c #115FEB",
+"<. c #0D5CE9",
+"[. c #0C59E4",
+"}. c #4E86EB",
+"|. c #4880E5",
+"1. c #437CE4",
+"2. c #3D79E4",
+"3. c #3775E4",
+"4. c #3271E3",
+"5. c #2C6EE2",
+"6. c #276AE2",
+"7. c #2166E2",
+"8. c #1C62E1",
+"9. c #165FE1",
+"0. c #115BE1",
+"a. c #0D58E1",
+"b. c #0C58E1",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , g 3 3 4 5 h 7 8 9 0 a i c d j k l . ",
+". , g 3 4 5 h 7 8 9 0 a i c d j m n o . ",
+". , g 4 5 h 7 8 9 0 a i c d j m p q r . ",
+". , s 5 h 7 8 9 0 . i c . . . p t u v . ",
+". w x 6 7 8 9 0 a . . . . . . t y z A . ",
+". B C 7 8 . . . . . . . . . . y D E F . ",
+". G H 8 9 . . . . . . . . . . D I J K . ",
+". L M 9 0 a i c d . . . . . . I N O P . ",
+". Q R 0 a i c d j . p t . . . N S T U . ",
+". V W a i c d j m p t y D I X S Y Z ` . ",
+". ...b c d j m p t y D I X S Y +.@.#.. ",
+". $.%.c d j m p t y D I N S Y +.&.*.=.. ",
+". -.;.d j m p t y D I N S Y +.&.>.,.=.. ",
+". '.).!.k ~.{.].^.E /.(.T _.:.*.,.<.[.. ",
+" . }.|.1.2.3.4.5.6.7.8.9.0.a.b.b.b.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/stick-inactive.xpm b/themes/redmond/stick-inactive.xpm
new file mode 100644
index 000000000..f5ced99f9
--- /dev/null
+++ b/themes/redmond/stick-inactive.xpm
@@ -0,0 +1,150 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"20 20 127 2",
+" c None",
+". c #D4DFFF",
+"+ c #B1CFFF",
+"@ c #B0CEFF",
+"# c #ACCCFF",
+"$ c #A9C9FF",
+"% c #A4C6FF",
+"& c #A1C4FF",
+"* c #9DC1FF",
+"= c #99BFFF",
+"- c #95BCFF",
+"; c #92BAFF",
+"> c #8EB7FF",
+", c #B1CEFF",
+"' c #B1CDFE",
+") c #B1CCFE",
+"! c #B1CCFD",
+"~ c #AFCCFD",
+"{ c #ACC9FD",
+"] c #A8C6FD",
+"^ c #A4C4FD",
+"/ c #A0C1FC",
+"( c #9DBEFC",
+"_ c #99BCFC",
+": c #95BAFC",
+"< c #91B7FC",
+"[ c #8EB4FC",
+"} c #8AB1FA",
+"| c #86ADF4",
+"1 c #B1CCFC",
+"2 c #B1CBFA",
+"3 c #B1CAF9",
+"4 c #AFC9F9",
+"5 c #ABC7F9",
+"6 c #A8C5F8",
+"7 c #A4C2F7",
+"8 c #A0BFF7",
+"9 c #9CBDF7",
+"0 c #99BAF7",
+"a c #95B8F7",
+"b c #91B5F7",
+"c c #8DB2F6",
+"d c #89B0F6",
+"e c #86ADF5",
+"f c #81A9F0",
+"g c #A7C5F8",
+"h c #91B5F6",
+"i c #81ABF4",
+"j c #7EA6EF",
+"k c #81ABF5",
+"l c #7EA9F4",
+"m c #7AA4EF",
+"n c #7EA9F5",
+"o c #7AA6F4",
+"p c #76A1EF",
+"q c #AFCBFC",
+"r c #7AA6F5",
+"s c #76A3F3",
+"t c #729FEE",
+"u c #AFCCFF",
+"v c #ACC8FC",
+"w c #76A4F5",
+"x c #72A0F3",
+"y c #6F9CEE",
+"z c #ACCAFF",
+"A c #A8C5FC",
+"B c #72A1F5",
+"C c #6F9EF3",
+"D c #6B99ED",
+"E c #A8C7FF",
+"F c #A4C3FB",
+"G c #6F9EF4",
+"H c #6B9BF3",
+"I c #6797ED",
+"J c #A4C5FF",
+"K c #A0C1FB",
+"L c #6B9BF4",
+"M c #6799F3",
+"N c #6395ED",
+"O c #A0C3FF",
+"P c #9CBEFB",
+"Q c #6396F2",
+"R c #6092EC",
+"S c #9DC0FF",
+"T c #99BBFA",
+"U c #6B9CF4",
+"V c #6397F3",
+"W c #6094F2",
+"X c #5C8FEC",
+"Y c #99BDFF",
+"Z c #95B9FA",
+"` c #6094F3",
+" . c #5C91F2",
+".. c #598EEC",
+"+. c #95BBFF",
+"@. c #91B6FA",
+"#. c #5C92F3",
+"$. c #5990F1",
+"%. c #588EEC",
+"&. c #91B8FF",
+"*. c #8EB4FA",
+"=. c #5990F3",
+"-. c #598FF1",
+";. c #8EB6FE",
+">. c #8AB1F7",
+",. c #7EA8F3",
+"'. c #7AA5F3",
+"). c #6B9BF2",
+"!. c #6799F2",
+"~. c #6094F1",
+"{. c #5C91F1",
+"]. c #598FF0",
+"^. c #588DEC",
+"/. c #86ACF1",
+"(. c #81A8ED",
+"_. c #7EA5EC",
+":. c #7AA3EC",
+"<. c #76A0EC",
+"[. c #729EEC",
+"}. c #6E9BEB",
+"|. c #6B99EB",
+"1. c #6796EB",
+"2. c #6393EA",
+"3. c #5F91EA",
+"4. c #5C8EEA",
+"5. c #598CEA",
+"6. c #588CEA",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + + + @ # $ % & * = - ; > . ",
+". , ' ) ! ! ! ~ { ] ^ / ( _ : < [ } | . ",
+". , 1 2 3 3 4 5 6 7 8 9 0 a b c d e f . ",
+". , 1 3 3 4 5 g 7 8 9 0 a h c d e i j . ",
+". , 1 3 4 5 g 7 8 9 0 a h c d e k l m . ",
+". , 1 4 5 g 7 8 9 0 a h c d e k n o p . ",
+". , q 5 g 7 8 9 0 . h c . . . n r s t . ",
+". u v 6 7 8 9 0 a . . . . . . r w x y . ",
+". z A 7 8 . . . . . . . . . . w B C D . ",
+". E F 8 9 . . . . . . . . . . B G H I . ",
+". J K 9 0 a h c d . . . . . . G L M N . ",
+". O P 0 a h c d e . n r . . . L M Q R . ",
+". S T a h c d e k n r w B G U M V W X . ",
+". Y Z b c d e k n r w B G U M V ` .... ",
+". +.@.c d e k n r w B G L M V ` #.$.%.. ",
+". &.*.d e k n r w B G L M V ` #.=.-.%.. ",
+". ;.>.| i ,.'.s x C ).!.Q ~.{.$.-.].^.. ",
+" . /.(._.:.<.[.}.|.1.2.3.4.5.6.6.6.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/stick-pressed.xpm b/themes/redmond/stick-pressed.xpm
new file mode 100644
index 000000000..aac4b9566
--- /dev/null
+++ b/themes/redmond/stick-pressed.xpm
@@ -0,0 +1,153 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"20 20 130 2",
+" c None",
+". c #FFFFFF",
+"+ c #0543D3",
+"@ c #0846D3",
+"# c #0B4AD3",
+"$ c #0F4DD4",
+"% c #1351D4",
+"& c #1755D4",
+"* c #1B59D4",
+"= c #205CD5",
+"- c #2460D5",
+"; c #2965D5",
+"> c #2E68D6",
+", c #336DD7",
+"' c #3973DC",
+") c #0544D6",
+"! c #0547DA",
+"~ c #0547DC",
+"{ c #0548DC",
+"] c #084ADC",
+"^ c #0C4EDC",
+"/ c #0F51DC",
+"( c #1355DD",
+"_ c #1759DD",
+": c #1C5DDD",
+"< c #2061DE",
+"[ c #2565DE",
+"} c #2969DE",
+"| c #2F6DDF",
+"1 c #3471DF",
+"2 c #3975E0",
+"3 c #3F7BE3",
+"4 c #4584EB",
+"5 c #0545D6",
+"6 c #0548DE",
+"7 c #084BDE",
+"8 c #0B4EDE",
+"9 c #0F52DE",
+"0 c #1356DE",
+"a c #1759DF",
+"b c #1B5EDF",
+"c c #2062E0",
+"d c #2566E0",
+"e c #296AE0",
+"f c #2F6EE1",
+"g c #3372E1",
+"h c #3976E1",
+"i c #3E7AE2",
+"j c #4581E6",
+"k c #4A88EC",
+"l c #447EE2",
+"m c #4A85E6",
+"n c #508CEC",
+"o c #175ADF",
+"p c #1C5EDF",
+"q c #2A6AE0",
+"r c #3472E1",
+"s c #4A83E2",
+"t c #4F89E6",
+"u c #5690EC",
+"v c #0847D6",
+"w c #0C4EDD",
+"x c #4F87E3",
+"y c #558DE7",
+"z c #5B94EC",
+"A c #0B4BD6",
+"B c #0F51DD",
+"C c #558BE3",
+"D c #5B91E7",
+"E c #6199EC",
+"F c #0F4FD6",
+"G c #5A90E3",
+"H c #6195E7",
+"I c #679CEC",
+"J c #1353D7",
+"K c #6093E3",
+"L c #6799E7",
+"M c #6DA0EC",
+"N c #1756D7",
+"O c #1C5DDE",
+"P c #6193E3",
+"Q c #6698E3",
+"R c #6D9DE8",
+"S c #74A4EC",
+"T c #1B5AD7",
+"U c #6C9CE4",
+"V c #73A2E8",
+"W c #7AA8EC",
+"X c #205ED8",
+"Y c #72A0E5",
+"Z c #79A5E8",
+"` c #7DAAEC",
+" . c #2462D8",
+".. c #2969DF",
+"+. c #79A4E5",
+"@. c #7BA7E9",
+"#. c #2966D9",
+"$. c #2F6EDF",
+"%. c #7BA5E5",
+"&. c #2F6AD9",
+"*. c #336EDA",
+"=. c #4A83E3",
+"-. c #6094E3",
+";. c #7BA6E6",
+">. c #7BA8E9",
+",. c #3975DF",
+"'. c #3F7DE6",
+"). c #4582E8",
+"!. c #4A86E9",
+"~. c #508AE9",
+"{. c #558EE9",
+"]. c #5B92E9",
+"^. c #6196E9",
+"/. c #679BE9",
+"(. c #6D9EEA",
+"_. c #73A3EA",
+":. c #79A7EA",
+"<. c #7BA8EA",
+"[. c #7CA9EB",
+"}. c #4586EC",
+"|. c #4B8AEC",
+"1. c #508EEC",
+"2. c #5693EC",
+"3. c #5B97EC",
+"4. c #629BEC",
+"5. c #689FEC",
+"6. c #6EA3EC",
+"7. c #74A7EC",
+"8. c #7AAAEC",
+"9. c #7DACEC",
+" . . . . . . . . . . . . . . . . ",
+" . + + + + @ # $ % & * = - ; > , ' . ",
+". ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 . ",
+". 5 ~ 6 7 8 9 0 a b c d e f g h i j k . ",
+". 5 { 7 8 9 0 a b c d e f g h i l m n . ",
+". 5 ] 8 9 0 o p c d q f r h i l s t u . ",
+". v w 9 0 o p c d e f r h i l s x y z . ",
+". A B 0 a p c d e . r h . . . x C D E . ",
+". F ( a b c d e f . . . . . . C G H I . ",
+". J _ b c . . . . . . . . . . G K L M . ",
+". N O c d . . . . . . . . . . P Q R S . ",
+". T < d e f r h i . . . . . . Q U V W . ",
+". X [ e f r h i l . x C . . . U Y Z ` . ",
+". ...f g h i l s x C G K Q U Y +.@.` . ",
+". #.$.g h i l s x C G K Q U Y +.%.@.` . ",
+". &.1 h i l s x C G P Q U Y +.%.%.@.` . ",
+". *.h i l =.x C G -.Q U Y +.%.%.;.>.` . ",
+". ,.'.).!.~.{.].^./.(._.:.<.<.<.<.[.` . ",
+" . }.|.1.2.3.4.5.6.7.8.9.9.9.9.9.9.. ",
+" . . . . . . . . . . . . . . . . "};
diff --git a/themes/redmond/themerc b/themes/redmond/themerc
new file mode 100644
index 000000000..47a08f66b
--- /dev/null
+++ b/themes/redmond/themerc
@@ -0,0 +1,6 @@
+full_width_title=true
+button_offset=2
+button_spacing=2
+title_alignment=left
+active_text_color=#FFFFFF
+inactive_text_color=#000000
diff --git a/themes/redmond/title-1-active.xpm b/themes/redmond/title-1-active.xpm
new file mode 100644
index 000000000..2680d394b
--- /dev/null
+++ b/themes/redmond/title-1-active.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"5 30 20 1",
+" c None",
+". c #0A42AA",
+"+ c #127AFE",
+"@ c #1276FE",
+"# c #0E6AFE",
+"$ c #0E62F6",
+"% c #0E5EEE",
+"& c #0E5EE6",
+"* c #0E5EE2",
+"= c #0E5EDE",
+"- c #0E5ED6",
+"; c #0E5ED2",
+"> c #0E5ECA",
+", c #0E5EC6",
+"' c #0E5EC2",
+") c #0E56BA",
+"! c #0E52B6",
+"~ c #0E4AAE",
+"{ c #0E46AA",
+"] c #0A42A6",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{",
+"]]]]]"};
diff --git a/themes/redmond/title-1-inactive.xpm b/themes/redmond/title-1-inactive.xpm
new file mode 100644
index 000000000..36d5f340a
--- /dev/null
+++ b/themes/redmond/title-1-inactive.xpm
@@ -0,0 +1,50 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"5 30 17 1",
+" c None",
+". c #85AEE9",
+"+ c #8BD0FE",
+"@ c #8BCDFE",
+"# c #88C8FE",
+"$ c #88C2FE",
+"% c #88BFFE",
+"& c #88BFFC",
+"* c #88BFF9",
+"= c #88BFF7",
+"- c #88BFF4",
+"; c #88BFF1",
+"> c #88B9EF",
+", c #88B7EC",
+"' c #88B4E9",
+") c #88AEE9",
+"! c #85ABE7",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"&&&&&",
+"*****",
+"*****",
+"=====",
+"-----",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!"};
diff --git a/themes/redmond/title-2-active.xpm b/themes/redmond/title-2-active.xpm
new file mode 100644
index 000000000..6f3a6c5a7
--- /dev/null
+++ b/themes/redmond/title-2-active.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"5 30 20 1",
+" c None",
+". c #0A42AA",
+"+ c #127AFE",
+"@ c #1276FE",
+"# c #0E6AFE",
+"$ c #0E62F6",
+"% c #0E5EEE",
+"& c #0E5EE6",
+"* c #0E5EE2",
+"= c #0E5EDE",
+"- c #0E5ED6",
+"; c #0E5ED2",
+"> c #0E5ECA",
+", c #0E5EC6",
+"' c #0E5EC2",
+") c #0E56BA",
+"! c #0E52B6",
+"~ c #0E4AAE",
+"{ c #0E46AA",
+"] c #0A42A6",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{",
+"]]]]]"};
diff --git a/themes/redmond/title-2-inactive.xpm b/themes/redmond/title-2-inactive.xpm
new file mode 100644
index 000000000..b1f99b9d8
--- /dev/null
+++ b/themes/redmond/title-2-inactive.xpm
@@ -0,0 +1,50 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"5 30 17 1",
+" c None",
+". c #85AEE9",
+"+ c #8BD0FE",
+"@ c #8BCDFE",
+"# c #88C8FE",
+"$ c #88C2FE",
+"% c #88BFFE",
+"& c #88BFFC",
+"* c #88BFF9",
+"= c #88BFF7",
+"- c #88BFF4",
+"; c #88BFF1",
+"> c #88B9EF",
+", c #88B7EC",
+"' c #88B4E9",
+") c #88AEE9",
+"! c #85ABE7",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"&&&&&",
+"*****",
+"*****",
+"=====",
+"-----",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!"};
diff --git a/themes/redmond/title-3-active.xpm b/themes/redmond/title-3-active.xpm
new file mode 100644
index 000000000..897721064
--- /dev/null
+++ b/themes/redmond/title-3-active.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * title_3_active_xpm[] = {
+"5 30 20 1",
+" c None",
+". c #0A42AA",
+"+ c #127AFE",
+"@ c #1276FE",
+"# c #0E6AFE",
+"$ c #0E62F6",
+"% c #0E5EEE",
+"& c #0E5EE6",
+"* c #0E5EE2",
+"= c #0E5EDE",
+"- c #0E5ED6",
+"; c #0E5ED2",
+"> c #0E5ECA",
+", c #0E5EC6",
+"' c #0E5EC2",
+") c #0E56BA",
+"! c #0E52B6",
+"~ c #0E4AAE",
+"{ c #0E46AA",
+"] c #0A42A6",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{",
+"]]]]]"};
diff --git a/themes/redmond/title-3-inactive.xpm b/themes/redmond/title-3-inactive.xpm
new file mode 100644
index 000000000..4695a731b
--- /dev/null
+++ b/themes/redmond/title-3-inactive.xpm
@@ -0,0 +1,50 @@
+/* XPM */
+static char * title_3_inactive_xpm[] = {
+"5 30 17 1",
+" c None",
+". c #85AEE9",
+"+ c #8BD0FE",
+"@ c #8BCDFE",
+"# c #88C8FE",
+"$ c #88C2FE",
+"% c #88BFFE",
+"& c #88BFFC",
+"* c #88BFF9",
+"= c #88BFF7",
+"- c #88BFF4",
+"; c #88BFF1",
+"> c #88B9EF",
+", c #88B7EC",
+"' c #88B4E9",
+") c #88AEE9",
+"! c #85ABE7",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"&&&&&",
+"*****",
+"*****",
+"=====",
+"-----",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!"};
diff --git a/themes/redmond/title-4-active.xpm b/themes/redmond/title-4-active.xpm
new file mode 100644
index 000000000..2caa0d451
--- /dev/null
+++ b/themes/redmond/title-4-active.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"5 30 20 1",
+" c None",
+". c #0A42AA",
+"+ c #127AFE",
+"@ c #1276FE",
+"# c #0E6AFE",
+"$ c #0E62F6",
+"% c #0E5EEE",
+"& c #0E5EE6",
+"* c #0E5EE2",
+"= c #0E5EDE",
+"- c #0E5ED6",
+"; c #0E5ED2",
+"> c #0E5ECA",
+", c #0E5EC6",
+"' c #0E5EC2",
+") c #0E56BA",
+"! c #0E52B6",
+"~ c #0E4AAE",
+"{ c #0E46AA",
+"] c #0A42A6",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{",
+"]]]]]"};
diff --git a/themes/redmond/title-4-inactive.xpm b/themes/redmond/title-4-inactive.xpm
new file mode 100644
index 000000000..e28ff6245
--- /dev/null
+++ b/themes/redmond/title-4-inactive.xpm
@@ -0,0 +1,50 @@
+/* XPM */
+static char * title_4_inactive_xpm[] = {
+"5 30 17 1",
+" c None",
+". c #85AEE9",
+"+ c #8BD0FE",
+"@ c #8BCDFE",
+"# c #88C8FE",
+"$ c #88C2FE",
+"% c #88BFFE",
+"& c #88BFFC",
+"* c #88BFF9",
+"= c #88BFF7",
+"- c #88BFF4",
+"; c #88BFF1",
+"> c #88B9EF",
+", c #88B7EC",
+"' c #88B4E9",
+") c #88AEE9",
+"! c #85ABE7",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"&&&&&",
+"*****",
+"*****",
+"=====",
+"-----",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!"};
diff --git a/themes/redmond/title-5-active.xpm b/themes/redmond/title-5-active.xpm
new file mode 100644
index 000000000..1fcb941be
--- /dev/null
+++ b/themes/redmond/title-5-active.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"5 30 20 1",
+" c None",
+". c #0A42AA",
+"+ c #127AFE",
+"@ c #1276FE",
+"# c #0E6AFE",
+"$ c #0E62F6",
+"% c #0E5EEE",
+"& c #0E5EE6",
+"* c #0E5EE2",
+"= c #0E5EDE",
+"- c #0E5ED6",
+"; c #0E5ED2",
+"> c #0E5ECA",
+", c #0E5EC6",
+"' c #0E5EC2",
+") c #0E56BA",
+"! c #0E52B6",
+"~ c #0E4AAE",
+"{ c #0E46AA",
+"] c #0A42A6",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"*****",
+"=====",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!",
+"~~~~~",
+"{{{{{",
+"]]]]]"};
diff --git a/themes/redmond/title-5-inactive.xpm b/themes/redmond/title-5-inactive.xpm
new file mode 100644
index 000000000..4be023e37
--- /dev/null
+++ b/themes/redmond/title-5-inactive.xpm
@@ -0,0 +1,50 @@
+/* XPM */
+static char * title_5_inactive_xpm[] = {
+"5 30 17 1",
+" c None",
+". c #85AEE9",
+"+ c #8BD0FE",
+"@ c #8BCDFE",
+"# c #88C8FE",
+"$ c #88C2FE",
+"% c #88BFFE",
+"& c #88BFFC",
+"* c #88BFF9",
+"= c #88BFF7",
+"- c #88BFF4",
+"; c #88BFF1",
+"> c #88B9EF",
+", c #88B7EC",
+"' c #88B4E9",
+") c #88AEE9",
+"! c #85ABE7",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"$$$$$",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"%%%%%",
+"&&&&&",
+"&&&&&",
+"*****",
+"*****",
+"=====",
+"-----",
+"-----",
+";;;;;",
+">>>>>",
+",,,,,",
+"'''''",
+")))))",
+"!!!!!"};
diff --git a/themes/redmond/top-left-active.xpm b/themes/redmond/top-left-active.xpm
new file mode 100644
index 000000000..f7f021a86
--- /dev/null
+++ b/themes/redmond/top-left-active.xpm
@@ -0,0 +1,74 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"10 30 41 1",
+" c None",
+". c #0A368A",
+"+ c #0A3E9E",
+"@ c #0A42A6",
+"# c #0A42AA",
+"$ c #1282FE",
+"% c #127EFE",
+"& c #127AFE",
+"* c #1276FE",
+"= c #1272FE",
+"- c #126EFE",
+"; c #126AFE",
+"> c #0E6AFE",
+", c #0E5ADE",
+"' c #0E66FE",
+") c #0E62FA",
+"! c #0E62F6",
+"~ c #0E5EEA",
+"{ c #0E5EF2",
+"] c #0E5EEE",
+"^ c #0E56DA",
+"/ c #0A4EC2",
+"( c #0A4ABA",
+"_ c #0E5EE6",
+": c #0E5EE2",
+"< c #0E5EDE",
+"[ c #0E5EDA",
+"} c #0E5ED6",
+"| c #0E5ED2",
+"1 c #0E5ECE",
+"2 c #0E5ECA",
+"3 c #0E5EC6",
+"4 c #0E5EC2",
+"5 c #0E56BE",
+"6 c #0E56BA",
+"7 c #0E52BA",
+"8 c #0E52B6",
+"9 c #0E4EB2",
+"0 c #0E4AAE",
+"a c #0E46AE",
+"b c #0E46AA",
+" .+@###",
+" $$$$%&&&",
+" %$$$%&***",
+" &%%&*=-;>",
+",&%*=->')!",
+"~&&=-')!{]",
+"^=*=>){]]]",
+"/>->'!]]]]",
+"(>-'){]]]]",
+"(>>'!]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'{]]]]]",
+"(>>'~_____",
+"(>>'_:::::",
+"(>>'<<<<<<",
+"(>>'[}}}}}",
+"(>>'}|||||",
+"(>>'122222",
+"(>>'233333",
+"(>>'444444",
+"(>>'566666",
+"(>>'788888",
+"(>>'900000",
+"(>>'abbbbb",
+"(>>'@@@@@@"};
diff --git a/themes/redmond/top-left-inactive.xpm b/themes/redmond/top-left-inactive.xpm
new file mode 100644
index 000000000..a8201c066
--- /dev/null
+++ b/themes/redmond/top-left-inactive.xpm
@@ -0,0 +1,66 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"10 30 33 1",
+" c None",
+". c #85A5D9",
+"+ c #85ABE4",
+"@ c #85ABE7",
+"# c #85AEE9",
+"$ c #8BD3FE",
+"% c #8BD6FE",
+"& c #8BD0FE",
+"* c #8BCDFE",
+"= c #8BC8FE",
+"- c #88C8FE",
+"; c #88BCF9",
+"> c #8BCBFE",
+", c #88C5FE",
+"' c #88C2FE",
+") c #88BFFC",
+"! c #88BFFE",
+"~ c #88B9F9",
+"{ c #88B4F1",
+"] c #88B1EF",
+"^ c #85B1EF",
+"/ c #88BFF9",
+"( c #88BFF7",
+"_ c #88BFF4",
+": c #88BFF1",
+"< c #88B9F1",
+"[ c #88B9EF",
+"} c #88B7EF",
+"| c #88B7EC",
+"1 c #88B4EC",
+"2 c #88B4E9",
+"3 c #88B1E9",
+"4 c #88AEE9",
+" .+@@##",
+" $%%%$&&&",
+" $%%$$&***",
+" &$$&**==-",
+";&&*>=-,''",
+")&&*=,''!!",
+"~>*>,'!!!!",
+"{->-,'!!!!",
+"],=,'!!!!!",
+"^,-,'!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,!!!!!!",
+"^,-,))))))",
+"^,-,))))))",
+"^,-,//////",
+"^,-,//////",
+"^,-,((((((",
+"^,-,(_____",
+"^,-,______",
+"^,-,::::::",
+"^,-,<[[[[[",
+"^,-,}|||||",
+"^,-,122222",
+"^,-,344444",
+"^,-,@@@@@@"};
diff --git a/themes/redmond/top-right-active.xpm b/themes/redmond/top-right-active.xpm
new file mode 100644
index 000000000..b5c1d8df1
--- /dev/null
+++ b/themes/redmond/top-right-active.xpm
@@ -0,0 +1,74 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"10 30 41 1",
+" c None",
+". c #0A42AA",
+"+ c #0A3A96",
+"@ c #127AFE",
+"# c #1276FE",
+"$ c #1272FE",
+"% c #0E6AFE",
+"& c #0E66FE",
+"* c #0E62F6",
+"= c #0E5AE2",
+"- c #0E62FA",
+"; c #0E62FE",
+"> c #0E5EEE",
+", c #0E52D6",
+"' c #062A66",
+") c #0E5EF2",
+"! c #0E5AE6",
+"~ c #0E56D6",
+"{ c #0E5EEA",
+"] c #0E56DE",
+"^ c #06265E",
+"/ c #0E56DA",
+"( c #061E52",
+"_ c #0E5AEA",
+": c #0E52D2",
+"< c #061A46",
+"[ c #0E52CE",
+"} c #021A42",
+"| c #0E5EE6",
+"1 c #0E5EE2",
+"2 c #0E5EDE",
+"3 c #0E5ED6",
+"4 c #0E5ED2",
+"5 c #0E5ECA",
+"6 c #0E5EC6",
+"7 c #0E5EC2",
+"8 c #0E56BA",
+"9 c #0E52B6",
+"0 c #0E4AAE",
+"a c #0E46AA",
+"b c #0A42A6",
+".....+ ",
+"@@@@#$%& ",
+"####$%&&* ",
+"%%%%&&&&= ",
+"*****-;>,'",
+">>>>)))!~'",
+">>>>>>{!]^",
+">>>>>>>{/(",
+">>>>>>>_:<",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+">>>>>>>![}",
+"||||||>![}",
+"111111>![}",
+"222222>![}",
+"333333>![}",
+"444444>![}",
+"555555>![}",
+"666666>![}",
+"777777>![}",
+"888888>![}",
+"999999>![}",
+"000000>![}",
+"aaaaaa>![}",
+"bbbbbb>![}"};
diff --git a/themes/redmond/top-right-inactive.xpm b/themes/redmond/top-right-inactive.xpm
new file mode 100644
index 000000000..ebf1f5f32
--- /dev/null
+++ b/themes/redmond/top-right-inactive.xpm
@@ -0,0 +1,62 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"10 30 29 1",
+" c None",
+". c #85AEE9",
+"+ c #85ABE7",
+"@ c #85A8E1",
+"# c #8BD0FE",
+"$ c #8BCDFE",
+"% c #88C5FE",
+"& c #8BCBFE",
+"* c #88C8FE",
+"= c #88C2FE",
+"- c #88BCFC",
+"; c #88BFFE",
+"> c #88B9F7",
+", c #829AC5",
+"' c #88BFFC",
+") c #88B9F9",
+"! c #8297BF",
+"~ c #8294B7",
+"{ c #8291AE",
+"] c #88B7F7",
+"^ c #8291AB",
+"/ c #88BFF9",
+"( c #88BFF7",
+"_ c #88BFF4",
+": c #88BFF1",
+"< c #88B9EF",
+"[ c #88B7EC",
+"} c #88B4E9",
+"| c #88AEE9",
+"....+@ ",
+"####$$%% ",
+"$$$$&*%%= ",
+"***%%%%%- ",
+"=======;>,",
+";;;;;;;->,",
+";;;;;;'-)!",
+";;;;;;;')~",
+";;;;;;;->{",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+";;;;;;;-]^",
+"'''''';-]^",
+"'''''';-]^",
+"//////;-]^",
+"//////;-]^",
+"((((((;-]^",
+"______;-]^",
+"______;-]^",
+"::::::;-]^",
+"<<<<<<;-]^",
+"[[[[[[;-]^",
+"}}}}}};-]^",
+"||||||;-]^",
+"++++++;-]^"};
diff --git a/themes/slimline/Makefile.am b/themes/slimline/Makefile.am
new file mode 100644
index 000000000..5eff4ca75
--- /dev/null
+++ b/themes/slimline/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/slimline
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/slimline/Makefile.in b/themes/slimline/Makefile.in
new file mode 100644
index 000000000..514a7b46f
--- /dev/null
+++ b/themes/slimline/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/slimline
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/slimline/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/slimline
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/slimline/bottom-active.xpm b/themes/slimline/bottom-active.xpm
new file mode 100644
index 000000000..1a3a82967
--- /dev/null
+++ b/themes/slimline/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/slimline/bottom-inactive.xpm b/themes/slimline/bottom-inactive.xpm
new file mode 100644
index 000000000..a1fb8d635
--- /dev/null
+++ b/themes/slimline/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"................",
+"++++++++++++++++",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/slimline/bottom-left-active.xpm b/themes/slimline/bottom-left-active.xpm
new file mode 100644
index 000000000..523adfeb7
--- /dev/null
+++ b/themes/slimline/bottom-left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/slimline/bottom-left-inactive.xpm b/themes/slimline/bottom-left-inactive.xpm
new file mode 100644
index 000000000..a9a55b475
--- /dev/null
+++ b/themes/slimline/bottom-left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#+",
+".+@@@",
+".+###",
+"....."};
diff --git a/themes/slimline/bottom-right-active.xpm b/themes/slimline/bottom-right-active.xpm
new file mode 100644
index 000000000..c62057e56
--- /dev/null
+++ b/themes/slimline/bottom-right-active.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" .+@#.",
+" .+@@#.",
+" .+@@@#.",
+" .+@@@@#.",
+" .+@@##@#.",
+" .+@@@#+@#.",
+" .+@@@@@@@#.",
+".+@@##@##@#.",
+"+@@@#+@#+@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/slimline/bottom-right-inactive.xpm b/themes/slimline/bottom-right-inactive.xpm
new file mode 100644
index 000000000..c6c89311c
--- /dev/null
+++ b/themes/slimline/bottom-right-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" .+@#.",
+" .+@@#.",
+" .+@@@#.",
+" .+@@@@#.",
+" .+@@##@#.",
+" .+@@@#+@#.",
+" .+@@@@@@@#.",
+".+@@##@##@#.",
+"+@@@#+@#+@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/slimline/close-active.xpm b/themes/slimline/close-active.xpm
new file mode 100644
index 000000000..b57a4d3b9
--- /dev/null
+++ b/themes/slimline/close-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #B2B2B2 s active_shadow_2",
+"# c #D8D8D8 s active_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#..###..#@.@",
+".+#...#...#@.@",
+".+##.....##@.@",
+".+###...###@.@",
+".+##.....##@.@",
+".+#...#...#@.@",
+".+#..###..#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/close-inactive.xpm b/themes/slimline/close-inactive.xpm
new file mode 100644
index 000000000..aaab0df23
--- /dev/null
+++ b/themes/slimline/close-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #B2B2B2 s inactive_shadow_2",
+"# c #D8D8D8 s inactive_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#..###..#@.@",
+".+#...#...#@.@",
+".+##.....##@.@",
+".+###...###@.@",
+".+##.....##@.@",
+".+#...#...#@.@",
+".+#..###..#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/close-pressed.xpm b/themes/slimline/close-pressed.xpm
new file mode 100644
index 000000000..38aa8b3a7
--- /dev/null
+++ b/themes/slimline/close-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@@@@@@@@@@@",
+"@.............",
+"@.+++++++++++.",
+"@.+@@@@@@@@@#.",
+"@.+@..@@@..@#.",
+"@.+@...@...@#.",
+"@.+@@.....@@#.",
+"@.+@@@...@@@#.",
+"@.+@@.....@@#.",
+"@.+@...@...@#.",
+"@.+@..@@@..@#.",
+"@.+@@@@@@@@@#.",
+"@.+##########.",
+"@............."};
diff --git a/themes/slimline/hide-active.xpm b/themes/slimline/hide-active.xpm
new file mode 100644
index 000000000..781da037e
--- /dev/null
+++ b/themes/slimline/hide-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #B2B2B2 s active_shadow_2",
+"# c #D8D8D8 s active_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/hide-inactive.xpm b/themes/slimline/hide-inactive.xpm
new file mode 100644
index 000000000..2a54ecbcb
--- /dev/null
+++ b/themes/slimline/hide-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #B2B2B2 s inactive_shadow_2",
+"# c #D8D8D8 s inactive_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/hide-pressed.xpm b/themes/slimline/hide-pressed.xpm
new file mode 100644
index 000000000..1fa72e36e
--- /dev/null
+++ b/themes/slimline/hide-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@@@@@@@@@@@",
+"@.............",
+"@.+++++++++++.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@.......@#.",
+"@.+@.......@#.",
+"@.+@@@@@@@@@#.",
+"@.+##########.",
+"@............."};
diff --git a/themes/slimline/left-active.xpm b/themes/slimline/left-active.xpm
new file mode 100644
index 000000000..122759f03
--- /dev/null
+++ b/themes/slimline/left-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/slimline/left-inactive.xpm b/themes/slimline/left-inactive.xpm
new file mode 100644
index 000000000..e175f75da
--- /dev/null
+++ b/themes/slimline/left-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/slimline/maximize-active.xpm b/themes/slimline/maximize-active.xpm
new file mode 100644
index 000000000..dddac06f0
--- /dev/null
+++ b/themes/slimline/maximize-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #B2B2B2 s active_shadow_2",
+"# c #D8D8D8 s active_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/maximize-inactive.xpm b/themes/slimline/maximize-inactive.xpm
new file mode 100644
index 000000000..b2e4d6e42
--- /dev/null
+++ b/themes/slimline/maximize-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #B2B2B2 s inactive_shadow_2",
+"# c #D8D8D8 s inactive_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.#####.#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/maximize-pressed.xpm b/themes/slimline/maximize-pressed.xpm
new file mode 100644
index 000000000..72ae5bb80
--- /dev/null
+++ b/themes/slimline/maximize-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@@@@@@@@@@@",
+"@.............",
+"@.+++++++++++.",
+"@.+@@@@@@@@@#.",
+"@.+@.......@#.",
+"@.+@.......@#.",
+"@.+@.@@@@@.@#.",
+"@.+@.@@@@@.@#.",
+"@.+@.@@@@@.@#.",
+"@.+@.@@@@@.@#.",
+"@.+@.......@#.",
+"@.+@@@@@@@@@#.",
+"@.+##########.",
+"@............."};
diff --git a/themes/slimline/menu-active.xpm b/themes/slimline/menu-active.xpm
new file mode 100644
index 000000000..0c8a5639e
--- /dev/null
+++ b/themes/slimline/menu-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #D8D8D8 s active_color_2",
+"@ c #FFFFFF s active_hilight_2",
+"# c #B2B2B2 s active_shadow_2",
+".............+",
+".@@@@@@@@@@@.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@++.....++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@##########.#",
+".............#",
+"+#############"};
diff --git a/themes/slimline/menu-inactive.xpm b/themes/slimline/menu-inactive.xpm
new file mode 100644
index 000000000..2d6f95eaf
--- /dev/null
+++ b/themes/slimline/menu-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #D8D8D8 s inactive_color_2",
+"@ c #FFFFFF s inactive_hilight_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............+",
+".@@@@@@@@@@@.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@++.....++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@##########.#",
+".............#",
+"+#############"};
diff --git a/themes/slimline/menu-pressed.xpm b/themes/slimline/menu-pressed.xpm
new file mode 100644
index 000000000..af04c4909
--- /dev/null
+++ b/themes/slimline/menu-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #B2B2B2 s active_shadow_2",
+"..............",
+".+++++++++++++",
+".+@@@@@@@@@@@+",
+".+@.........#+",
+".+@.........#+",
+".+@.........#+",
+".+@.........#+",
+".+@..+++++..#+",
+".+@.........#+",
+".+@.........#+",
+".+@.........#+",
+".+@.........#+",
+".+@##########+",
+".+++++++++++++"};
diff --git a/themes/slimline/right-active.xpm b/themes/slimline/right-active.xpm
new file mode 100644
index 000000000..f95e18242
--- /dev/null
+++ b/themes/slimline/right-active.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/slimline/right-inactive.xpm b/themes/slimline/right-inactive.xpm
new file mode 100644
index 000000000..6983fa55b
--- /dev/null
+++ b/themes/slimline/right-inactive.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 16 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/slimline/shade-active.xpm b/themes/slimline/shade-active.xpm
new file mode 100644
index 000000000..f6b5dafcb
--- /dev/null
+++ b/themes/slimline/shade-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #B2B2B2 s active_shadow_2",
+"# c #D8D8D8 s active_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/shade-inactive.xpm b/themes/slimline/shade-inactive.xpm
new file mode 100644
index 000000000..a99321e2f
--- /dev/null
+++ b/themes/slimline/shade-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #B2B2B2 s inactive_shadow_2",
+"# c #D8D8D8 s inactive_color_2",
+".............#",
+".+++++++++++.@",
+".+#########@.@",
+".+#.......#@.@",
+".+#.......#@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+#########@.@",
+".+@@@@@@@@@@.@",
+".............@",
+"#@@@@@@@@@@@@@"};
diff --git a/themes/slimline/shade-pressed.xpm b/themes/slimline/shade-pressed.xpm
new file mode 100644
index 000000000..18ab24b11
--- /dev/null
+++ b/themes/slimline/shade-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@@@@@@@@@@@",
+"@.............",
+"@.+++++++++++.",
+"@.+@@@@@@@@@#.",
+"@.+@.......@#.",
+"@.+@.......@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+@@@@@@@@@#.",
+"@.+##########.",
+"@............."};
diff --git a/themes/slimline/stick-active.xpm b/themes/slimline/stick-active.xpm
new file mode 100644
index 000000000..a85a12bfe
--- /dev/null
+++ b/themes/slimline/stick-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #D8D8D8 s active_color_2",
+"@ c #FFFFFF s active_hilight_2",
+"# c #B2B2B2 s active_shadow_2",
+".............+",
+".@@@@@@@@@@@.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@++++.++++#.#",
+".@+++...+++#.#",
+".@++.....++#.#",
+".@+++...+++#.#",
+".@++++.++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@##########.#",
+".............#",
+"+#############"};
diff --git a/themes/slimline/stick-inactive.xpm b/themes/slimline/stick-inactive.xpm
new file mode 100644
index 000000000..8f2de4dee
--- /dev/null
+++ b/themes/slimline/stick-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #D8D8D8 s inactive_color_2",
+"@ c #FFFFFF s inactive_hilight_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".............+",
+".@@@@@@@@@@@.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@++++.++++#.#",
+".@+++...+++#.#",
+".@++.....++#.#",
+".@+++...+++#.#",
+".@++++.++++#.#",
+".@+++++++++#.#",
+".@+++++++++#.#",
+".@##########.#",
+".............#",
+"+#############"};
diff --git a/themes/slimline/stick-pressed.xpm b/themes/slimline/stick-pressed.xpm
new file mode 100644
index 000000000..16571500d
--- /dev/null
+++ b/themes/slimline/stick-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #B2B2B2 s active_shadow_2",
+"..............",
+".+++++++++++++",
+".+@@@@@@@@@@@+",
+".+@.........#+",
+".+@.........#+",
+".+@....+....#+",
+".+@...+++...#+",
+".+@..+++++..#+",
+".+@...+++...#+",
+".+@....+....#+",
+".+@.........#+",
+".+@.........#+",
+".+@##########+",
+".+++++++++++++"};
diff --git a/themes/slimline/themerc b/themes/slimline/themerc
new file mode 100644
index 000000000..7de5e0d7f
--- /dev/null
+++ b/themes/slimline/themerc
@@ -0,0 +1,3 @@
+full_width_title=true
+button_offset=0
+button_spacing=1
diff --git a/themes/slimline/title-1-active.xpm b/themes/slimline/title-1-active.xpm
new file mode 100644
index 000000000..96d359714
--- /dev/null
+++ b/themes/slimline/title-1-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/title-1-inactive.xpm b/themes/slimline/title-1-inactive.xpm
new file mode 100644
index 000000000..be67c43fc
--- /dev/null
+++ b/themes/slimline/title-1-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/title-2-active.xpm b/themes/slimline/title-2-active.xpm
new file mode 100644
index 000000000..83bff2af7
--- /dev/null
+++ b/themes/slimline/title-2-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_left_active_xpm[] = {
+"18 23 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"% c #8CB754 s active_hilight_1",
+"^ c #8CB754 s active_shadow_1",
+"..................",
+"++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@########",
+"@@@##@##@@#.......",
+"@@@#+@#+@@#.%%%%%%",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#@@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%^^^^^",
+"@@@@@@@@@@#.......",
+"@@@@@@@@@@#+++++++",
+"@@@@@@@@@@@@@@@@@@",
+"##################",
+".................."};
diff --git a/themes/slimline/title-2-inactive.xpm b/themes/slimline/title-2-inactive.xpm
new file mode 100644
index 000000000..1d69aa01e
--- /dev/null
+++ b/themes/slimline/title-2-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_left_active_xpm[] = {
+"18 23 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"% c #8CB754 s inactive_hilight_1",
+"^ c #8CB754 s inactive_shadow_1",
+"..................",
+"++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@########",
+"@@@##@##@@#.......",
+"@@@#+@#+@@#.%%%%%%",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#@@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%$$$$$",
+"@@@@@@@@@@#.%$$$$$",
+"@@@##@##@@#.%$$$$$",
+"@@@#+@#+@@#.%^^^^^",
+"@@@@@@@@@@#.......",
+"@@@@@@@@@@#+++++++",
+"@@@@@@@@@@@@@@@@@@",
+"##################",
+".................."};
diff --git a/themes/slimline/title-3-active.xpm b/themes/slimline/title-3-active.xpm
new file mode 100644
index 000000000..9288b9b51
--- /dev/null
+++ b/themes/slimline/title-3-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"21 23 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"% c #8CB754 s active_hilight_1",
+"^ c #8CB754 s active_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+".....................",
+"%%%%%%%%%%%%%%%%%%%%%",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"^^^^^^^^^^^^^^^^^^^^^",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/title-3-inactive.xpm b/themes/slimline/title-3-inactive.xpm
new file mode 100644
index 000000000..d0775031e
--- /dev/null
+++ b/themes/slimline/title-3-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"21 23 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"% c #8CB754 s inactive_hilight_1",
+"^ c #8CB754 s inactive_shadow_1",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+".....................",
+"%%%%%%%%%%%%%%%%%%%%%",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"$$$$$$$$$$$$$$$$$$$$$",
+"^^^^^^^^^^^^^^^^^^^^^",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/title-4-active.xpm b/themes/slimline/title-4-active.xpm
new file mode 100644
index 000000000..5d0d48b4b
--- /dev/null
+++ b/themes/slimline/title-4-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_right_active_xpm[] = {
+"18 23 8 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"% c #8CB754 s active_hilight_1",
+"^ c #8CB754 s active_shadow_1",
+"..................",
+"++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@",
+"########@@@@@@@@@@",
+".......+@@##@##@@@",
+"%%%%%%.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"^^^^^^.+@@#+@#+@@@",
+".......+@@@@@@@@@@",
+"++++++++@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@",
+"##################",
+".................."};
diff --git a/themes/slimline/title-4-inactive.xpm b/themes/slimline/title-4-inactive.xpm
new file mode 100644
index 000000000..8c27ebcb7
--- /dev/null
+++ b/themes/slimline/title-4-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_right_inactive_xpm[] = {
+"18 23 8 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"% c #8CB754 s inactive_hilight_1",
+"^ c #8CB754 s inactive_shadow_1",
+"..................",
+"++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@",
+"########@@@@@@@@@@",
+".......+@@##@##@@@",
+"%%%%%%.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"$$$$$^.+@@#+@#+@@@",
+"$$$$$^.+@@@@@@@@@@",
+"$$$$$^.+@@##@##@@@",
+"^^^^^^.+@@#+@#+@@@",
+".......+@@@@@@@@@@",
+"++++++++@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@",
+"##################",
+".................."};
diff --git a/themes/slimline/title-5-active.xpm b/themes/slimline/title-5-active.xpm
new file mode 100644
index 000000000..96d359714
--- /dev/null
+++ b/themes/slimline/title-5-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/title-5-inactive.xpm b/themes/slimline/title-5-inactive.xpm
new file mode 100644
index 000000000..be67c43fc
--- /dev/null
+++ b/themes/slimline/title-5-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * title_active_xpm[] = {
+"21 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+".....................",
+"+++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@",
+"#####################",
+"....................."};
diff --git a/themes/slimline/top-left-active.xpm b/themes/slimline/top-left-active.xpm
new file mode 100644
index 000000000..875b1ef16
--- /dev/null
+++ b/themes/slimline/top-left-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"6 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"......",
+".+++++",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@###",
+".+@#.."};
diff --git a/themes/slimline/top-left-inactive.xpm b/themes/slimline/top-left-inactive.xpm
new file mode 100644
index 000000000..716e2db26
--- /dev/null
+++ b/themes/slimline/top-left-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"6 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"......",
+".+++++",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@@@@",
+".+@###",
+".+@#.."};
diff --git a/themes/slimline/top-right-active.xpm b/themes/slimline/top-right-active.xpm
new file mode 100644
index 000000000..54a18c594
--- /dev/null
+++ b/themes/slimline/top-right-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"6 23 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"......",
+"+++++.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"###@#.",
+"..+@#."};
diff --git a/themes/slimline/top-right-inactive.xpm b/themes/slimline/top-right-inactive.xpm
new file mode 100644
index 000000000..515a99401
--- /dev/null
+++ b/themes/slimline/top-right-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"6 23 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"......",
+"+++++.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"@@@@#.",
+"###@#.",
+"..+@#."};
diff --git a/themes/windows/Makefile.am b/themes/windows/Makefile.am
new file mode 100644
index 000000000..24408c981
--- /dev/null
+++ b/themes/windows/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/windows
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/windows/Makefile.in b/themes/windows/Makefile.in
new file mode 100644
index 000000000..521149482
--- /dev/null
+++ b/themes/windows/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/windows
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/windows/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/windows
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/windows/bottom-active.xpm b/themes/windows/bottom-active.xpm
new file mode 100644
index 000000000..869b074fd
--- /dev/null
+++ b/themes/windows/bottom-active.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"16 5 4 1",
+" c None",
+". c #000000 s active_border_color",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/windows/bottom-inactive.xpm b/themes/windows/bottom-inactive.xpm
new file mode 100644
index 000000000..ef6077e0b
--- /dev/null
+++ b/themes/windows/bottom-inactive.xpm
@@ -0,0 +1,12 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"16 5 4 1",
+" c None",
+". c #000000 s inactive_border_color",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@",
+"################",
+"................"};
diff --git a/themes/windows/bottom-left-active.xpm b/themes/windows/bottom-left-active.xpm
new file mode 100644
index 000000000..4a8a6baf3
--- /dev/null
+++ b/themes/windows/bottom-left-active.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@@@@@@@@",
+"@+@@@@@@@@@@",
+"@+@@@@@@@@@@",
+"@+##########",
+"@..........."};
diff --git a/themes/windows/bottom-left-inactive.xpm b/themes/windows/bottom-left-inactive.xpm
new file mode 100644
index 000000000..875c33144
--- /dev/null
+++ b/themes/windows/bottom-left-inactive.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"12 12 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@ ",
+"@+@@@@@@@@@@",
+"@+@@@@@@@@@@",
+"@+@@@@@@@@@@",
+"@+##########",
+"@..........."};
diff --git a/themes/windows/bottom-right-active.xpm b/themes/windows/bottom-right-active.xpm
new file mode 100644
index 000000000..1cf723040
--- /dev/null
+++ b/themes/windows/bottom-right-active.xpm
@@ -0,0 +1,19 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"12 12 4 1",
+" c None",
+". c #000000 s active_border_color",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+"@@@@@@@@@@#.",
+"@@@@@@@@@@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/windows/bottom-right-inactive.xpm b/themes/windows/bottom-right-inactive.xpm
new file mode 100644
index 000000000..6310f98a4
--- /dev/null
+++ b/themes/windows/bottom-right-inactive.xpm
@@ -0,0 +1,19 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"12 12 4 1",
+" c None",
+". c #000000 s inactive_border_color",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+" @@@#.",
+"@@@@@@@@@@#.",
+"@@@@@@@@@@#.",
+"@@@@@@@@@@#.",
+"###########.",
+"............"};
diff --git a/themes/windows/close-active.xpm b/themes/windows/close-active.xpm
new file mode 100644
index 000000000..7be902567
--- /dev/null
+++ b/themes/windows/close-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@..@@@..@#.",
+"@+@...@...@#.",
+"@+@@.....@@#.",
+"@+@@@...@@@#.",
+"@+@@.....@@#.",
+"@+@...@...@#.",
+"@+@..@@@..@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/close-inactive.xpm b/themes/windows/close-inactive.xpm
new file mode 100644
index 000000000..7ec075c9a
--- /dev/null
+++ b/themes/windows/close-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@..@@@..@#.",
+"@+@...@...@#.",
+"@+@@.....@@#.",
+"@+@@@...@@@#.",
+"@+@@.....@@#.",
+"@+@...@...@#.",
+"@+@..@@@..@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/close-pressed.xpm b/themes/windows/close-pressed.xpm
new file mode 100644
index 000000000..dbd6c0ccd
--- /dev/null
+++ b/themes/windows/close-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" ",
+"............@",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@..@@@..#@",
+".+@@...@...#@",
+".+@@@.....@#@",
+".+@@@@...@@#@",
+".+@@@.....@#@",
+".+@@...@...#@",
+".+@@..@@@..#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/hide-active.xpm b/themes/windows/hide-active.xpm
new file mode 100644
index 000000000..710225a69
--- /dev/null
+++ b/themes/windows/hide-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/hide-inactive.xpm b/themes/windows/hide-inactive.xpm
new file mode 100644
index 000000000..3f5d6f693
--- /dev/null
+++ b/themes/windows/hide-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/hide-pressed.xpm b/themes/windows/hide-pressed.xpm
new file mode 100644
index 000000000..d5cecd11b
--- /dev/null
+++ b/themes/windows/hide-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" ",
+".............",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@.......#@",
+".+@@.......#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/left-active.xpm b/themes/windows/left-active.xpm
new file mode 100644
index 000000000..b4c87893f
--- /dev/null
+++ b/themes/windows/left-active.xpm
@@ -0,0 +1,7 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 1 3 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"@+@@@"}; \ No newline at end of file
diff --git a/themes/windows/left-inactive.xpm b/themes/windows/left-inactive.xpm
new file mode 100644
index 000000000..071bc62ad
--- /dev/null
+++ b/themes/windows/left-inactive.xpm
@@ -0,0 +1,7 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"5 1 3 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"@+@@@"}; \ No newline at end of file
diff --git a/themes/windows/maximize-active.xpm b/themes/windows/maximize-active.xpm
new file mode 100644
index 000000000..896f1e5f3
--- /dev/null
+++ b/themes/windows/maximize-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/maximize-inactive.xpm b/themes/windows/maximize-inactive.xpm
new file mode 100644
index 000000000..564e60027
--- /dev/null
+++ b/themes/windows/maximize-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" ",
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.@@@@@.@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/maximize-pressed.xpm b/themes/windows/maximize-pressed.xpm
new file mode 100644
index 000000000..870b75ff1
--- /dev/null
+++ b/themes/windows/maximize-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" "
+".............",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@.......#@",
+".+@@.......#@",
+".+@@.@@@@@.#@",
+".+@@.@@@@@.#@",
+".+@@.@@@@@.#@",
+".+@@.@@@@@.#@",
+".+@@.......#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/menu-active.xpm b/themes/windows/menu-active.xpm
new file mode 100644
index 000000000..4673f96d5
--- /dev/null
+++ b/themes/windows/menu-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #000000 s active_border_color",
+"# c #B2B2B2 s active_shadow_2",
+" ",
+".............",
+".+++++++++++@",
+".+.........#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.........#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/menu-inactive.xpm b/themes/windows/menu-inactive.xpm
new file mode 100644
index 000000000..1e057b05d
--- /dev/null
+++ b/themes/windows/menu-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #000000 s inactive_border_color",
+"# c #B2B2B2 s inactive_shadow_2",
+" ",
+".............",
+".+++++++++++@",
+".+.........#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.@.....@.#@",
+".+.@@@@@@@.#@",
+".+.........#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/menu-pressed.xpm b/themes/windows/menu-pressed.xpm
new file mode 100644
index 000000000..4740fc76a
--- /dev/null
+++ b/themes/windows/menu-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" ",
+".............",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@.......#@",
+".+@@.@@@@@.#@",
+".+@@.......#@",
+".+@@.@@@@@.#@",
+".+@@.......#@",
+".+@@.@@@@@.#@",
+".+@@.......#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/right-active.xpm b/themes/windows/right-active.xpm
new file mode 100644
index 000000000..b4511caa7
--- /dev/null
+++ b/themes/windows/right-active.xpm
@@ -0,0 +1,8 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 1 4 1",
+" c None",
+". c #000000 s active_border_color",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@#."};
diff --git a/themes/windows/right-inactive.xpm b/themes/windows/right-inactive.xpm
new file mode 100644
index 000000000..fb1972d7e
--- /dev/null
+++ b/themes/windows/right-inactive.xpm
@@ -0,0 +1,8 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"5 1 4 1",
+" c None",
+". c #000000 s inactive_border_color",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"@@@#."};
diff --git a/themes/windows/shade-active.xpm b/themes/windows/shade-active.xpm
new file mode 100644
index 000000000..41079aeec
--- /dev/null
+++ b/themes/windows/shade-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+" "
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/shade-inactive.xpm b/themes/windows/shade-inactive.xpm
new file mode 100644
index 000000000..7eb4d60ba
--- /dev/null
+++ b/themes/windows/shade-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+" "
+"@@@@@@@@@@@@@",
+"@+++++++++++.",
+"@+@@@@@@@@@#.",
+"@+@.......@#.",
+"@+@.......@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+@@@@@@@@@#.",
+"@+##########.",
+"@............"};
diff --git a/themes/windows/shade-pressed.xpm b/themes/windows/shade-pressed.xpm
new file mode 100644
index 000000000..c85ee846a
--- /dev/null
+++ b/themes/windows/shade-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" ",
+".............",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@.......#@",
+".+@@.......#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/stick-active.xpm b/themes/windows/stick-active.xpm
new file mode 100644
index 000000000..8dea5dbd2
--- /dev/null
+++ b/themes/windows/stick-active.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #D8D8D8 s active_color_2",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #000000 s active_border_color",
+"# c #B2B2B2 s active_shadow_2",
+" ",
+".............",
+".+++++++++++@",
+".+.........#@",
+".+...@@@...#@",
+".+..@...@..#@",
+".+.@.....@.#@",
+".+.@.....@.#@",
+".+.@.....@.#@",
+".+..@...@..#@",
+".+...@@@...#@",
+".+.........#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/stick-inactive.xpm b/themes/windows/stick-inactive.xpm
new file mode 100644
index 000000000..d538def10
--- /dev/null
+++ b/themes/windows/stick-inactive.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #D8D8D8 s inactive_color_2",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #000000 s inactive_border_color",
+"# c #B2B2B2 s inactive_shadow_2",
+" ",
+".............",
+".+++++++++++@",
+".+.........#@",
+".+...@@@...#@",
+".+..@...@..#@",
+".+.@.....@.#@",
+".+.@.....@.#@",
+".+.@.....@.#@",
+".+..@...@..#@",
+".+...@@@...#@",
+".+.........#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/stick-pressed.xpm b/themes/windows/stick-pressed.xpm
new file mode 100644
index 000000000..01f323f7b
--- /dev/null
+++ b/themes/windows/stick-pressed.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"13 14 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #B2B2B2 s active_shadow_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #FFFFFF s active_hilight_2",
+" ",
+".............",
+".+++++++++++@",
+".+@@@@@@@@@#@",
+".+@@@@@@@@@#@",
+".+@@@@...@@#@",
+".+@@@.@@@.@#@",
+".+@@.@@@@@.#@",
+".+@@.@@@@@.#@",
+".+@@.@@@@@.#@",
+".+@@@.@@@.@#@",
+".+@@@@...@@#@",
+".+##########@",
+".@@@@@@@@@@@@"};
diff --git a/themes/windows/themerc b/themes/windows/themerc
new file mode 100644
index 000000000..303eac6b2
--- /dev/null
+++ b/themes/windows/themerc
@@ -0,0 +1,4 @@
+full_width_title=true
+button_offset=2
+button_spacing=2
+title_vertical_offset=2
diff --git a/themes/windows/title-1-active.xpm b/themes/windows/title-1-active.xpm
new file mode 100644
index 000000000..374830026
--- /dev/null
+++ b/themes/windows/title-1-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-1-inactive.xpm b/themes/windows/title-1-inactive.xpm
new file mode 100644
index 000000000..2539ed313
--- /dev/null
+++ b/themes/windows/title-1-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-2-active.xpm b/themes/windows/title-2-active.xpm
new file mode 100644
index 000000000..374830026
--- /dev/null
+++ b/themes/windows/title-2-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-2-inactive.xpm b/themes/windows/title-2-inactive.xpm
new file mode 100644
index 000000000..2539ed313
--- /dev/null
+++ b/themes/windows/title-2-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-3-active.xpm b/themes/windows/title-3-active.xpm
new file mode 100644
index 000000000..374830026
--- /dev/null
+++ b/themes/windows/title-3-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-3-inactive.xpm b/themes/windows/title-3-inactive.xpm
new file mode 100644
index 000000000..2539ed313
--- /dev/null
+++ b/themes/windows/title-3-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-4-active.xpm b/themes/windows/title-4-active.xpm
new file mode 100644
index 000000000..374830026
--- /dev/null
+++ b/themes/windows/title-4-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-4-inactive.xpm b/themes/windows/title-4-inactive.xpm
new file mode 100644
index 000000000..2539ed313
--- /dev/null
+++ b/themes/windows/title-4-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-5-active.xpm b/themes/windows/title-5-active.xpm
new file mode 100644
index 000000000..374830026
--- /dev/null
+++ b/themes/windows/title-5-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_active_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"$ c #8CB754 s active_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/title-5-inactive.xpm b/themes/windows/title-5-inactive.xpm
new file mode 100644
index 000000000..2539ed313
--- /dev/null
+++ b/themes/windows/title-5-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * title_middle_inactive_xpm[] = {
+"5 24 5 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"$ c #8CB754 s inactive_color_1",
+"@@@@@",
+"+++++",
+"@@@@@",
+"@@@@@",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"$$$$$",
+"@@@@@",
+"@@@@@"};
diff --git a/themes/windows/top-left-active.xpm b/themes/windows/top-left-active.xpm
new file mode 100644
index 000000000..5f2ec6e5d
--- /dev/null
+++ b/themes/windows/top-left-active.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"4 24 4 1",
+" c None",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@",
+"@+++",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@"};
diff --git a/themes/windows/top-left-inactive.xpm b/themes/windows/top-left-inactive.xpm
new file mode 100644
index 000000000..99b188044
--- /dev/null
+++ b/themes/windows/top-left-inactive.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"4 24 4 1",
+" c None",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"@@@@",
+"@+++",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@",
+"@+@@"};
diff --git a/themes/windows/top-right-active.xpm b/themes/windows/top-right-active.xpm
new file mode 100644
index 000000000..47b48da58
--- /dev/null
+++ b/themes/windows/top-right-active.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"4 24 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #D8D8D8 s active_color_2",
+"# c #B2B2B2 s active_shadow_2",
+"@@@@",
+"+++.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#."};
diff --git a/themes/windows/top-right-inactive.xpm b/themes/windows/top-right-inactive.xpm
new file mode 100644
index 000000000..b8d5621a7
--- /dev/null
+++ b/themes/windows/top-right-inactive.xpm
@@ -0,0 +1,32 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"4 24 5 1",
+" c None",
+". c #000000 s inactive_border_color",
+"+ c #FFFFFF s inactive_hilight_2",
+"@ c #D8D8D8 s inactive_color_2",
+"# c #B2B2B2 s inactive_shadow_2",
+"@@@@",
+"+++.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#.",
+"@@#."};
diff --git a/themes/xfce/Makefile.am b/themes/xfce/Makefile.am
new file mode 100644
index 000000000..167649444
--- /dev/null
+++ b/themes/xfce/Makefile.am
@@ -0,0 +1,45 @@
+themedir = $(prefix)/share/xfwm4/themes/xfce
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+EXTRA_DIST = $(theme_DATA)
diff --git a/themes/xfce/Makefile.in b/themes/xfce/Makefile.in
new file mode 100644
index 000000000..992e2e5b7
--- /dev/null
+++ b/themes/xfce/Makefile.in
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+VERSION = @VERSION@
+
+themedir = $(prefix)/share/xfwm4/themes/xfce
+theme_DATA = bottom-active.xpm \
+ bottom-inactive.xpm \
+ bottom-left-active.xpm \
+ bottom-left-inactive.xpm \
+ bottom-right-active.xpm \
+ bottom-right-inactive.xpm \
+ close-active.xpm \
+ close-inactive.xpm \
+ close-pressed.xpm \
+ hide-active.xpm \
+ hide-inactive.xpm \
+ hide-pressed.xpm \
+ left-active.xpm \
+ left-inactive.xpm \
+ maximize-active.xpm \
+ maximize-inactive.xpm \
+ maximize-pressed.xpm \
+ menu-active.xpm \
+ menu-inactive.xpm \
+ menu-pressed.xpm \
+ right-active.xpm \
+ right-inactive.xpm \
+ shade-active.xpm \
+ shade-inactive.xpm \
+ shade-pressed.xpm \
+ stick-active.xpm \
+ stick-inactive.xpm \
+ stick-pressed.xpm \
+ themerc \
+ title-1-active.xpm \
+ title-1-inactive.xpm \
+ title-2-active.xpm \
+ title-2-inactive.xpm \
+ title-3-active.xpm \
+ title-3-inactive.xpm \
+ title-4-active.xpm \
+ title-4-inactive.xpm \
+ title-5-active.xpm \
+ title-5-inactive.xpm \
+ top-left-active.xpm \
+ top-left-inactive.xpm \
+ top-right-active.xpm \
+ top-right-inactive.xpm
+
+EXTRA_DIST = $(theme_DATA)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps themes/xfce/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-themeDATA: $(theme_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+ @list='$(theme_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(themedir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(themedir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-themeDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(theme_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(themedir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = themes/xfce
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-themeDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-themeDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(themedir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-themeDATA install-themeDATA tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/themes/xfce/bottom-active.xpm b/themes/xfce/bottom-active.xpm
new file mode 100644
index 000000000..cc4ebca22
--- /dev/null
+++ b/themes/xfce/bottom-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/bottom-inactive.xpm b/themes/xfce/bottom-inactive.xpm
new file mode 100644
index 000000000..ba89fd388
--- /dev/null
+++ b/themes/xfce/bottom-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/bottom-left-active.xpm b/themes/xfce/bottom-left-active.xpm
new file mode 100644
index 000000000..3b2246ac9
--- /dev/null
+++ b/themes/xfce/bottom-left-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#................",
+".+@#++++++++++++++++",
+".+@@@@@@@@@@@@@@@@@@",
+".+##################",
+"...................."};
diff --git a/themes/xfce/bottom-left-inactive.xpm b/themes/xfce/bottom-left-inactive.xpm
new file mode 100644
index 000000000..7fb291bab
--- /dev/null
+++ b/themes/xfce/bottom-left-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#. ",
+".+@#................",
+".+@#++++++++++++++++",
+".+@@@@@@@@@@@@@@@@@@",
+".+##################",
+"...................."};
diff --git a/themes/xfce/bottom-right-active.xpm b/themes/xfce/bottom-right-active.xpm
new file mode 100644
index 000000000..0897e335f
--- /dev/null
+++ b/themes/xfce/bottom-right-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+"................+@#.",
+"+++++++++++++++++@#.",
+"@@@@@@@@@@@@@@@@@@#.",
+"###################.",
+"...................."};
diff --git a/themes/xfce/bottom-right-inactive.xpm b/themes/xfce/bottom-right-inactive.xpm
new file mode 100644
index 000000000..7ac6e45fb
--- /dev/null
+++ b/themes/xfce/bottom-right-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"20 20 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+" .+@#.",
+"................+@#.",
+"+++++++++++++++++@#.",
+"@@@@@@@@@@@@@@@@@@#.",
+"###################.",
+"...................."};
diff --git a/themes/xfce/close-active.xpm b/themes/xfce/close-active.xpm
new file mode 100644
index 000000000..4b7d33bd6
--- /dev/null
+++ b/themes/xfce/close-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"......+....+......",
+".....+++..+++.....",
+"......++++++......",
+".......++++.......",
+".......++++.......",
+"......++++++......",
+".....+++..+++.....",
+"......+....+......",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/close-inactive.xpm b/themes/xfce/close-inactive.xpm
new file mode 100644
index 000000000..62fc2b94b
--- /dev/null
+++ b/themes/xfce/close-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"......+....+......",
+".....+++..+++.....",
+"......++++++......",
+".......++++.......",
+".......++++.......",
+"......++++++......",
+".....+++..+++.....",
+"......+....+......",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/close-pressed.xpm b/themes/xfce/close-pressed.xpm
new file mode 100644
index 000000000..04f14ad6e
--- /dev/null
+++ b/themes/xfce/close-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+####+####+####.@",
+".+###+++##+++###.@",
+".+####++++++####.@",
+".+#####++++#####.@",
+".+#####++++#####.@",
+".+####++++++####.@",
+".+###+++##+++###.@",
+".+####+####+####.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/hide-active.xpm b/themes/xfce/hide-active.xpm
new file mode 100644
index 000000000..15bd1e68d
--- /dev/null
+++ b/themes/xfce/hide-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".......++++.......",
+".......+..+.......",
+".......+..+.......",
+".......++++.......",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/hide-inactive.xpm b/themes/xfce/hide-inactive.xpm
new file mode 100644
index 000000000..996820a5f
--- /dev/null
+++ b/themes/xfce/hide-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".......++++.......",
+".......+..+.......",
+".......+..+.......",
+".......++++.......",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/hide-pressed.xpm b/themes/xfce/hide-pressed.xpm
new file mode 100644
index 000000000..973d79fef
--- /dev/null
+++ b/themes/xfce/hide-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+#####++++#####.@",
+".+#####+##+#####.@",
+".+#####+##+#####.@",
+".+#####++++#####.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/left-active.xpm b/themes/xfce/left-active.xpm
new file mode 100644
index 000000000..8b08c0645
--- /dev/null
+++ b/themes/xfce/left-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/xfce/left-inactive.xpm b/themes/xfce/left-inactive.xpm
new file mode 100644
index 000000000..07a1d59bd
--- /dev/null
+++ b/themes/xfce/left-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/xfce/maximize-active.xpm b/themes/xfce/maximize-active.xpm
new file mode 100644
index 000000000..f1eff3775
--- /dev/null
+++ b/themes/xfce/maximize-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/maximize-inactive.xpm b/themes/xfce/maximize-inactive.xpm
new file mode 100644
index 000000000..bb1ea5409
--- /dev/null
+++ b/themes/xfce/maximize-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/maximize-pressed.xpm b/themes/xfce/maximize-pressed.xpm
new file mode 100644
index 000000000..b58611c0e
--- /dev/null
+++ b/themes/xfce/maximize-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+###++++++++###.@",
+".+###++++++++###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###++++++++###.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/menu-active.xpm b/themes/xfce/menu-active.xpm
new file mode 100644
index 000000000..e0692b4bb
--- /dev/null
+++ b/themes/xfce/menu-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/menu-inactive.xpm b/themes/xfce/menu-inactive.xpm
new file mode 100644
index 000000000..1557c979b
--- /dev/null
+++ b/themes/xfce/menu-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/menu-pressed.xpm b/themes/xfce/menu-pressed.xpm
new file mode 100644
index 000000000..87073c2c9
--- /dev/null
+++ b/themes/xfce/menu-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+###++++++++###.@",
+".+###++++++++###.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/right-active.xpm b/themes/xfce/right-active.xpm
new file mode 100644
index 000000000..808cb97a6
--- /dev/null
+++ b/themes/xfce/right-active.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/xfce/right-inactive.xpm b/themes/xfce/right-inactive.xpm
new file mode 100644
index 000000000..04ab48a8c
--- /dev/null
+++ b/themes/xfce/right-inactive.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"5 5 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#.",
+".+@#."};
diff --git a/themes/xfce/shade-active.xpm b/themes/xfce/shade-active.xpm
new file mode 100644
index 000000000..57e99f1d9
--- /dev/null
+++ b/themes/xfce/shade-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * shade_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+"..................",
+"........++........",
+".......++++.......",
+"......++++++......",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/shade-inactive.xpm b/themes/xfce/shade-inactive.xpm
new file mode 100644
index 000000000..642ac12f5
--- /dev/null
+++ b/themes/xfce/shade-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * shade_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".....++++++++.....",
+".....++++++++.....",
+"..................",
+"........++........",
+".......++++.......",
+"......++++++......",
+".....++++++++.....",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/shade-pressed.xpm b/themes/xfce/shade-pressed.xpm
new file mode 100644
index 000000000..eab07bc0a
--- /dev/null
+++ b/themes/xfce/shade-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * shade_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+###++++++++###.@",
+".+###++++++++###.@",
+".+##############.@",
+".+######++######.@",
+".+#####++++#####.@",
+".+####++++++####.@",
+".+###++++++++###.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/stick-active.xpm b/themes/xfce/stick-active.xpm
new file mode 100644
index 000000000..d0c381844
--- /dev/null
+++ b/themes/xfce/stick-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * stick_active_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #000000 s active_border_color",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".......++++.......",
+"......+....+......",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+"......+....+......",
+".......++++.......",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/stick-inactive.xpm b/themes/xfce/stick-inactive.xpm
new file mode 100644
index 000000000..8124461e3
--- /dev/null
+++ b/themes/xfce/stick-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * stick_inactive_xpm[] = {
+"18 22 3 1",
+" c None",
+". c #CCCCC7 s inactive_color_2",
+"+ c #919189 s inactive_shadow_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+"..................",
+"..................",
+"..................",
+"..................",
+".......++++.......",
+"......+....+......",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+".....+......+.....",
+"......+....+......",
+".......++++.......",
+"..................",
+"..................",
+"..................",
+"..................",
+".................."};
diff --git a/themes/xfce/stick-pressed.xpm b/themes/xfce/stick-pressed.xpm
new file mode 100644
index 000000000..91a5be21d
--- /dev/null
+++ b/themes/xfce/stick-pressed.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * stick_pressed_xpm[] = {
+"18 22 5 1",
+" c None",
+". c #919189 s active_shadow_2",
+"+ c #000000 s active_border_color",
+"@ c #FFFFFF s active_hilight_2",
+"# c #CCCCC7 s active_color_2",
+" ",
+" ",
+" ",
+" ",
+"..................",
+".++++++++++++++++@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+#####++++#####.@",
+".+####+####+####.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+###+######+###.@",
+".+####+####+####.@",
+".+#####++++#####.@",
+".+##############.@",
+".+##############.@",
+".+##############.@",
+".+...............@",
+".@@@@@@@@@@@@@@@@@"};
diff --git a/themes/xfce/themerc b/themes/xfce/themerc
new file mode 100644
index 000000000..a2fb9b093
--- /dev/null
+++ b/themes/xfce/themerc
@@ -0,0 +1,4 @@
+full_width_title=true
+button_offset=1
+button_spacing=2
+title_vertical_offset=5
diff --git a/themes/xfce/title-1-active.xpm b/themes/xfce/title-1-active.xpm
new file mode 100644
index 000000000..5fed08db0
--- /dev/null
+++ b/themes/xfce/title-1-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/title-1-inactive.xpm b/themes/xfce/title-1-inactive.xpm
new file mode 100644
index 000000000..c74fba185
--- /dev/null
+++ b/themes/xfce/title-1-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/title-2-active.xpm b/themes/xfce/title-2-active.xpm
new file mode 100644
index 000000000..f1a4c4a70
--- /dev/null
+++ b/themes/xfce/title-2-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #0A5E89 s active_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@##",
+"@@@@@@##$$",
+"@@@@##$$$$",
+"@@@##$$$$$",
+"@@##$$$$$$",
+"@@#$$$$$$$",
+"@@#$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@@#$$$$$$$",
+"@@#$$$$$$$",
+"@@##$$$$$$",
+"@@@#+$$$$$",
+"@@@@++$$$$",
+"@@@@@@++$$",
+"########++",
+".........."};
diff --git a/themes/xfce/title-2-inactive.xpm b/themes/xfce/title-2-inactive.xpm
new file mode 100644
index 000000000..bcbaf8dd7
--- /dev/null
+++ b/themes/xfce/title-2-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #B6B6B1 s inactive_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@##",
+"@@@@@@##$$",
+"@@@@##$$$$",
+"@@@##$$$$$",
+"@@##$$$$$$",
+"@@#$$$$$$$",
+"@@#$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@#$$$$$$$$",
+"@@#$$$$$$$",
+"@@#$$$$$$$",
+"@@##$$$$$$",
+"@@@#+$$$$$",
+"@@@@++$$$$",
+"@@@@@@++$$",
+"########++",
+".........."};
diff --git a/themes/xfce/title-3-active.xpm b/themes/xfce/title-3-active.xpm
new file mode 100644
index 000000000..d24d2b335
--- /dev/null
+++ b/themes/xfce/title-3-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title3_active_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #0A5E89 s active_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"##########",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"++++++++++",
+".........."};
diff --git a/themes/xfce/title-3-inactive.xpm b/themes/xfce/title-3-inactive.xpm
new file mode 100644
index 000000000..4f3f6e483
--- /dev/null
+++ b/themes/xfce/title-3-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_3_inactive_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #B6B6B1 s inactive_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"##########",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"$$$$$$$$$$",
+"++++++++++",
+".........."};
diff --git a/themes/xfce/title-4-active.xpm b/themes/xfce/title-4-active.xpm
new file mode 100644
index 000000000..1fa173789
--- /dev/null
+++ b/themes/xfce/title-4-active.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #0A5E89 s active_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"##@@@@@@@@",
+"$$##@@@@@@",
+"$$$$##@@@@",
+"$$$$$#+@@@",
+"$$$$$$++@@",
+"$$$$$$$+@@",
+"$$$$$$$+@@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$+@@",
+"$$$$$$$+@@",
+"$$$$$$++@@",
+"$$$$$++@@@",
+"$$$$++@@@@",
+"$$++@@@@@@",
+"++########",
+".........."};
diff --git a/themes/xfce/title-4-inactive.xpm b/themes/xfce/title-4-inactive.xpm
new file mode 100644
index 000000000..831f0a042
--- /dev/null
+++ b/themes/xfce/title-4-inactive.xpm
@@ -0,0 +1,34 @@
+/* XPM */
+static char * title_4_inactive_xpm[] = {
+"10 25 6 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+"$ c #B6B6B1 s inactive_color_1",
+"..........",
+"++++++++++",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"@@@@@@@@@@",
+"##@@@@@@@@",
+"$$##@@@@@@",
+"$$$$##@@@@",
+"$$$$$#+@@@",
+"$$$$$$++@@",
+"$$$$$$$+@@",
+"$$$$$$$+@@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$$+@",
+"$$$$$$$+@@",
+"$$$$$$$+@@",
+"$$$$$$++@@",
+"$$$$$++@@@",
+"$$$$++@@@@",
+"$$++@@@@@@",
+"++########",
+".........."};
diff --git a/themes/xfce/title-5-active.xpm b/themes/xfce/title-5-active.xpm
new file mode 100644
index 000000000..dd3725c9a
--- /dev/null
+++ b/themes/xfce/title-5-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/title-5-inactive.xpm b/themes/xfce/title-5-inactive.xpm
new file mode 100644
index 000000000..8ab3333d9
--- /dev/null
+++ b/themes/xfce/title-5-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * title_5_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"+++++",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"@@@@@",
+"#####",
+"....."};
diff --git a/themes/xfce/top-left-active.xpm b/themes/xfce/top-left-active.xpm
new file mode 100644
index 000000000..243d6ba39
--- /dev/null
+++ b/themes/xfce/top-left-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/xfce/top-left-inactive.xpm b/themes/xfce/top-left-inactive.xpm
new file mode 100644
index 000000000..25b95d680
--- /dev/null
+++ b/themes/xfce/top-left-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_left_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+".++++",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@@@",
+".+@##",
+".+@#."};
diff --git a/themes/xfce/top-right-active.xpm b/themes/xfce/top-right-active.xpm
new file mode 100644
index 000000000..2dac9cec7
--- /dev/null
+++ b/themes/xfce/top-right-active.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};
diff --git a/themes/xfce/top-right-inactive.xpm b/themes/xfce/top-right-inactive.xpm
new file mode 100644
index 000000000..aa8471e04
--- /dev/null
+++ b/themes/xfce/top-right-inactive.xpm
@@ -0,0 +1,33 @@
+/* XPM */
+static char * top_right_inactive_xpm[] = {
+"5 25 5 1",
+" c None",
+". c #000000 s active_border_color",
+"+ c #FFFFFF s active_hilight_2",
+"@ c #CCCCC7 s active_color_2",
+"# c #919189 s active_shadow_2",
+".....",
+"++++.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"@@@#.",
+"##@#.",
+".+@#."};