From 10c8e7da87de2219fad19fd899e97257164e4830 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Fri, 3 Aug 2012 22:11:36 +0300
Subject: Extend background theming.

---
 data/graphics/gui/CMakeLists.txt     |  5 +++++
 data/graphics/gui/Makefile.am        |  7 ++++++-
 data/graphics/gui/buy.xml            | 24 ++++++++++++++++++++++++
 data/graphics/gui/sell.xml           | 24 ++++++++++++++++++++++++
 data/graphics/gui/server.xml         | 24 ++++++++++++++++++++++++
 data/graphics/gui/shop.xml           | 25 +++++++++++++++++++++++++
 data/graphics/gui/world.xml          | 24 ++++++++++++++++++++++++
 data/themes/enchilado/CMakeLists.txt |  5 +++++
 data/themes/enchilado/Makefile.am    |  7 ++++++-
 data/themes/enchilado/buy.xml        | 24 ++++++++++++++++++++++++
 data/themes/enchilado/sell.xml       | 24 ++++++++++++++++++++++++
 data/themes/enchilado/server.xml     | 24 ++++++++++++++++++++++++
 data/themes/enchilado/shop.xml       | 25 +++++++++++++++++++++++++
 data/themes/enchilado/world.xml      | 24 ++++++++++++++++++++++++
 data/themes/pink/CMakeLists.txt      |  5 +++++
 data/themes/pink/Makefile.am         |  7 ++++++-
 data/themes/pink/buy.xml             | 24 ++++++++++++++++++++++++
 data/themes/pink/sell.xml            | 24 ++++++++++++++++++++++++
 data/themes/pink/server.xml          | 24 ++++++++++++++++++++++++
 data/themes/pink/shop.xml            | 25 +++++++++++++++++++++++++
 data/themes/pink/world.xml           | 24 ++++++++++++++++++++++++
 data/themes/unity/CMakeLists.txt     |  5 +++++
 data/themes/unity/Makefile.am        |  7 ++++++-
 data/themes/unity/buy.xml            | 25 +++++++++++++++++++++++++
 data/themes/unity/sell.xml           | 25 +++++++++++++++++++++++++
 data/themes/unity/server.xml         | 25 +++++++++++++++++++++++++
 data/themes/unity/shop.xml           | 26 ++++++++++++++++++++++++++
 data/themes/unity/world.xml          | 25 +++++++++++++++++++++++++
 data/themes/wood/CMakeLists.txt      |  5 +++++
 data/themes/wood/Makefile.am         |  7 ++++++-
 data/themes/wood/buy.xml             | 24 ++++++++++++++++++++++++
 data/themes/wood/sell.xml            | 24 ++++++++++++++++++++++++
 data/themes/wood/server.xml          | 24 ++++++++++++++++++++++++
 data/themes/wood/shop.xml            | 25 +++++++++++++++++++++++++
 data/themes/wood/world.xml           | 24 ++++++++++++++++++++++++
 src/gui/botcheckerwindow.cpp         |  3 ++-
 src/gui/buydialog.cpp                |  3 ++-
 src/gui/didyouknowwindow.cpp         |  3 ++-
 src/gui/helpwindow.cpp               |  2 +-
 src/gui/inventorywindow.cpp          |  2 +-
 src/gui/npcdialog.cpp                |  4 ++--
 src/gui/questswindow.cpp             |  4 ++--
 src/gui/selldialog.cpp               |  3 ++-
 src/gui/serverdialog.cpp             |  3 ++-
 src/gui/setup_colors.cpp             |  5 +++--
 src/gui/setup_input.cpp              |  3 ++-
 src/gui/setup_video.cpp              |  3 ++-
 src/gui/shopwindow.cpp               |  6 ++++--
 src/gui/socialwindow.cpp             | 24 ++++++++++++++++--------
 src/gui/tradewindow.cpp              |  6 ++++--
 src/gui/updaterwindow.cpp            |  2 +-
 src/gui/widgets/dropdown.cpp         |  3 +--
 src/gui/worldselectdialog.cpp        |  3 ++-
 53 files changed, 716 insertions(+), 36 deletions(-)
 create mode 100644 data/graphics/gui/buy.xml
 create mode 100644 data/graphics/gui/sell.xml
 create mode 100644 data/graphics/gui/server.xml
 create mode 100644 data/graphics/gui/shop.xml
 create mode 100644 data/graphics/gui/world.xml
 create mode 100644 data/themes/enchilado/buy.xml
 create mode 100644 data/themes/enchilado/sell.xml
 create mode 100644 data/themes/enchilado/server.xml
 create mode 100644 data/themes/enchilado/shop.xml
 create mode 100644 data/themes/enchilado/world.xml
 create mode 100644 data/themes/pink/buy.xml
 create mode 100644 data/themes/pink/sell.xml
 create mode 100644 data/themes/pink/server.xml
 create mode 100644 data/themes/pink/shop.xml
 create mode 100644 data/themes/pink/world.xml
 create mode 100644 data/themes/unity/buy.xml
 create mode 100644 data/themes/unity/sell.xml
 create mode 100644 data/themes/unity/server.xml
 create mode 100644 data/themes/unity/shop.xml
 create mode 100644 data/themes/unity/world.xml
 create mode 100644 data/themes/wood/buy.xml
 create mode 100644 data/themes/wood/sell.xml
 create mode 100644 data/themes/wood/server.xml
 create mode 100644 data/themes/wood/shop.xml
 create mode 100644 data/themes/wood/world.xml

