diff --git a/configure b/configure
index 241e63c19f11f366ced67dcdd1823b9a148dee59..3320821a60afda91bbb43ef97339223e597c1b9c 100755
--- a/configure
+++ b/configure
@@ -4892,7 +4892,7 @@ echo "$as_me: error: Library requirements (glib-2.0 >= $GLIB_REQUIRED_VERSION gt
   fi
 
 
-ac_config_files="$ac_config_files xfwm4.spec Makefile src/Makefile defaults/Makefile themes/Makefile themes/agua/Makefile themes/b5/Makefile themes/b6/Makefile themes/bbs/Makefile themes/coldsteel/Makefile themes/crux/Makefile themes/cruxish/Makefile themes/eazel-blue/Makefile themes/exocet/Makefile themes/g2/Makefile themes/gorilla/Makefile themes/gtk/Makefile themes/iceg/Makefile themes/kde/Makefile themes/kindaker/Makefile themes/linea/Makefile themes/mofit/Makefile themes/next/Makefile themes/ops/Makefile themes/oroborus/Makefile themes/piranha/Makefile themes/platinum/Makefile themes/quinx/Makefile themes/r9x/Makefile themes/redmond/Makefile themes/redmondxp/Makefile themes/retro/Makefile themes/slick/Makefile themes/slimline/Makefile themes/trench/Makefile themes/xfce/Makefile"
+ac_config_files="$ac_config_files xfwm4.spec Makefile src/Makefile defaults/Makefile themes/Makefile themes/agua/Makefile themes/b5/Makefile themes/b6/Makefile themes/bbs/Makefile themes/coldsteel/Makefile themes/crux/Makefile themes/cruxish/Makefile themes/curve/Makefile themes/eazel-blue/Makefile themes/exocet/Makefile themes/g2/Makefile themes/gorilla/Makefile themes/gtk/Makefile themes/iceg/Makefile themes/kde/Makefile themes/kindaker/Makefile themes/linea/Makefile themes/mofit/Makefile themes/next/Makefile themes/ops/Makefile themes/oroborus/Makefile themes/piranha/Makefile themes/platinum/Makefile themes/quinx/Makefile themes/r9x/Makefile themes/redmond/Makefile themes/redmondxp/Makefile themes/retro/Makefile themes/slick/Makefile themes/slimline/Makefile themes/trench/Makefile 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
@@ -5393,6 +5393,7 @@ do
   "themes/coldsteel/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/coldsteel/Makefile" ;;
   "themes/crux/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/crux/Makefile" ;;
   "themes/cruxish/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/cruxish/Makefile" ;;
+  "themes/curve/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/curve/Makefile" ;;
   "themes/eazel-blue/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/eazel-blue/Makefile" ;;
   "themes/exocet/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/exocet/Makefile" ;;
   "themes/g2/Makefile" ) CONFIG_FILES="$CONFIG_FILES themes/g2/Makefile" ;;
diff --git a/configure.in b/configure.in
index 32a933461ac25dd65a0753cef9ec1c5bbb12b973..850253bf6e488c521f5219fa780b6535baec8393 100644
--- a/configure.in
+++ b/configure.in
@@ -48,6 +48,7 @@ themes/bbs/Makefile
 themes/coldsteel/Makefile
 themes/crux/Makefile
 themes/cruxish/Makefile
+themes/curve/Makefile
 themes/eazel-blue/Makefile
 themes/exocet/Makefile
 themes/g2/Makefile
diff --git a/themes/Makefile.am b/themes/Makefile.am
index 3ec39443045b764a53794f69b36cc0a6f21d39fe..46e7db607b0029bb91c083cd8416ba2af93fe9d7 100644
--- a/themes/Makefile.am
+++ b/themes/Makefile.am
@@ -6,6 +6,7 @@ bbs \
 coldsteel \
 crux \
 cruxish \
+curve \
 eazel-blue \
 exocet \
 g2 \