diff --git a/data/graphics/gui/CMakeLists.txt b/data/graphics/gui/CMakeLists.txt
index 7e051edef..f0e54313d 100644
--- a/data/graphics/gui/CMakeLists.txt
+++ b/data/graphics/gui/CMakeLists.txt
@@ -6,6 +6,7 @@ SET (FILES
     button_highlighted.xml
     button_pressed.xml
     buttonplay.png
+    buy.xml
     charcreate_playerbox.xml
     checkbox.xml
     circle-off.xml
@@ -34,6 +35,9 @@ SET (FILES
     scroll_highlighted.xml
     scrollbuttons.xml
     scrollbuttons_pressed.xml
+    sell.xml
+    server.xml
+    shop.xml
     slider.xml
     slider_highlighted.xml
     speechbubble.xml
@@ -51,6 +55,7 @@ SET (FILES
     unknown-item.png
     window.png
     window.xml
+    world.xml
     )
 
 INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/graphics/gui)
diff --git a/data/graphics/gui/Makefile.am b/data/graphics/gui/Makefile.am
index 723ddb373..824d7644f 100644
--- a/data/graphics/gui/Makefile.am
+++ b/data/graphics/gui/Makefile.am
@@ -9,6 +9,7 @@ gui_DATA =				\
 	button_highlighted.xml	\
 	button_pressed.xml		\
 	buttonplay.png			\
+	buy.xml			\
 	charcreate_playerbox.xml	\
 	checkbox.xml			\
 	circle-off.xml			\
@@ -37,6 +38,9 @@ gui_DATA =				\
 	scroll_highlighted.xml	\
 	scrollbuttons.xml			\
 	scrollbuttons_pressed.xml\
+	sell.xml			\
+	server.xml			\
+	shop.xml			\
 	slider.xml			\
 	slider_highlighted.xml		\
 	speechbubble.xml		\
@@ -53,7 +57,8 @@ gui_DATA =				\
 	textfield_background.xml		\
 	unknown-item.png		\
 	window.png			\
-	window.xml
+	window.xml			\
+	world.xml
 
 EXTRA_DIST =				\
 	$(gui_DATA) \
diff --git a/data/graphics/gui/buy.xml b/data/graphics/gui/buy.xml
new file mode 100644
index 000000000..8e2eef818
--- /dev/null
+++ b/data/graphics/gui/buy.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="4" height="4" />
+        <part type="top-edge" xpos="4" ypos="0" width="32" height="4" />
+        <part type="top-right-corner" xpos="36" ypos="0" width="4" height="4" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="4" width="4" height="216" />
+        <part type="bg-quad" xpos="4" ypos="4" width="32" height="216" />
+        <part type="right-edge" xpos="36" ypos="4" width="4" height="216" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="220" width="4" height="4" />
+        <part type="bottom-edge" xpos="4" ypos="220" width="32" height="4" />
+        <part type="bottom-right-corner" xpos="36" ypos="220" width="4" height="4" />
+
+        <part type="closeImage" xpos="130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="145" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/graphics/gui/sell.xml b/data/graphics/gui/sell.xml
new file mode 100644
index 000000000..8e2eef818
--- /dev/null
+++ b/data/graphics/gui/sell.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="4" height="4" />
+        <part type="top-edge" xpos="4" ypos="0" width="32" height="4" />
+        <part type="top-right-corner" xpos="36" ypos="0" width="4" height="4" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="4" width="4" height="216" />
+        <part type="bg-quad" xpos="4" ypos="4" width="32" height="216" />
+        <part type="right-edge" xpos="36" ypos="4" width="4" height="216" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="220" width="4" height="4" />
+        <part type="bottom-edge" xpos="4" ypos="220" width="32" height="4" />
+        <part type="bottom-right-corner" xpos="36" ypos="220" width="4" height="4" />
+
+        <part type="closeImage" xpos="130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="145" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/graphics/gui/server.xml b/data/graphics/gui/server.xml
new file mode 100644
index 000000000..8e2eef818
--- /dev/null
+++ b/data/graphics/gui/server.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="4" height="4" />
+        <part type="top-edge" xpos="4" ypos="0" width="32" height="4" />
+        <part type="top-right-corner" xpos="36" ypos="0" width="4" height="4" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="4" width="4" height="216" />
+        <part type="bg-quad" xpos="4" ypos="4" width="32" height="216" />
+        <part type="right-edge" xpos="36" ypos="4" width="4" height="216" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="220" width="4" height="4" />
+        <part type="bottom-edge" xpos="4" ypos="220" width="32" height="4" />
+        <part type="bottom-right-corner" xpos="36" ypos="220" width="4" height="4" />
+
+        <part type="closeImage" xpos="130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="145" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/graphics/gui/shop.xml b/data/graphics/gui/shop.xml
new file mode 100644
index 000000000..45a0a7bec
--- /dev/null
+++ b/data/graphics/gui/shop.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window">
+        <option name="showbuybackground" value="1" />
+        <option name="showsellbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="4" height="4" />
+        <part type="top-edge" xpos="4" ypos="0" width="32" height="4" />
+        <part type="top-right-corner" xpos="36" ypos="0" width="4" height="4" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="4" width="4" height="216" />
+        <part type="bg-quad" xpos="4" ypos="4" width="32" height="216" />
+        <part type="right-edge" xpos="36" ypos="4" width="4" height="216" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="220" width="4" height="4" />
+        <part type="bottom-edge" xpos="4" ypos="220" width="32" height="4" />
+        <part type="bottom-right-corner" xpos="36" ypos="220" width="4" height="4" />
+
+        <part type="closeImage" xpos="130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="145" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/graphics/gui/world.xml b/data/graphics/gui/world.xml
new file mode 100644
index 000000000..8e2eef818
--- /dev/null
+++ b/data/graphics/gui/world.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="4" height="4" />
+        <part type="top-edge" xpos="4" ypos="0" width="32" height="4" />
+        <part type="top-right-corner" xpos="36" ypos="0" width="4" height="4" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="4" width="4" height="216" />
+        <part type="bg-quad" xpos="4" ypos="4" width="32" height="216" />
+        <part type="right-edge" xpos="36" ypos="4" width="4" height="216" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="220" width="4" height="4" />
+        <part type="bottom-edge" xpos="4" ypos="220" width="32" height="4" />
+        <part type="bottom-right-corner" xpos="36" ypos="220" width="4" height="4" />
+
+        <part type="closeImage" xpos="130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="145" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/enchilado/CMakeLists.txt b/data/themes/enchilado/CMakeLists.txt
index 3c4275797..33b0d0092 100644
--- a/data/themes/enchilado/CMakeLists.txt
+++ b/data/themes/enchilado/CMakeLists.txt
@@ -1,9 +1,14 @@
 SET (FILES
+    buy.xml
     colors.xml
     inventory.xml
     quests.xml
+    sell.xml
+    server.xml
+    shops.xml
     window.png
     window.xml
+    world.xml
     )
 
 INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/themes/enchilado)
diff --git a/data/themes/enchilado/Makefile.am b/data/themes/enchilado/Makefile.am
index 1876166a4..98018b3bf 100644
--- a/data/themes/enchilado/Makefile.am
+++ b/data/themes/enchilado/Makefile.am
@@ -2,11 +2,16 @@
 guidir = $(pkgdatadir)/data/themes/enchilado
 
 gui_DATA =				\
+	buy.xml		\
 	colors.xml		\
 	inventory.xml		\
 	quests.xml		\
+	sell.xml		\
+	server.xml		\
+	shop.xml		\
 	window.png			\
-	window.xml
+	window.xml			\
+	world.xml
 
 EXTRA_DIST =				\
 	$(gui_DATA) \
diff --git a/data/themes/enchilado/buy.xml b/data/themes/enchilado/buy.xml
new file mode 100644
index 000000000..6f1006f71
--- /dev/null
+++ b/data/themes/enchilado/buy.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="190" ypos="30">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-60" ypos="-30" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-60" ypos="21" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-45" ypos="21" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/enchilado/sell.xml b/data/themes/enchilado/sell.xml
new file mode 100644
index 000000000..6f1006f71
--- /dev/null
+++ b/data/themes/enchilado/sell.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="190" ypos="30">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-60" ypos="-30" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-60" ypos="21" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-45" ypos="21" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/enchilado/server.xml b/data/themes/enchilado/server.xml
new file mode 100644
index 000000000..6f1006f71
--- /dev/null
+++ b/data/themes/enchilado/server.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="190" ypos="30">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-60" ypos="-30" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-60" ypos="21" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-45" ypos="21" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/enchilado/shop.xml b/data/themes/enchilado/shop.xml
new file mode 100644
index 000000000..47e451913
--- /dev/null
+++ b/data/themes/enchilado/shop.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="190" ypos="30">
+        <option name="showbuybackground" value="1" />
+        <option name="showsellbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-60" ypos="-30" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-60" ypos="21" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-45" ypos="21" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/enchilado/world.xml b/data/themes/enchilado/world.xml
new file mode 100644
index 000000000..6f1006f71
--- /dev/null
+++ b/data/themes/enchilado/world.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="190" ypos="30">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-60" ypos="-30" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-60" ypos="21" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-45" ypos="21" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/pink/CMakeLists.txt b/data/themes/pink/CMakeLists.txt
index 128189528..4c8a7517d 100644
--- a/data/themes/pink/CMakeLists.txt
+++ b/data/themes/pink/CMakeLists.txt
@@ -1,12 +1,17 @@
 SET (FILES
     bubble.png
+    buy.xml
     colors.xml
     inventory.xml
     progress-indicator.png
     quests.xml
+    sell.xml
+    server.xml
+    shop.xml
     unknown-item.png
     window.png
     window.xml
+    world.xml
     )
 
 INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/themes/pink)