diff --git a/themes/Makefile.in b/themes/Makefile.in
index 739e8b6704c2327eedd469ecdc3df99fac06d776..e7907116d3c8d47f3b4ca7a52da067b04a1b2878 100644
--- a/themes/Makefile.in
+++ b/themes/Makefile.in
@@ -87,6 +87,7 @@ bbs \
 coldsteel \
 crux \
 cruxish \
+curve \
 eazel-blue \
 exocet \
 g2 \
diff --git a/themes/curve/Makefile.am b/themes/curve/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..fda93933efafaddc760e24d77092ff641839442a
--- /dev/null
+++ b/themes/curve/Makefile.am
@@ -0,0 +1,40 @@
+themedir = $(pkgdatadir)/themes/curve
+theme_DATA = README \
+	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 \
+	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/curve/Makefile.in b/themes/curve/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..06546ecfb166fad16f6a1eaa05e81f01f2987652
--- /dev/null
+++ b/themes/curve/Makefile.in
@@ -0,0 +1,265 @@
+# Makefile.in generated by automake 1.6.2 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# 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.
+
+@SET_MAKE@
+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
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = @program_transform_name@
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+AMTAR = @AMTAR@
+AWK = @AWK@
+CC = @CC@
+DEPDIR = @DEPDIR@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+STRIP = @STRIP@
+VERSION = @VERSION@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+am__include = @am__include@
+am__quote = @am__quote@
+install_sh = @install_sh@
+themedir = $(pkgdatadir)/themes/curve
+theme_DATA = README \
+	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 \
+	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)
+subdir = themes/curve
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(theme_DATA)
+
+DIST_COMMON = README Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  themes/curve/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+themeDATA_INSTALL = $(INSTALL_DATA)
+install-themeDATA: $(theme_DATA)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(themedir)
+	@list='$(theme_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(themeDATA_INSTALL) $$d$$p $(DESTDIR)$(themedir)/$$f"; \
+	  $(themeDATA_INSTALL) $$d$$p $(DESTDIR)$(themedir)/$$f; \
+	done
+
+uninstall-themeDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(theme_DATA)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(themedir)/$$f"; \
+	  rm -f $(DESTDIR)$(themedir)/$$f; \
+	done
+tags: TAGS
+TAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@list='$(DISTFILES)'; for file in $$list; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(themedir)
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-themeDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+uninstall-am: uninstall-info-am uninstall-themeDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am info info-am install \
+	install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip install-themeDATA installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic uninstall uninstall-am \
+	uninstall-info-am uninstall-themeDATA
+
+# 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/curve/README b/themes/curve/README
new file mode 100644
index 0000000000000000000000000000000000000000..6154ab3852cbd712fc9a11c46942d2d9aa44b9bb
--- /dev/null
+++ b/themes/curve/README
@@ -0,0 +1,4 @@
+Curve
+-----
+
+Ported from Metacity theme "Bluecurve" by Garrett LeSage and Havoc Pennington
diff --git a/themes/curve/bottom-active.xpm b/themes/curve/bottom-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..cdfab672374cdb62774b2cfad5d7f6b6731e729a
--- /dev/null
+++ b/themes/curve/bottom-active.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * bottom_active_xpm[] = {
+"32 6 5 1",
+" 	c None",
+".	c #A1A1A1 s active_shadow_2",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #E6E6E6 s active_color_2",
+"$	c #000000",
+"................................",
+"++++++++++++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"................................",
+"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"};
diff --git a/themes/curve/bottom-inactive.xpm b/themes/curve/bottom-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..470af97e2e2abca6515d5779e7841eb31a5a14eb
--- /dev/null
+++ b/themes/curve/bottom-inactive.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * bottom_inactive_xpm[] = {
+"32 6 5 1",
+" 	c None",
+".	c #A1A1A1 s inactive_shadow_2",
+"+	c #FFFFFF s inactive_hilight_2",
+"@	c #E6E6E6 s inactive_color_2",
+"$	c #000000",
+"................................",
+"++++++++++++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@",
+"................................",
+"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"};
diff --git a/themes/curve/bottom-left-active.xpm b/themes/curve/bottom-left-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..4872e4686d9018ae6bc8f1f83f77e49fdc9e3527
--- /dev/null
+++ b/themes/curve/bottom-left-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * bottom_left_active_xpm[] = {
+"22 22 5 1",
+"       c None",
+".      c #000000",
+"+      c #6671B2 s active_color_1",
+"@      c #444F94 s active_shadow_1",
+"#      c #8D95C6 s active_hilight_1",
+".+@@@@                ",
+".####@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#++++@@@@@@@@@@@@@@@@",
+" .#++++##############+",
+" .#++++++++++++++++++@",
+"  .@@++++++++++++++++@",
+"   ..@@@@@@@@@@@@@@@@@",
+"     ................."};
diff --git a/themes/curve/bottom-left-inactive.xpm b/themes/curve/bottom-left-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..b36ae0a64bf1188f73c530106c8a35d8a4a19523
--- /dev/null
+++ b/themes/curve/bottom-left-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * bottom_left_inactive_xpm[] = {
+"22 22 5 1",
+"       c None",
+".      c #000000",
+"+      c #B9B9B9 s inactive_color_1",
+"@      c #9B9B9B s inactive_shadow_1",
+"#      c #CBCBCB s inactive_hilight_1",
+".+@@@@                ",
+".####@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#+++@                ",
+".#++++@@@@@@@@@@@@@@@@",
+" .#++++##############+",
+" .#++++++++++++++++++@",
+"  .@@++++++++++++++++@",
+"   ..@@@@@@@@@@@@@@@@@",
+"     ................."};
diff --git a/themes/curve/bottom-right-active.xpm b/themes/curve/bottom-right-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..b44f8df6289393ab928a9710218807c9aac82996
--- /dev/null
+++ b/themes/curve/bottom-right-active.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * bottom_right_active_xpm[] = {
+"22 22 5 1",
+" 	c None",
+".	c #444F94 s active_shadow_1",
+"+	c #6671B2 s active_color_1",
+"@	c #000000",
+"#	c #8D95C6 s active_hilight_1",
+"                .+..@@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"+...............#+++.@",
+"################+++.@ ",
+"#++++++++++++++++++.@ ",
+"#++++++++++++++++..@  ",
+"+................@@   ",
+"@@@@@@@@@@@@@@@@@     "};
diff --git a/themes/curve/bottom-right-inactive.xpm b/themes/curve/bottom-right-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..d8480ef8a7fa0ce0df1317253b16c3cba7511af5
--- /dev/null
+++ b/themes/curve/bottom-right-inactive.xpm
@@ -0,0 +1,30 @@
+/* XPM */
+static char * bottom_right_inactive_xpm[] = {
+"22 22 5 1",
+" 	c None",
+".	c #9B9B9B s inactive_shadow_1",
+"+	c #B9B9B9 s inactive_color_1",
+"@	c #000000",
+"#	c #CBCBCB s inactive_hilight_1",
+"                .+..@@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"                .#++.@",
+"+...............#+++.@",
+"################+++.@ ",
+"#++++++++++++++++++.@ ",
+"#++++++++++++++++..@  ",
+"+................@@   ",
+"@@@@@@@@@@@@@@@@@     "};
diff --git a/themes/curve/close-active.xpm b/themes/curve/close-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..fb3b42ad2ca28f0d651e842a7e42e77702e0939b
--- /dev/null
+++ b/themes/curve/close-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * close_active_xpm[] = {
+"21 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #919191 s active_shadow_2",
+"#	c #E6E6E6 s active_color_2",
+"$	c #474747",
+".....................",
+"+++++++++++++++++++++",
+"+####################",
+"+####################",
+"+####################",
+"+#####$$####$$#######",
+"+####$$$$##$$$$######",
+"+####$$$$$$$$$$######",
+"+#####$$$$$$$$#######",
+"+######$$$$$$########",
+"+######$$$$$$########",
+"+#####$$$$$$$$#######",
+"+####$$$$$$$$$$######",
+"+####$$$$##$$$$######",
+"+#####$$####$$#######",
+"+####################",
+"+####################",
+"+####################",
+"+####################",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/close-inactive.xpm b/themes/curve/close-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..6e906ef5cae370fb7fb8c0a7fd214ea617ebe9b3
--- /dev/null
+++ b/themes/curve/close-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * close_inactive_xpm[] = {
+"20 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #828282 s inactive_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@##@@@@##@@@@@@",
+"@@@@@####@@####@@@@@",
+"@@@@@##########@@@@@",
+"@@@@@@########@@@@@@",
+"@@@@@@@######@@@@@@@",
+"@@@@@@@######@@@@@@@",
+"@@@@@@########@@@@@@",
+"@@@@@##########@@@@@",
+"@@@@@####@@####@@@@@",
+"@@@@@@##@@@@##@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"####################"};
diff --git a/themes/curve/close-pressed.xpm b/themes/curve/close-pressed.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..22f5174f8628cfbf0f86329941356b5f84ebb93f
--- /dev/null
+++ b/themes/curve/close-pressed.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * close_pressed_xpm[] = {
+"21 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #CBCBCB s active_mid_2",
+"@	c #A7A7A7 s active_shadow_2",
+"#	c #FFFFFF s active_hilight_2",
+".....................",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"++++++..++++..++++++#",
+"+++++....++....+++++#",
+"+++++..........+++++#",
+"++++++........++++++#",
+"+++++++......+++++++#",
+"+++++++......+++++++#",
+"++++++........++++++#",
+"+++++..........+++++#",
+"+++++....++....+++++#",
+"++++++..++++..++++++#",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"++++++++++++++++++++#",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/hide-active.xpm b/themes/curve/hide-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..7b4cdbb7bdc5de9b5e5d2267f00b9d1a7d7ec57b
--- /dev/null
+++ b/themes/curve/hide-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * hide_active_xpm[] = {
+"21 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #919191 s active_shadow_2",
+"#	c #E6E6E6 s active_color_2",
+"$	c #474747",
+".....................",
+"++++++++++++++++++++@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+####@$$$$$$$$@#####@",
+"+####$$$$$$$$$$#####@",
+"+####$$$$$$$$$$#####@",
+"+####@$$$$$$$$@#####@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/hide-inactive.xpm b/themes/curve/hide-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..59f94f6bb2540372767dd1f2778d0f6c49077f53
--- /dev/null
+++ b/themes/curve/hide-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * hide_inactive_xpm[] = {
+"20 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #CBCBCB s inactive_mid_1",
+"-	c #828282 s inactive_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@#--------#@@@@@",
+"@@@@@----------@@@@@",
+"@@@@@----------@@@@@",
+"@@@@@#--------#@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"--------------------"};
diff --git a/themes/curve/hide-pressed.xpm b/themes/curve/hide-pressed.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..312bd7ab5a0784b610ff1cffa8bd7e2e55bdc600
--- /dev/null
+++ b/themes/curve/hide-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * hide_pressed_xpm[] = {
+"21 20 4 1",
+" 	c None",
+".	c #000000",
+"+	c #CBCBCB s active_mid_2",
+"@	c #A7A7A7 s active_shadow_2",
+".....................",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"+++++@........@+++++@",
+"+++++..........+++++@",
+"+++++..........+++++@",
+"+++++@........@+++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/left-active.xpm b/themes/curve/left-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..060d177a4064dedc8aff806f79fa69c74a84dd37
--- /dev/null
+++ b/themes/curve/left-active.xpm
@@ -0,0 +1,40 @@
+/* XPM */
+static char * left_active_xpm[] = {
+"6 32 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #E6E6E6 s active_color_2",
+"#	c #A1A1A1 s active_shadow_2",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#"};
diff --git a/themes/curve/left-inactive.xpm b/themes/curve/left-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..889727b90c6c5ac325fb520be243b58fc1e78391
--- /dev/null
+++ b/themes/curve/left-inactive.xpm
@@ -0,0 +1,40 @@
+/* XPM */
+static char * left_inactive_xpm[] = {
+"6 32 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_2",
+"@	c #E6E6E6 s inactive_color_2",
+"#	c #A1A1A1 s inactive_shadow_2",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#",
+".+@@@#"};
diff --git a/themes/curve/maximize-active.xpm b/themes/curve/maximize-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..36bd21625e2b57fe45fbf0094ef2daa058c7a762
--- /dev/null
+++ b/themes/curve/maximize-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * maximize_active_xpm[] = {
+"21 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #919191 s active_shadow_2",
+"#	c #E6E6E6 s active_color_2",
+"%	c #474747",
+".....................",
+"++++++++++++++++++++@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+####@%%%%%%%%@#####@",
+"+####%%%%%%%%%%#####@",
+"+####%%%%%%%%%%#####@",
+"+####%%%%%%%%%%#####@",
+"+####%########%#####@",
+"+####%########%#####@",
+"+####%########%#####@",
+"+####%########%#####@",
+"+####%########%#####@",
+"+####@%%%%%%%%@#####@",
+"+###################@",
+"+###################@",
+"+###################@",
+"+###################@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/maximize-inactive.xpm b/themes/curve/maximize-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..eeb212f386640f8652e7db00e9c1aaf6ba090d13
--- /dev/null
+++ b/themes/curve/maximize-inactive.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * maximize_inactive_xpm[] = {
+"20 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #CBCBCB s inactive_mid_1",
+"$	c #828282 s inactive_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@#$$$$$$$$#@@@@@",
+"@@@@@$$$$$$$$$$@@@@@",
+"@@@@@$$$$$$$$$$@@@@@",
+"@@@@@$$$$$$$$$$@@@@@",
+"@@@@@$@@@@@@@@$@@@@@",
+"@@@@@$@@@@@@@@$@@@@@",
+"@@@@@$@@@@@@@@$@@@@@",
+"@@@@@$@@@@@@@@$@@@@@",
+"@@@@@$@@@@@@@@$@@@@@",
+"@@@@@#$$$$$$$$#@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"$$$$$$$$$$$$$$$$$$$$"};
diff --git a/themes/curve/maximize-pressed.xpm b/themes/curve/maximize-pressed.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..0d68fe22b79156faadae928b2cd2e3f5d61da243
--- /dev/null
+++ b/themes/curve/maximize-pressed.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * maximize_pressed_xpm[] = {
+"21 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #CBCBCB s inactive_mid_2",
+"@	c #A7A7A7 s inactive_shadow_2",
+"#	c #828282 s inactive_shadow_2",
+".....................",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"+++++#........#+++++@",
+"+++++..........+++++@",
+"+++++..........+++++@",
+"+++++..........+++++@",
+"+++++.++++++++.+++++@",
+"+++++.++++++++.+++++@",
+"+++++.++++++++.+++++@",
+"+++++.++++++++.+++++@",
+"+++++.++++++++.+++++@",
+"+++++#........#+++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"++++++++++++++++++++@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/menu-active.xpm b/themes/curve/menu-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..aea76cb38b3464ac91d42888b8bd52b79f4309f1
--- /dev/null
+++ b/themes/curve/menu-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * menu_active_xpm[] = {
+"21 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #919191 s active_shadow_2",
+"#	c #E6E6E6 s active_color_2",
+"$	c #474747",
+".....................",
+"++++++++++++++++++++@",
+"####################@",
+"####################@",
+"####################@",
+"####################@",
+"#####$$######$$#####@",
+"####$$$$####$$$$####@",
+"####$$$$$##$$$$$####@",
+"#####$$$$$$$$$$#####@",
+"######$$$$$$$$######@",
+"#######$$$$$$#######@",
+"########$$$$########@",
+"#########$$#########@",
+"####################@",
+"####################@",
+"####################@",
+"####################@",
+"####################@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/menu-inactive.xpm b/themes/curve/menu-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..24094a71a48818a1cf904341018c29c8fc699741
--- /dev/null
+++ b/themes/curve/menu-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * menu_inactive_xpm[] = {
+"20 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #828282 s inactive_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@##@@@@@@##@@@@@",
+"@@@@####@@@@####@@@@",
+"@@@@#####@@#####@@@@",
+"@@@@@##########@@@@@",
+"@@@@@@########@@@@@@",
+"@@@@@@@######@@@@@@@",
+"@@@@@@@@####@@@@@@@@",
+"@@@@@@@@@##@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"####################"};
diff --git a/themes/curve/menu-pressed.xpm b/themes/curve/menu-pressed.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..836c35b0acbfc830b3cf9cf84936cae42102444b
--- /dev/null
+++ b/themes/curve/menu-pressed.xpm
@@ -0,0 +1,27 @@
+/* XPM */
+static char * menu_pressed_xpm[] = {
+"21 20 4 1",
+" 	c None",
+".	c #000000",
+"+	c #CBCBCB s active_mid_2",
+"@	c #A7A7A7 s active_shadow_2",
+".....................",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@++++..++++++..+++++@",
+"@+++....++++....++++@",
+"@+++.....++.....++++@",
+"@++++..........+++++@",
+"@+++++........++++++@",
+"@++++++......+++++++@",
+"@+++++++....++++++++@",
+"@++++++++..+++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@+++++++++++++++++++@",
+"@@@@@@@@@@@@@@@@@@@@@"};
diff --git a/themes/curve/right-active.xpm b/themes/curve/right-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..c1a61ddda574b177ddfe17b5be8f01643d91d4de
--- /dev/null
+++ b/themes/curve/right-active.xpm
@@ -0,0 +1,40 @@
+/* XPM */
+static char * right_active_xpm[] = {
+"6 32 5 1",
+" 	c None",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #E6E6E6 s active_color_2",
+"#	c #B8B8B8 s active_shadow_2",
+"$	c #000000",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$"};
diff --git a/themes/curve/right-inactive.xpm b/themes/curve/right-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..a4fbe7cddb6ea037d6762dc531f62b86caf7e1b9
--- /dev/null
+++ b/themes/curve/right-inactive.xpm
@@ -0,0 +1,40 @@
+/* XPM */
+static char * right_inactive_xpm[] = {
+"6 32 5 1",
+" 	c None",
+"+	c #FFFFFF s inactive_hilight_2",
+"@	c #E6E6E6 s inactive_color_2",
+"#	c #B8B8B8 s inactive_shadow_2",
+"$	c #000000",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$",
+"#+@@#$"};
diff --git a/themes/curve/themerc b/themes/curve/themerc
new file mode 100644
index 0000000000000000000000000000000000000000..519ab2a3001d8dba545bbb0b9e2031cd41f43254
--- /dev/null
+++ b/themes/curve/themerc
@@ -0,0 +1,5 @@
+full_width_title=true
+button_offset=0
+button_spacing=0
+title_vertical_offset=0
+button_layout=O|HMC
diff --git a/themes/curve/title-1-active.xpm b/themes/curve/title-1-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..dbd45f960396c0263633667cdd27f58904f670ec
--- /dev/null
+++ b/themes/curve/title-1-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_1_active_xpm[] = {
+"1 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #E6E6E6 s active_color_2",
+"#	c #919191 s active_shadow_2",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#"};
diff --git a/themes/curve/title-1-inactive.xpm b/themes/curve/title-1-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..b5cd11f31c62552402038c77d7d6b04633fea5ed
--- /dev/null
+++ b/themes/curve/title-1-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_1_inactive_xpm[] = {
+"1 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #919191 s inactive_shadow_1",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#"};
diff --git a/themes/curve/title-2-active.xpm b/themes/curve/title-2-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..11916aeb39cbb455651e3cbde46ab2cf3f1590eb
--- /dev/null
+++ b/themes/curve/title-2-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_2_active_xpm[] = {
+"8 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #B2BAE9 s active_hilight_1",
+"@	c #848FD6 s active_mid_1",
+"#	c #525FAB s active_color_1",
+"$	c #4B58A2 s active_shadow_1",
+"........",
+".+++++++",
+".@@@@@@@",
+".#+###+#",
+".+###+##",
+".###+###",
+".##+###+",
+".#+###+#",
+".+###+##",
+".###+###",
+".##+###+",
+".#+###+#",
+".+###+##",
+".###+###",
+".##+###+",
+".#+###+#",
+".+###+##",
+".###+###",
+".$$$$$$$",
+"........"};
diff --git a/themes/curve/title-2-inactive.xpm b/themes/curve/title-2-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..9d66d23453517b678ca39b7801d75b4eb49fee61
--- /dev/null
+++ b/themes/curve/title-2-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_2_inactive_xpm[] = {
+"8 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #919191 s inactive_shadow_1",
+"@	c #FFFFFF s inactive_hilight_1",
+"#	c #E6E6E6 s inactive_color_1",
+"........",
+"+@@@@@@@",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"+#######",
+"++++++++"};
diff --git a/themes/curve/title-3-active.xpm b/themes/curve/title-3-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..f76b909e4f4cc33c6505de0768b091af43f81dcd
--- /dev/null
+++ b/themes/curve/title-3-active.xpm
@@ -0,0 +1,29 @@
+/* XPM */
+static char * title_3_active_xpm[] = {
+"20 20 6 1",
+" 	c None",
+".	c #000000",
+"+	c #B2BAE9 s active_hilight_1",
+"@	c #525FAB s active_color_1",
+"#	c #848FD6 s active_mid_1",
+"$	c #4B58A2 s active_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"####################",
+"@@+@@@+@@@+@@@+@@@+@",
+"@+@@@+@@@+@@@+@@@+@@",
+"+@@@+@@@+@@@+@@@+@@@",
+"@@@+@@@+@@@+@@@+@@@+",
+"@@+@@@+@@@+@@@+@@@+@",
+"@+@@@+@@@+@@@+@@@+@@",
+"+@@@+@@@+@@@+@@@+@@@",
+"@@@+@@@+@@@+@@@+@@@+",
+"@@+@@@+@@@+@@@+@@@+@",
+"@+@@@+@@@+@@@+@@@+@@",
+"+@@@+@@@+@@@+@@@+@@@",
+"@@@+@@@+@@@+@@@+@@@+",
+"@@+@@@+@@@+@@@+@@@+@",
+"@+@@@+@@@+@@@+@@@+@@",
+"+@@@+@@@+@@@+@@@+@@@",
+"$$$$$$$$$$$$$$$$$$$$",
+"...................."};
diff --git a/themes/curve/title-3-inactive.xpm b/themes/curve/title-3-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..478cc419b8dfa6ed8b5b600e10b362559562735b
--- /dev/null
+++ b/themes/curve/title-3-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_3_ininactive_xpm[] = {
+"20 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #919191 s inactive_shadow_1",
+"....................",
+"++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"@@@@@@@@@@@@@@@@@@@@",
+"####################"};
diff --git a/themes/curve/title-4-active.xpm b/themes/curve/title-4-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..a3b38eaee7de5510ef6b3401eaf6e6fdf4911a86
--- /dev/null
+++ b/themes/curve/title-4-active.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char * title_4_active_xpm[] = {
+"1 20 2 1",
+" 	c None",
+".	c #000000",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+".",
+"."};
diff --git a/themes/curve/title-4-inactive.xpm b/themes/curve/title-4-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..f0356a86706b888d21137cd0db23daa990bb782f
--- /dev/null
+++ b/themes/curve/title-4-inactive.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * title_4_ininactive_xpm[] = {
+"1 20 3 1",
+" 	c None",
+".	c #000000",
+"+	c #919191 s inactive_shadow_1",
+".",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+",
+"+"};
diff --git a/themes/curve/title-5-active.xpm b/themes/curve/title-5-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..af6abff100a794ecdf6b8e7f58a6c3b5c8e3500c
--- /dev/null
+++ b/themes/curve/title-5-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_5_active_xpm[] = {
+"1 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #E6E6E6 s active_color_2",
+"#	c #919191 s active_shadow_2",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#"};
diff --git a/themes/curve/title-5-inactive.xpm b/themes/curve/title-5-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..253d05530bbc960ce382fdd9a96a48d788056c51
--- /dev/null
+++ b/themes/curve/title-5-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * title_5_ininactive_xpm[] = {
+"1 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #E6E6E6 s inactive_color_1",
+"#	c #919191 s inactive_shadow_1",
+".",
+"+",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"@",
+"#"};
diff --git a/themes/curve/top-left-active.xpm b/themes/curve/top-left-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..057fbd3cd5912c4265a27ce424bca2b887b4fd85
--- /dev/null
+++ b/themes/curve/top-left-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * top_left_active_xpm[] = {
+"6 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"@	c #919191 s active_shadow_2",
+"#	c #E6E6E6 s active_color_2",
+"     .",
+"   ..+",
+"  .++#",
+" .+###",
+" .+###",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".@@@@@"};
diff --git a/themes/curve/top-left-inactive.xpm b/themes/curve/top-left-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..4e3745a937ba7c124648f67496758d8bdda3b9a6
--- /dev/null
+++ b/themes/curve/top-left-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * top_left_ininactive_xpm[] = {
+"6 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"@	c #919191 s inactive_shadow_1",
+"#	c #E6E6E6 s inactive_color_1",
+"     .",
+"   ..+",
+"  .++#",
+" .+###",
+" .+###",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".+####",
+".@@@@@"};
diff --git a/themes/curve/top-right-active.xpm b/themes/curve/top-right-active.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..37ab88bd39f01f4dcb13817bcc3c325f1945993e
--- /dev/null
+++ b/themes/curve/top-right-active.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * top_right_active_xpm[] = {
+"6 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s active_hilight_2",
+"#	c #E6E6E6 s active_color_2",
+"$	c #919191 s active_shadow_2",
+".     ",
+"+..   ",
+"#++.  ",
+"###$. ",
+"###$. ",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"$$$$$."};
diff --git a/themes/curve/top-right-inactive.xpm b/themes/curve/top-right-inactive.xpm
new file mode 100644
index 0000000000000000000000000000000000000000..e23c4d65b684006ccc32090f19d372880dc3d509
--- /dev/null
+++ b/themes/curve/top-right-inactive.xpm
@@ -0,0 +1,28 @@
+/* XPM */
+static char * top_right_ininactive_xpm[] = {
+"6 20 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF s inactive_hilight_1",
+"#	c #E6E6E6 s inactive_color_1",
+"$	c #919191 s inactive_shadow_1",
+".     ",
+"+..   ",
+"#++.  ",
+"###$. ",
+"###$. ",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"####$.",
+"$$$$$."};
diff --git a/xfwm4.spec.in b/xfwm4.spec.in
index 593a7d646c2c9a8185bfda8d10f80820869dfe03..32e6a3910392e48df148461eac87364566cca75b 100644
--- a/xfwm4.spec.in
+++ b/xfwm4.spec.in
@@ -49,6 +49,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/*
 %{_datadir}/xfwm4/defaults
 %{_datadir}/xfwm4/themes/bbs
+%{_datadir}/xfwm4/themes/curve
 %{_datadir}/xfwm4/themes/exocet
 %{_datadir}/xfwm4/themes/kindaker