diff --git a/data/themes/pink/Makefile.am b/data/themes/pink/Makefile.am
index 3d120b6bf..ac55c1d60 100644
--- a/data/themes/pink/Makefile.am
+++ b/data/themes/pink/Makefile.am
@@ -3,13 +3,18 @@ guidir = $(pkgdatadir)/data/themes/pink
 
 gui_DATA =				\
 	bubble.png			\
+	buy.xml			\
 	colors.xml		\
 	inventory.xml		\
 	progress-indicator.png		\
 	quests.xml		\
+	sell.xml		\
+	server.xml		\
+	shop.xml		\
 	unknown-item.png		\
 	window.xml		\
-	window.png
+	window.png		\
+	world.xml
 
 EXTRA_DIST =				\
 	$(gui_DATA) \
diff --git a/data/themes/pink/buy.xml b/data/themes/pink/buy.xml
new file mode 100644
index 000000000..f6ffe5cc9
--- /dev/null
+++ b/data/themes/pink/buy.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="250" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="0" ypos="10" width="10" height="10" />
+        <part type="top-right-corner" xpos="0" ypos="20" width="10" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="30" width="10" height="10" />
+        <part type="bg-quad" xpos="0" ypos="40" width="10" height="10" />
+        <part type="right-edge" xpos="0" ypos="50" width="10" height="10" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="60" width="10" height="10" />
+        <part type="bottom-edge" xpos="0" ypos="70" width="10" height="10" />
+        <part type="bottom-right-corner" xpos="10" ypos="0" width="132" height="134" />
+
+        <part type="closeImage" xpos="-120" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-120" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-105" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/pink/sell.xml b/data/themes/pink/sell.xml
new file mode 100644
index 000000000..f6ffe5cc9
--- /dev/null
+++ b/data/themes/pink/sell.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="250" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="0" ypos="10" width="10" height="10" />
+        <part type="top-right-corner" xpos="0" ypos="20" width="10" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="30" width="10" height="10" />
+        <part type="bg-quad" xpos="0" ypos="40" width="10" height="10" />
+        <part type="right-edge" xpos="0" ypos="50" width="10" height="10" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="60" width="10" height="10" />
+        <part type="bottom-edge" xpos="0" ypos="70" width="10" height="10" />
+        <part type="bottom-right-corner" xpos="10" ypos="0" width="132" height="134" />
+
+        <part type="closeImage" xpos="-120" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-120" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-105" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/pink/server.xml b/data/themes/pink/server.xml
new file mode 100644
index 000000000..f6ffe5cc9
--- /dev/null
+++ b/data/themes/pink/server.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="250" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="0" ypos="10" width="10" height="10" />
+        <part type="top-right-corner" xpos="0" ypos="20" width="10" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="30" width="10" height="10" />
+        <part type="bg-quad" xpos="0" ypos="40" width="10" height="10" />
+        <part type="right-edge" xpos="0" ypos="50" width="10" height="10" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="60" width="10" height="10" />
+        <part type="bottom-edge" xpos="0" ypos="70" width="10" height="10" />
+        <part type="bottom-right-corner" xpos="10" ypos="0" width="132" height="134" />
+
+        <part type="closeImage" xpos="-120" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-120" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-105" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/pink/shop.xml b/data/themes/pink/shop.xml
new file mode 100644
index 000000000..87be730a7
--- /dev/null
+++ b/data/themes/pink/shop.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="250" ypos="0">
+        <option name="showbuybackground" value="1" />
+        <option name="showsellbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="0" ypos="10" width="10" height="10" />
+        <part type="top-right-corner" xpos="0" ypos="20" width="10" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="30" width="10" height="10" />
+        <part type="bg-quad" xpos="0" ypos="40" width="10" height="10" />
+        <part type="right-edge" xpos="0" ypos="50" width="10" height="10" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="60" width="10" height="10" />
+        <part type="bottom-edge" xpos="0" ypos="70" width="10" height="10" />
+        <part type="bottom-right-corner" xpos="10" ypos="0" width="132" height="134" />
+
+        <part type="closeImage" xpos="-120" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-120" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-105" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/pink/world.xml b/data/themes/pink/world.xml
new file mode 100644
index 000000000..f6ffe5cc9
--- /dev/null
+++ b/data/themes/pink/world.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="250" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="0" ypos="10" width="10" height="10" />
+        <part type="top-right-corner" xpos="0" ypos="20" width="10" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="30" width="10" height="10" />
+        <part type="bg-quad" xpos="0" ypos="40" width="10" height="10" />
+        <part type="right-edge" xpos="0" ypos="50" width="10" height="10" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="60" width="10" height="10" />
+        <part type="bottom-edge" xpos="0" ypos="70" width="10" height="10" />
+        <part type="bottom-right-corner" xpos="10" ypos="0" width="132" height="134" />
+
+        <part type="closeImage" xpos="-120" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-120" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-105" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/unity/CMakeLists.txt b/data/themes/unity/CMakeLists.txt
index d95601721..1838a56ae 100644
--- a/data/themes/unity/CMakeLists.txt
+++ b/data/themes/unity/CMakeLists.txt
@@ -1,5 +1,6 @@
 SET (FILES
     beingpopup.xml
+    buy.xml
     char.xml
     colors.xml
     inventory.xml
@@ -7,10 +8,14 @@ SET (FILES
     npc.xml
     popup.xml
     quests.xml
+    sell.xml
+    server.xml
+    shop.xml
     social.xml
     textpopup.xml
     window.png
     window.xml
+    world.xml
     )
 
 INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/themes/unity)
diff --git a/data/themes/unity/Makefile.am b/data/themes/unity/Makefile.am
index b654ea853..a52571278 100644
--- a/data/themes/unity/Makefile.am
+++ b/data/themes/unity/Makefile.am
@@ -3,6 +3,7 @@ guidir = $(pkgdatadir)/data/themes/unity
 
 gui_DATA =				\
 	beingpopup.xml			\
+	buy.xml			\
 	char.xml			\
 	colors.xml		\
 	inventory.xml		\
@@ -10,10 +11,14 @@ gui_DATA =				\
 	npc.xml		\
 	popup.xml		\
 	quests.xml		\
+	sell.xml		\
+	server.xml		\
+	shop.xml		\
 	social.xml		\
 	textpopup.xml			\
 	window.png			\
-	window.xml
+	window.xml			\
+	world.xml
 
 EXTRA_DIST =				\
 	$(gui_DATA) \
diff --git a/data/themes/unity/buy.xml b/data/themes/unity/buy.xml
new file mode 100644
index 000000000..9311e5d26
--- /dev/null
+++ b/data/themes/unity/buy.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="padding" value="10" />
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/unity/sell.xml b/data/themes/unity/sell.xml
new file mode 100644
index 000000000..9311e5d26
--- /dev/null
+++ b/data/themes/unity/sell.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="padding" value="10" />
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/unity/server.xml b/data/themes/unity/server.xml
new file mode 100644
index 000000000..9311e5d26
--- /dev/null
+++ b/data/themes/unity/server.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="padding" value="10" />
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/unity/shop.xml b/data/themes/unity/shop.xml
new file mode 100644
index 000000000..b0b2e0219
--- /dev/null
+++ b/data/themes/unity/shop.xml
@@ -0,0 +1,26 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="padding" value="10" />
+        <option name="showbuybackground" value="1" />
+        <option name="showsellbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/unity/world.xml b/data/themes/unity/world.xml
new file mode 100644
index 000000000..9311e5d26
--- /dev/null
+++ b/data/themes/unity/world.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="padding" value="10" />
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" xpos="0" ypos="0" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/wood/CMakeLists.txt b/data/themes/wood/CMakeLists.txt
index 97e8f3656..d1ec80766 100644
--- a/data/themes/wood/CMakeLists.txt
+++ b/data/themes/wood/CMakeLists.txt
@@ -1,11 +1,16 @@
 SET (FILES
+    buy.xml
     colors.xml
     inventory.xml
     item_shortcut_bgr.png
     mouse.png
     quests.xml
+    sell.xml
+    server.xml
+    shop.xml
     window.png
     window.xml
+    world.xml
     )
 
 INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/themes/wood)
diff --git a/data/themes/wood/Makefile.am b/data/themes/wood/Makefile.am
index 539d72a60..1011022fc 100644
--- a/data/themes/wood/Makefile.am
+++ b/data/themes/wood/Makefile.am
@@ -2,13 +2,18 @@
 guidir = $(pkgdatadir)/data/themes/wood
 
 gui_DATA =				\
+	buy.xml		\
 	colors.xml		\
 	inventory.xml		\
 	item_shortcut_bgr.png		\
 	mouse.png			\
 	quests.xml			\
+	sell.xml			\
+	server.xml			\
+	shop.xml			\
 	window.png			\
-	window.xml
+	window.xml			\
+	world.xml
 
 EXTRA_DIST =				\
 	$(gui_DATA) \
diff --git a/data/themes/wood/buy.xml b/data/themes/wood/buy.xml
new file mode 100644
index 000000000..39c568e78
--- /dev/null
+++ b/data/themes/wood/buy.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/wood/sell.xml b/data/themes/wood/sell.xml
new file mode 100644
index 000000000..39c568e78
--- /dev/null
+++ b/data/themes/wood/sell.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/wood/server.xml b/data/themes/wood/server.xml
new file mode 100644
index 000000000..39c568e78
--- /dev/null
+++ b/data/themes/wood/server.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/wood/shop.xml b/data/themes/wood/shop.xml
new file mode 100644
index 000000000..0ca7971a6
--- /dev/null
+++ b/data/themes/wood/shop.xml
@@ -0,0 +1,25 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="showbuybackground" value="1" />
+        <option name="showsellbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/data/themes/wood/world.xml b/data/themes/wood/world.xml
new file mode 100644
index 000000000..39c568e78
--- /dev/null
+++ b/data/themes/wood/world.xml
@@ -0,0 +1,24 @@
+<skinset name="Default" image="window.png">
+    <widget type="Window" xpos="260" ypos="0">
+        <option name="showbackground" value="1" />
+
+        <!-- Top Row -->
+        <part type="top-left-corner" width="10" height="10" />
+        <part type="top-edge" xpos="11" ypos="0" width="127" height="10" />
+        <part type="top-right-corner" xpos="139" ypos="0" width="12" height="10" />
+
+        <!-- Middle Row -->
+        <part type="left-edge" xpos="0" ypos="11" width="10" height="81" />
+        <part type="bg-quad" xpos="11" ypos="11" width="127" height="81" />
+        <part type="right-edge" xpos="139" ypos="11" width="12" height="81" />
+
+        <!-- Bottom Row -->
+        <part type="bottom-left-corner" xpos="0" ypos="93" width="10" height="12" />
+        <part type="bottom-edge" xpos="11" ypos="93" width="127" height="12" />
+        <part type="bottom-right-corner" xpos="139" ypos="93" width="12" height="12" />
+
+        <part type="closeImage" xpos="-130" ypos="0" width="15" height="15" />
+        <part type="stickyImageUp" xpos="-130" ypos="51" width="15" height="15" />
+        <part type="stickyImageDown" xpos="-115" ypos="51" width="15" height="15" />
+    </widget>
+</skinset>
diff --git a/src/gui/botcheckerwindow.cpp b/src/gui/botcheckerwindow.cpp
index 2a811fc3a..7ef349916 100644
--- a/src/gui/botcheckerwindow.cpp
+++ b/src/gui/botcheckerwindow.cpp
@@ -307,7 +307,8 @@ BotCheckerWindow::BotCheckerWindow():
     setStickyButtonLock(true);
     setDefaultSize(w, h, ImageRect::CENTER);
 
-    playersScrollArea = new ScrollArea(mTable);
+    playersScrollArea = new ScrollArea(mTable,
+        true, "bochecker_background.xml");
 
     mIncButton = new Button(_("Reset"), "reset", this);
     playersScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
diff --git a/src/gui/buydialog.cpp b/src/gui/buydialog.cpp
index df64a5a61..da2e6cd7a 100644
--- a/src/gui/buydialog.cpp
+++ b/src/gui/buydialog.cpp
@@ -85,7 +85,8 @@ void BuyDialog::init()
     mShopItems = new ShopItems;
 
     mShopItemList = new ShopListBox(mShopItems, mShopItems);
-    mScrollArea = new ScrollArea(mShopItemList);
+    mScrollArea = new ScrollArea(mShopItemList,
+        getOptionBool("showBackground"), "buy_background.xml");
     mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mSlider = new Slider(1.0);
diff --git a/src/gui/didyouknowwindow.cpp b/src/gui/didyouknowwindow.cpp
index dc86c3ce9..4a957da39 100644
--- a/src/gui/didyouknowwindow.cpp
+++ b/src/gui/didyouknowwindow.cpp
@@ -64,7 +64,8 @@ DidYouKnowWindow::DidYouKnowWindow():
 
     mBrowserBox = new BrowserBox;
     mBrowserBox->setOpaque(false);
-    mScrollArea = new ScrollArea(mBrowserBox);
+    mScrollArea = new ScrollArea(mBrowserBox,
+        true, "didyouknow_background.xml");
     Button *okButton = new Button(_("Close"), "close", this);
     mButtonPrev = new Button(_("< Previous"), "prev", this);
     mButtonNext = new Button(_("Next >"), "next", this);
diff --git a/src/gui/helpwindow.cpp b/src/gui/helpwindow.cpp
index f88394f82..b6a8fcd81 100644
--- a/src/gui/helpwindow.cpp
+++ b/src/gui/helpwindow.cpp
@@ -61,7 +61,7 @@ HelpWindow::HelpWindow():
 
     mBrowserBox = new BrowserBox;
     mBrowserBox->setOpaque(false);
-    mScrollArea = new ScrollArea(mBrowserBox);
+    mScrollArea = new ScrollArea(mBrowserBox, true, "help_background.xml");
     Button *okButton = new Button(_("Close"), "close", this);
 
     mScrollArea->setDimension(gcn::Rectangle(5, 5, 445,
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index b448ef80d..6417a668a 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -136,7 +136,7 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
     mItems->addSelectionListener(this);
 
     gcn::ScrollArea *invenScroll = new ScrollArea(
-        mItems, getOptionBool("showbackground"));
+        mItems, getOptionBool("showbackground"), "inventory_background.xml");
     invenScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mSlotsLabel = new Label(_("Slots:"));
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index 240b53890..3c6262d03 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -101,7 +101,7 @@ NpcDialog::NpcDialog(int npcId) :
     mTextBox->setFont(gui->getNpcFont());
 
     mScrollArea = new ScrollArea(mTextBox,
-        getOptionBool("showtextbackground"));
+        getOptionBool("showtextbackground"), "npc_textbackground.xml");
     mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
     mScrollArea->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
 
@@ -120,7 +120,7 @@ NpcDialog::NpcDialog(int npcId) :
     setContentSize(260, 175);
 
     mListScrollArea = new ScrollArea(mItemList,
-        getOptionBool("showlistbackground"));
+        getOptionBool("showlistbackground"), "npc_listbackground.xml");
     mListScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mItemList->setVisible(true);
diff --git a/src/gui/questswindow.cpp b/src/gui/questswindow.cpp
index 8969c51e8..ebbb7f615 100644
--- a/src/gui/questswindow.cpp
+++ b/src/gui/questswindow.cpp
@@ -87,11 +87,11 @@ QuestsWindow::QuestsWindow() :
     mQuestsModel(new QuestsModel),
     mQuestsListBox(new ExtendedListBox(mQuestsModel)),
     mQuestScrollArea(new ScrollArea(mQuestsListBox,
-        getOptionBool("showlistbackground"))),
+        getOptionBool("showlistbackground"), "quests_list_background.xml")),
     mItemLinkHandler(new ItemLinkHandler),
     mText(new BrowserBox(BrowserBox::AUTO_WRAP)),
     mTextScrollArea(new ScrollArea(mText,
-        getOptionBool("showtextbackground"))),
+        getOptionBool("showtextbackground"), "quests_text_background.xml")),
     mCloseButton(new Button(_("Close"), "close", this)),
     mCompleteIcon(Theme::getImageFromThemeXml("complete_icon.xml", "")),
     mIncompleteIcon(Theme::getImageFromThemeXml("incomplete_icon.xml", ""))
diff --git a/src/gui/selldialog.cpp b/src/gui/selldialog.cpp
index 931f9daf7..cb4fca993 100644
--- a/src/gui/selldialog.cpp
+++ b/src/gui/selldialog.cpp
@@ -78,7 +78,8 @@ void SellDialog::init()
     mShopItems = new ShopItems(true);
 
     mShopItemList = new ShopListBox(mShopItems, mShopItems);
-    mScrollArea = new ScrollArea(mShopItemList);
+    mScrollArea = new ScrollArea(mShopItemList, getOptionBool("showbackground"),
+        "sell_background.xml");
     mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mSlider = new Slider(1.0);
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index a0cfda292..0badba504 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -267,7 +267,8 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
     mServersList = new ServersListBox(mServersListModel);
     mServersList->addMouseListener(this);
 
-    ScrollArea *usedScroll = new ScrollArea(mServersList);
+    ScrollArea *usedScroll = new ScrollArea(mServersList,
+        getOptionBool("showbackground"), "server_background.xml");
     usedScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     int n = 0;
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index cbad6f4d9..76ff9badc 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -57,7 +57,7 @@ Setup_Colors::Setup_Colors() :
     mColorBox = new ListBox(userPalette);
     mColorBox->addSelectionListener(this);
 
-    mScroll = new ScrollArea(mColorBox);
+    mScroll = new ScrollArea(mColorBox, true, "setup_colors_background.xml");
     mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mTextPreview = new TextPreview(rawmsg);
@@ -68,7 +68,8 @@ Setup_Colors::Setup_Colors() :
     // don't do anything with links
     mPreview->setLinkHandler(nullptr);
 
-    mPreviewBox = new ScrollArea(mPreview);
+    mPreviewBox = new ScrollArea(mPreview, true,
+        "setup_colors_preview_background.xml");
     mPreviewBox->setHeight(20);
     mPreviewBox->setScrollPolicy(gcn::ScrollArea::SHOW_NEVER,
                                  gcn::ScrollArea::SHOW_NEVER);
diff --git a/src/gui/setup_input.cpp b/src/gui/setup_input.cpp
index c1722b6a5..5049ce962 100644
--- a/src/gui/setup_input.cpp
+++ b/src/gui/setup_input.cpp
@@ -118,7 +118,8 @@ Setup_Input::Setup_Input():
 
     mKeyList->addActionListener(this);
 
-    ScrollArea *scrollArea = new ScrollArea(mKeyList);
+    ScrollArea *scrollArea = new ScrollArea(mKeyList,
+        true, "setup_input_background.xml");
     scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mAssignKeyButton = new Button(_("Assign"), "assign", this);
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index be2d3de6a..69f769b67 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -249,7 +249,8 @@ Setup_Video::Setup_Video():
 {
     setName(_("Video"));
 
-    ScrollArea *scrollArea = new ScrollArea(mModeList);
+    ScrollArea *scrollArea = new ScrollArea(mModeList,
+        true, "setup_video_background.xml");
     scrollArea->setWidth(150);
     scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
diff --git a/src/gui/shopwindow.cpp b/src/gui/shopwindow.cpp
index 4daa1c2bb..89a457e88 100644
--- a/src/gui/shopwindow.cpp
+++ b/src/gui/shopwindow.cpp
@@ -106,9 +106,11 @@ ShopWindow::ShopWindow():
     mBuyShopItemList->setPriceCheck(false);
     mSellShopItemList->setPriceCheck(false);
 
-    mBuyScrollArea = new ScrollArea(mBuyShopItemList);
+    mBuyScrollArea = new ScrollArea(mBuyShopItemList,
+        getOptionBool("showbuybackground"), "shop_buy_background.xml");
     mBuyScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
-    mSellScrollArea = new ScrollArea(mSellShopItemList);
+    mSellScrollArea = new ScrollArea(mSellShopItemList,
+        getOptionBool("showsellbackground"), "shop_sell_background.xml");
     mSellScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mCloseButton = new Button(_("Close"), "close", this);
diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp
index 8cf1ee42f..22eb4024d 100644
--- a/src/gui/socialwindow.cpp
+++ b/src/gui/socialwindow.cpp
@@ -148,7 +148,8 @@ public:
         setTabColor(&Theme::getThemeColor(Theme::GUILD_SOCIAL_TAB));
 
         mList = new AvatarListBox(guild);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -246,7 +247,8 @@ public:
         setTabColor(&Theme::getThemeColor(Theme::GUILD_SOCIAL_TAB));
 
         mList = new AvatarListBox(guild);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -300,7 +302,8 @@ public:
         setTabColor(&Theme::getThemeColor(Theme::PARTY_SOCIAL_TAB));
 
         mList = new AvatarListBox(party);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -424,7 +427,8 @@ public:
         mBeings(new BeingsListModal())
     {
         mList = new AvatarListBox(mBeings);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -589,7 +593,8 @@ public:
         mBeings(new BeingsListModal())
     {
         mList = new AvatarListBox(mBeings);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -921,7 +926,8 @@ public:
         mBeings(new BeingsListModal())
     {
         mList = new AvatarListBox(mBeings);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -975,7 +981,8 @@ public:
         mBeings(new BeingsListModal())
     {
         mList = new AvatarListBox(mBeings);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
@@ -1029,7 +1036,8 @@ public:
         mBeings(new BeingsListModal())
     {
         mList = new AvatarListBox(mBeings);
-        mScroll = new ScrollArea(mList, showBackground);
+        mScroll = new ScrollArea(mList, showBackground,
+            "social_background.xml");
 
         mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO);
         mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS);
diff --git a/src/gui/tradewindow.cpp b/src/gui/tradewindow.cpp
index f37f1d49d..51f3d9e64 100644
--- a/src/gui/tradewindow.cpp
+++ b/src/gui/tradewindow.cpp
@@ -101,13 +101,15 @@ TradeWindow::TradeWindow():
     mMyItemContainer = new ItemContainer(mMyInventory.get());
     mMyItemContainer->addSelectionListener(this);
 
-    ScrollArea *myScroll = new ScrollArea(mMyItemContainer);
+    ScrollArea *myScroll = new ScrollArea(mMyItemContainer,
+        true, "trade_background.xml");
     myScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mPartnerItemContainer = new ItemContainer(mPartnerInventory.get());
     mPartnerItemContainer->addSelectionListener(this);
 
-    ScrollArea *partnerScroll = new ScrollArea(mPartnerItemContainer);
+    ScrollArea *partnerScroll = new ScrollArea(mPartnerItemContainer,
+        true, "trade_background.xml");
     partnerScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
     mMoneyLabel = new Label(strprintf(_("You get %s"), ""));
diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp
index be68518e3..eef8ca306 100644
--- a/src/gui/updaterwindow.cpp
+++ b/src/gui/updaterwindow.cpp
@@ -166,7 +166,7 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
     setMinHeight(240);
 
     mBrowserBox = new BrowserBox;
-    mScrollArea = new ScrollArea(mBrowserBox);
+    mScrollArea = new ScrollArea(mBrowserBox, true, "update_background.xml");
     mLabel = new Label(_("Connecting..."));
     mProgressBar = new ProgressBar(0.0, 310, 20);
     mCancelButton = new Button(_("Cancel"), "cancel", this);
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index 7e810390a..d42b60799 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -57,8 +57,7 @@ static std::string const dropdownFiles[2] =
 DropDown::DropDown(gcn::ListModel *listModel, gcn::ActionListener* listener,
                    std::string eventId):
     gcn::DropDown::DropDown(listModel,
-                            new ScrollArea,
-                            new ListBox(listModel)),
+        new ScrollArea, new ListBox(listModel)),
     mShadowColor(Theme::getThemeColor(Theme::DROPDOWN_SHADOW)),
     mHighlightColor(Theme::getThemeColor(Theme::HIGHLIGHT))
 {
diff --git a/src/gui/worldselectdialog.cpp b/src/gui/worldselectdialog.cpp
index 16253c26e..13f2694b0 100644
--- a/src/gui/worldselectdialog.cpp
+++ b/src/gui/worldselectdialog.cpp
@@ -83,7 +83,8 @@ WorldSelectDialog::WorldSelectDialog(Worlds worlds):
     mChangeLoginButton(new Button(_("Change Login"), "login", this)),
     mChooseWorld(new Button(_("Choose World"), "world", this))
 {
-    ScrollArea *worldsScroll = new ScrollArea(mWorldList);
+    ScrollArea *worldsScroll = new ScrollArea(mWorldList,
+        getOptionBool("showbackground"), "world_background.xml");
 
     worldsScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
 
-- 
cgit v1.2.3-70-g09d2