Migrating source code to RSA from private.
[platform/core/uifw/e17.git] / data / themes / samsung.edc
old mode 100755 (executable)
new mode 100644 (file)
index a831ae6..f7af85c
@@ -1,12 +1,17 @@
 // TODO:
-// Add group{} locations to all sections. eg. "widget/preview" is found in Wallpaper selector"
-//     Icons:
-//             EFM - All popup icons ... eg, paste copy delete properties
-//             Icons for Menus modules
-//             Icon for Edge Bindings
-//             Icon for Modes?
+//   Formatting review.
+//   Formatting Process: 1. http://tools.arantius.com/tabifier in C mode
+//                       2. sed 's/\t/   /g' default.edc > formatted.edc
+//                       3. Fix up defines, script{}, comments and other nicknacks.
+//                       4. Replace ":    " with ": " and "//      " with "// " and so on.
+//
+//   Icons:
+//      EFM - All popup icons ... eg, paste copy delete properties
+//      Icons for Menus modules
+//      Icon for Edge Bindings
+//      Icon for Modes?
+//      Replace all (well, most) instances of icon_dummy.png
 //
-
 /*
  * So how do themes work?
  *
  * and make sure you have replaced/provided everything here.
  */
 
-/* Specturm used in all the gradient icons
+/* Spectrum used in all the gradient icons
  * This needs to be defined outside of the collections
  *
  * FIXME: this is bad. namespacing! FIXME!
  */
-/*
+#if 0
 spectra {
-   spectrum { name: "black_to_trans";
+   spectrum {
+      name: "black_to_trans";
       color: 0 0 0 255 1;
       color: 0 0 0 0 1;
    }
 }
-*/
+#endif
+/* color classes are used to control the colors of text and also apply
+ * tints to images. These can be controlled with the colors dialog. Below
+ * are the standard color_class names that the module looks for in a
+ * theme. Consider color classes as a style that can be applied to many
+ * different items without tinkering with the theme.
+ *
+ * color: Font color     (Defaults to black)
+ * color2: Outline color  (Defaults to transparent)
+ * color3: Shadow color   (Defaults to transparent)
+ *
+ */
+
+color_classes {
+   color_class {
+      name: "border_top";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "border_top_hilight";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "border_bottom";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "border_title";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "border_title_active";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "menu_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "menu_title";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "menu_title_active";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "menu_item";
+      color: 0 0 0 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "menu_item_active";
+      color: 255 255 255 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "menu_item_disabled";
+      color: 110 110 110 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "shelf_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "scrollframe_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "winlist_label";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "winlist_item";
+      color: 0 0 0 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "winlist_item_active";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "button_text";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "button_text_disabled";
+      color: 0 0 0 128;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "fileman_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "ilist_item_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "ilist_item_odd_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "ilist_item_header_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "ilist_item_header_odd_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "ilist_item";
+      color: 0 0 0 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "ilist_item_odd";
+      color: 0 0 0 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "ilist_item_selected";
+      color: 255 255 255 255;
+      color3: 0 0 0 64;
+   }
+   color_class {
+      name: "ilist_item_header";
+      color: 224 224 224 255;
+      color3: 0 0 0 32;
+   }
+   color_class {
+      name: "ilist_item_header_odd";
+      color: 224 224 224 255;
+      color3: 0 0 0 32;
+   }
+   color_class {
+      name: "dialog_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "move_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "resize_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "check_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "check_text_disabled";
+      color: 0 0 0 128;
+   }
+   color_class {
+      name: "radio_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "radio_text_disabled";
+      color: 0 0 0 128;
+   }
+   color_class {
+      name: "entry_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "entry_text_disabled";
+      color: 128 128 128 255;
+   }
+   color_class {
+      name: "slider_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "slider_text_disabled";
+      color: 0 0 0 128;
+   }
+   color_class {
+      name: "frame_base";
+      color: 255 255 255 255;
+   }
+   color_class {
+      name: "label_text";
+      color: 0 0 0 255;
+   }
+   color_class {
+      name: "label_text_disabled";
+      color: 0 0 0 128;
+   }
+   color_class {
+      name: "comp_focus-out_color";
+      color: 255 255 255 220;
+   }
+   color_class {
+      name: "tasks_text";
+      color: 0 0 0 255;
+      color3: 0 0 0 0;
+   }
+   color_class {
+      name: "tasks_text_focused";
+      color: 224 224 224 255;
+      color3: 0 0 0 64;
+   }
+}
+
 /*
- * this section defined all the theme elements (a collection of groupings of
+ * this section defines all the theme elements (a collection of groupings of
  * parts (images, text, rects etc.))
  */
-collections { /* begin the collection of edje groups that are in this file */
+
+collections {
+/* begin the collection of edje groups that are in this file */
 
 /////////////////////////////////////////////////////////////////////////////
-   /*** DEFAULT WALLPAPER ***/
-   group { name: "e/desktop/background"; /* the name of the group */
-      /* this section defines that images are to be included and how to
-       * encode them */
-      /* this section actually contains the list of parts from bottom to top
-       * (defining the layering/stacking order) */
+/*** DEFAULT WALLPAPER ***/
+   group {
+      name: "e/desktop/background";
       parts {
-        part { name: "background_image"; /* this is the base background */
+         part {
+            name: "background_image";
             type: RECT;
-           description { state: "default" 0.0; /* its default state */
+            /* this is the base background */
+            description {
+               state: "default" 0.0;
+               /* its default state */
                color: 0 0 0 255;
-           }
-        }
+            }
+         }
       }
    }
-
-   group { name: "e/desktop/background/scrollframe";
+   group {
+      name: "e/desktop/background/scrollframe";
       parts {
-         part { name: "clipper";
+         part {
+            name: "clipper";
             type: RECT;
             mouse_events: 0;
-            description { state: "default" 0.0;
+            description {
+               state: "default" 0.0;
             }
          }
-         part { name: "e.swallow.content";
+         part {
+            name: "e.swallow.content";
             clip_to: "clipper";
             type: SWALLOW;
-            description { state: "default" 0.0;
+            description {
+               state: "default" 0.0;
                rel1.offset: 0 0;
                rel2 {
                   relative: 0.0  0.0;
-                  offset:   -1   -1;
+                  offset: -1   -1;
                }
             }
          }
       }
    }
-
-/////////////////////////////////////////////////////////////////////////////
-   /*** DEFAULT WINDOW BORDER ***/
-   group { name: "e/widgets/border/default/border";
-      alias: "e/widgets/border/shaped/border";
-      alias: "e/widgets/border/noresize/border";
-      alias: "e/widgets/border/dialog/border";
-      alias: "e/widgets/border/noresize_dialog/border";
-      alias: "e/widgets/border/pixel/border";
+   group {
+      name: "e/desktop/background/scrollframe";
       parts {
-        part { name: "top";
-           mouse_events: 0; /* accept no mouse events here */
-            type: RECT;
-           description { state: "default" 0.0;
-               color: 0 0 0 255;
-              rel1 { /* this defines the top-left (rel1) point of the part
-                      * and where it is placed. the below values are
-                      * actually the default values, so there is no need
-                      * to actually declare them. */
-                 relative: 0.0 0.0; /* make this point relative to the top
-                                     * left of the whole eje object (there
-                                     * is no to: section so it's the whole
-                                     * object). note that the point is
-                                     * calculated as:
-                                     *   p.x = obj.width * relative.x
-                                     *   p.y = obj.height * relative.y
-                                     * (as the to item is the whole object)
-                                     */
-                 offset: 0 0; /* and from the relative point, have an offset
-                               * of 0 pixels - i.e. - none */
-              }
-              rel2 {
-                 relative: 1.0 1.0; /* the bottom-right is relative to the
-                                     * base of the title - this way the
-                                     * title region will scale based on font
-                                     * size */
-                 offset: -1 -1; /* relative to the bottom right */
-                 to_y: "title_base"; /* only y is relative to title_base. the
-                                      * rest is relative to the whole object
-                                      * (because its not specified) */
-              }
-           }
-        }
-        part { name: "bottom"; /* this is the bottom of the window */
+         part {
+            name: "clipper";
             type: RECT;
-           mouse_events: 0;
-           description { state: "default" 0.0;
-               color: 0 0 0 255;
-              rel1 {
-                 relative: 0.0 1.0; /* relative to the bottom-left of the edje
-                                     * but 4 pixels up */
-                 offset: 0 -8;
-              }
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -1 -1;
-              }
-           }
-           description { state: "shaded" 0.0; /* when in a shaded state then
-                                               * don't display this part */
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-           description { state: "max" 0.0; /* whem maximised too */
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
-        part { name: "icon_area"; /* this is an invisible rectangle that we
-                                   * use to place icons within. we use this
-                                   * to keep it fixed as the "icone area" so
-                                   * the actual swallow part that swallows
-                                   * the icon can be moved/resized for
-                                   * animations */
-           type: RECT;
-           description { state: "default" 0.0;
-              visible: 0;
-              align: 0.0 0.5; /* alignt to the left, but center vertically */
-              aspect: 1.0 1.0; /* prefer ans aspect of 1.0 (ie width / height
-                                * is 1.0 - i.e. - square. aspect here is
-                                * min and max aspect that will be "allowed"
-                                * (since both min and max are 1.0 respectively
-                                * in order). */
-              aspect_preference: VERTICAL; /* this means that the vertical
-                                            * axis controls aspect and the
-                                            * icon_area part size will be
-                                            * governed by the height of the
-                                            * part (the width simply following
-                                            * along behind) */
-              rel1 { /* rel1 - top-left corner of this part */
-                 relative: 0.0 0.0;
-                 offset: 2 2; /* 2 pixels in from the top-left of the border
-                               * corner */
-              }
-              rel2 {
-                 relative: 0.0 1.0; /* bottom-right of this part is also 2
-                                     * pixels in from the left (but align will
-                                     * mean it goes to the right) and be 2
-                                     * pixels in from the bottom edge of
-                                     * "title_base" (remember rel2 is the
-                                     * pixel immediately OUTSIDE the part.
-                                     * i.e. x + width & y + height). */
-                 offset: 2 -3;
-                 to_y: "title_base";
-              }
-           }
-           description { state: "active" 0.0; /* and an active state */
-              inherit: "default" 0.0;
-              rel1 {
-                 offset: 2 3; /* 1 pixel down from default so it looks like it
-                               * is pressed down a bit */
-              }
-              rel2 {
-                 offset: 2 -2; /* same here - down 1 pixel from "default" */
-              }
-           }
-        }
-        part { name: "icon_area2"; /* this area is another invisible rect
-                                    * that is used for shuffling around parts
-                                    * that are relative to it. the states
-                                    * below are just a few "random" offsets
-                                    * to make it look like whatever is
-                                    * relative to icon_area2 is "jiggling"
-                                    * around */
-           type: RECT;
-           description { state: "default" 0.0;
-              visible: 0;
-              rel1.to: "icon_area";
-              rel2.to: "icon_area";
-           }
-           description { state: "uw0" 0.0; /* jiggle */
-              inherit: "default" 0.0;
-              rel1.offset: -3 -2;
-              rel2.offset: -4 -3;
-           }
-           description { state: "uw1" 0.0; /* jiggle some more */
-              inherit: "default" 0.0;
-              rel1.offset: 5 -2;
-              rel2.offset: 4 -3;
-           }
-           description { state: "uw2" 0.0; /* look at me - jiggling! */
-              inherit: "default" 0.0;
-              rel1.offset: -1 4;
-              rel2.offset: -2 3;
-           }
-           description { state: "uw3" 0.0; /* jiggling about */
-              inherit: "default" 0.0;
-              rel1.offset: -2 -1;
-              rel2.offset: -3 -2;
-           }
-           description { state: "uw4" 0.0; /* one more jiggle for the dummies */
-              inherit: "default" 0.0;
-              rel1.offset: -4 1;
-              rel2.offset: -5 0;
-           }
-        }
-        part { name: "e.swallow.icon"; /* finally a swallow part - this is
-                                        * just a placeholder to SWALLOW
-                                        * other external evas objects into
-                                        * this region and edje will control
-                                        * any object swallowed as if it were
-                                        * this part itself (move, resize,
-                                        * etc.) */
-           type: SWALLOW;
-           description { state: "default" 0.0;
-              aspect: 1.0 1.0;
-              aspect_preference: BOTH;
-              rel1.to: "icon_area2";
-              rel2.to: "icon_area2";
-           }
-           description { state: "shrunk" 0.0;
-              inherit: "default" 0.0;
-              rel1.relative: 0.3 0.3;
-              rel2.relative: 0.7 0.7;
-           }
-        }
-        part { name: "e.text.title"; /* this is a text part - the black
-                                      * text on the white title top image */
-           type: TEXT;
-           mouse_events: 0;
-           scale: 1; /* allow this part to scale by a scale factor (dpi) */
-           description { state: "default" 0.0;
-              visible: 1;
-              align: 0.0 0.0; /* align top and left */
-              rel1 {
-                 relative: 1.0 0.0;
-                 offset: 9 2;
-                 to_x: "icon_area"; /* relative to the right side of the icon
-                                     * area but 9 pixels away */
-              }
-              rel2 {
-                 relative: 1.0 0.0; /* and the bottom right is inset by 8
-                                     * pixels from the right of "title_base"
-                                     * but as its aligned to the top we can
-                                     * keep this at 2 pixels from the top of
-                                     * the whole edje object and let alignment
-                                     * make it extend downward from that point
-                                     * with the text size defining the min size
-                                     * vertically below */
-                 offset: -8 2;
-                 to_x: "title_base";
-              }
-              color: 200 200 200 255; /* black */
-              text {
-                 font: "Sans:style=Bold"; /* Use the Bold style
-                                           * of the Sans font from
-                                           * fontconfig */
-                 size: 10; /* size in pixels - 10 */
-                 min: 0 1; /* the text will not determine minimum horizontal
-                            * size but WILL determine minimal vertical size
-                            * (thus 0 1 - horiz then vert flags) */
-                 align: 0.0 0.0; /* align text to top-left of the region
-                                  * given */
-                 text_class: "title_bar"; /* text class - so font and size
-                                           * can be changed by users */
-              }
-           }
-           description { state: "focused" 0.0; /* when the border is focused
-                                                * then make the text fade out
-                                                * and vanish */
-              inherit: "default" 0.0;
-              color: 255 255 255 255;
-           }
-        }
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            clip_to: "clipper";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 0 0;
+               rel2 {
+                  relative: 0.0  0.0;
+                  offset: -1   -1;
+               }
+            }
+         }
+      }
+   }
 
-        part { name: "bt_close"; /* the close button shadow */
-           mouse_events: 0;
-            type: RECT;
-           description { state: "default" 0.0;
-               color: 255 0 0 255;
-              align: 1.0 0.5;
-              min: 20 20; /* min and max size are the same, so never
-                           * resize this */
-              aspect: 1.0 1.0; /* square - always */
-              aspect_preference: VERTICAL; /* the vetical axis controls size
-                                            * when applying the aspect ratio
-                                            * hint above */
-              rel1 {
-                 relative: 1.0 0.0;
-                 offset: -2 1;
-                 to_x: "top";
-                 to_y: "top";
-              }
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -2 -2;
-                 to_x: "top";
-                 to_y: "top";
-              }
-           }
-        }
-        part { name: "bt_max"; /* maximize button shadow */
-           mouse_events: 0;
-            type: RECT;
-           description { state: "default" 0.0;
-               color: 255 128 0 255;
-              align: 1.0 0.5;
-              min: 20 20;
-              aspect: 1.0 1.0;
-              aspect_preference: VERTICAL;
-              rel1 {
-                 relative: 0.0 0.0;
-                 offset: -2 1;
-                 to_x: "bt_close"; /* left of the close button */
-                 to_y: "top";
-              }
-              rel2 {
-                 relative: 0.0 1.0;
-                 offset: -2 -2;
-                 to_x: "bt_close"; /* left of the close button */
-                 to_y: "top";
-              }
-           }
-        }
-        part { name: "bt_min"; /* minimize button shadow */
-           mouse_events: 0;
+/////////////////////////////////////////////////////////////////////////////
+/*** DEFAULT WINDOW BORDER ***/
+   group {
+      name: "e/widgets/border/default/border";
+      /* more images - for the border specifically. remember each images {}
+       * section fills a global images namespace, so if you re-use an image
+       * between sections, only 1 copy is kept, so names here are unique. if
+       * different image {} sections specify the same image but use different
+       * compression specifications, the compression scheme is undefined and
+       * may use any one of the schemes requested, so make sure you use the
+       * same compression scheme */
+      images {
+         image: "added_images/DM_Internet_Title_bg.png" COMP;
+         image: "added_images/DM_Internet_icon_close.png" COMP;
+         image: "added_images/DM_Internet_icon_Reduction.png" COMP;
+         image: "added_images/DM_Internet_icon_Zoom.png" COMP;
+         image: "added_images/DM_Internet_bg.png" COMP;
+         image: "added_images/DM_Internet_Address_bg.png" COMP;
+         image: "added_images/DM_Internet_Title_bg.png" COMP;
+         image: "bd_top.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_bottom.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+         image: "bd_resize_b.png" COMP;
+         image: "busy-1.png" COMP;
+         image: "busy-2.png" COMP;
+         image: "busy-3.png" COMP;
+         image: "busy-4.png" COMP;
+         image: "busy-5.png" COMP;
+         image: "busy-6.png" COMP;
+         image: "busy-7.png" COMP;
+         image: "busy-8.png" COMP;
+         image: "busy-9.png" COMP;
+         image: "exclam.png" COMP;
+         image: "bd_button_close_shadow.png" COMP;
+         image: "bd_button_close_focused.png" COMP;
+         image: "bd_button_close_unfocused.png" COMP;
+         image: "bd_button_max_shadow.png" COMP;
+         image: "bd_button_max_focused.png" COMP;
+         image: "bd_button_max_unfocused.png" COMP;
+         image: "bd_button_min_shadow.png" COMP;
+         image: "bd_button_min_focused.png" COMP;
+         image: "bd_button_min_unfocused.png" COMP;
+      }
+      /* this would tell E that the border is not a solid rectanle, but is
+       * shaped (has transparent sections) and so would follow a different
+       * code path for such borders. the default is not shaped, so this is
+       * not enabled here, but left commented out for illustration purposes */
+      //      data.item: "shaped" "1";
+      parts {
+         part {
+            name: "top";
+            mouse_events: 0;
+            /* accept no mouse events here */
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  /* this defines the top-left (rel1) point of the part
+                   * and where it is placed. the below values are
+                   * actually the default values, so there is no need
+                   * to actually declare them. */
+                  relative: 0.0 0.0;
+                  /* make this point relative to the top
+                   * left of the whole eje object (there
+                   * is no to: section so it's the whole
+                   * object). note that the point is
+                   * calculated as:
+                   *   p.x = obj.width * relative.x
+                   *   p.y = obj.height * relative.y
+                   * (as the to item is the whole object)
+                   */
+                  offset: 0 0;
+                  /* and from the relative point, have an offset
+                   * of 0 pixels - i.e. - none */
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  /* the bottom-right is relative to the
+                   * base of the title - this way the
+                   * title region will scale based on font
+                   * size */
+                  to_y: "title_base";
+                  /* only y is relative to title_base. the
+                   * rest is relative to the whole object
+                   * (because its not specified) */
+               }
+               color_class: "border_top";
+               image {
+                  /* define the image to use */
+                  normal: "added_images/DM_Internet_Title_bg.png";
+                  /* the image */
+               }
+            }
+         }
+         part {
+            name: "bottom";
+            /* this is the bottom of the window */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+               }
+               color_class: "border_bottom";
+            }
+            description {
+               state: "shaded" 0.0;
+               /* when in a shaded state then
+                * don't display this part */
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "max" 0.0;
+               /* whem maximised too */
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "icon_area";
+            /* this is an invisible rectangle that we
+             * use to place icons within. we use this
+             * to keep it fixed as the "icone area" so
+             * the actual swallow part that swallows
+             * the icon can be moved/resized for
+             * animations */
             type: RECT;
-           description { state: "default" 0.0;
-               color: 255 255 0 255;
-              align: 1.0 0.5;
-              min: 20 20;
-              aspect: 1.0 1.0;
-              aspect_preference: VERTICAL;
-              rel1 {
-                 relative: 0.0 0.0;
-                 offset: -2 1;
-                 to_x: "bt_max"; /* left of the maximize button */
-                 to_y: "top";
-              }
-              rel2 {
-                 relative: 0.0 1.0;
-                 offset: -2 -2;
-                 to_x: "bt_max"; /* left of the maximize button */
-                 to_y: "top";
-              }
-           }
-        }
-
-        part { name: "title_base"; /* an invisible rect part/object used for
-                                    * layout purposes */
-           type: RECT;
-           mouse_events:  0;
-           description { state: "default" 0.0;
-              visible: 0;
-              rel1 {
-                 relative: 1.0 0.0;
-                 offset: 0 0;
-                 to_x: "icon_area";
-              }
-              rel2 {
-                 relative: 0.0 1.0;
-                 offset: -3 4;
-                 to_y: "e.text.title";
-                 to_x: "bt_min";
-              }
-           }
-        }
-        part { name: "bottom_clip";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "bottom";
-              rel2.to: "bottom";
-              color: 255 255 255 255;
-           }
-        }
-        part { name: "resize_b";
-           mouse_events:  0;
-           clip_to: "bottom_clip";
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.0;
+               /* alignt to the left, but center vertically */
+               aspect: 1.0 1.0;
+               /* prefer ans aspect of 1.0 (ie width / height
+                * is 1.0 - i.e. - square. aspect here is
+                * min and max aspect that will be "allowed"
+                * (since both min and max are 1.0 respectively
+                * in order). */
+               aspect_preference: VERTICAL;
+               /* this means that the vertical
+                * axis controls aspect and the
+                * icon_area part size will be
+                * governed by the height of the
+                * part (the width simply following
+                * along behind) */
+               rel1 {
+                  /* rel1 - top-left corner of this part */
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+               }
+            }
+         }
+         part {
+            name: "icon_area2";
+            /* this area is another invisible rect
+             * that is used for shuffling around parts
+             * that are relative to it. the states
+             * below are just a few "random" offsets
+             * to make it look like whatever is
+             * relative to icon_area2 is "jiggling"
+             * around */
             type: RECT;
-           description { state: "default" 0.0;
-               color: 0 0 0 255;
-              min: 20 10;
-              max: 20 10;
-              rel1 {
-                 to: "bottom";
-                 relative: 0.5 0.0;
-                 offset: 0 -10;
-              }
-              rel2 {
-                 to: "bottom";
-                 relative: 0.5 0.0;
-                 offset: 0 -1;
-              }
-           }
-           description { state: "past" 0.0;
-              inherit: "default" 0.0;
-              rel1 {
-                 relative: 0.5 1.0;
-                 offset: 0 0;
-              }
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+            }
+            description {
+               state: "uw0" 0.0;
+               /* jiggle */
+               inherit: "default" 0.0;
+               rel1.offset: -3 -2;
+               rel2.offset: -4 -3;
+            }
+            description {
+               state: "uw1" 0.0;
+               /* jiggle some more */
+               inherit: "default" 0.0;
+               rel1.offset: 5 -2;
+               rel2.offset: 4 -3;
+            }
+            description {
+               state: "uw2" 0.0;
+               /* look at me - jiggling! */
+               inherit: "default" 0.0;
+               rel1.offset: -1 4;
+               rel2.offset: -2 3;
+            }
+            description {
+               state: "uw3" 0.0;
+               /* jiggling about */
+               inherit: "default" 0.0;
+               rel1.offset: -2 -1;
+               rel2.offset: -3 -2;
+            }
+            description {
+               state: "uw4" 0.0;
+               /* one more jiggle for the dummies */
+               inherit: "default" 0.0;
+               rel1.offset: -4 1;
+               rel2.offset: -5 0;
+            }
+         }
+         part {
+            name: "busy";
+            /* this is an animation to spin a wheel when the app
+             * seems too busy to respond to pings */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               /* nomrally the busy part is not visible */
+               color: 255 255 255 0;
+               /* and its alpha is 0 - se will fade it
+                * inm later so alpha to 0 (but 255 255
+                * 255 for white so we dont also go from
+                * dark to white while fading) */
+               max: 32 32;
+               /* no bigger than 32x32 - but allow it to be
+                * smaller if needed */
+               aspect: 1.0 1.0;
+               /* square aspect */
+               aspect_preference: BOTH;
+               /* both axes determine aspect. that
+                * means that the icon area may
+                * be 100x50, but the aspect is 1.0
+                * so therefore it will be 50x50 as the
+                * max size. if the area is 50x100 it
+                * will still be 50x50 as it must fit
+                * WITHIN the bounds of BOTH axes */
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image {
+                  tween: "busy-1.png";
+                  tween: "busy-2.png";
+                  tween: "busy-3.png";
+                  tween: "busy-4.png";
+                  tween: "busy-5.png";
+                  tween: "busy-6.png";
+                  tween: "busy-7.png";
+                  tween: "busy-8.png";
+                  normal: "busy-9.png";
+                  /* and we use image tweening. that
+                   * means that we flip through a series
+                   * of images when moving TO this state
+                   * over the transition time. it's like
+                   * specifying multiple frames of an
+                   * animatin sequence. the "final"
+                   * state is "normal". the images
+                   * between are the "tween" images
+                   * listed in order working towards
+                   * the "normal" image */
+               }
+            }
+            description {
+               state: "visible" 0.0;
+               /* the visible state - inherit the
+                * default one as its all the same, but
+                * its visible and faded in */
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            /* finally a swallow part - this is
+             * just a placeholder to SWALLOW
+             * other external evas objects into
+             * this region and edje will control
+             * any object swallowed as if it were
+             * this part itself (move, resize,
+             * etc.) */
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area2";
+               rel2.to: "icon_area2";
+            }
+            description {
+               state: "shrunk" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.3 0.3;
+               rel2.relative: 0.7 0.7;
+            }
+         }
+         part {
+            name: "urgent";
+            /* this is the urgnt part it is normally not
+             * visible, but when the window is in an
+             * urgent state (the app has set the urgency
+             * hint) then we go to the visible state */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               /* and in the visible state put the
+                * exlamation image on top of the icon */
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "urgent2";
+            /* this is another urgent element. it is actually
+             * zoomed out to be larger and faded out at the
+             * same time to give a "pulsating" look to the
+             * exclamation mark to bring attention to it */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "faded" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: -1.0 -1.0;
+               rel2.relative: 2.0 2.0;
+               visible: 1;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.text.title";
+            /* this is a text part - the black
+             * text on the white title top image */
+            type: TEXT;
+            mouse_events: 0;
+            /* allow this part to scale by a scale factor (dpi) */
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               align: 0.5 0.0;
+               /* align top and left */
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 9 2;
+                  to_x: "icon_area";
+                  /* relative to the right side of the icon
+                   * area but 9 pixels away */
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  /* and the bottom right is inset by 8
+                   * pixels from the right of "title_base"
+                   * but as its aligned to the top we can
+                   * keep this at 2 pixels from the top of
+                   * the whole edje object and let alignment
+                   * make it extend downward from that point
+                   * with the text size defining the min size
+                   * vertically below */
+                  offset: -8 2;
+                  to_x: "title_base";
+               }
+               color: 255 255 255 255;
+               /* give it a color class so people
+                * can re-color it if they want */
+               text {
+                  font: "Sans";
+                  /* Use the Bold style
+                   * of the Sans font from
+                   * fontconfig */
+                  size: 14;
+                  /* size in pixels - 10 */
+                  min: 0 1;
+                  /* the text will not determine minimum horizontal
+                   * size but WILL determine minimal vertical size
+                   * (thus 0 1 - horiz then vert flags) */
+                  align: 0.5 0.0;
+                  /* align text to top-left of the region
+                   * given */
+                  text_class: "title_bar";
+                  /* text class - so font and size
+                   * can be changed by users */
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               /* when the border is focused
+                * then make the text fade out
+                * and vanish */
+               inherit: "default" 0.0;
+               visible: 0;
+               align: 0.5 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "bt_close";
+            /* the close button shadow */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 14 14;
+               /* min and max size are the same, so never
+                * resize this */
+               max: 14 14;
+               aspect: 1.0 1.0;
+               /* square - always */
+               aspect_preference: VERTICAL;
+               /* the vetical axis controls size
+                * when applying the aspect ratio
+                * hint above */
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -28 1;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -14 -2;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+         }
+         part {
+            name: "bt_max";
+            /* maximize button shadow */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_close";
+                  /* left of the close button */
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_close";
+                  /* left of the close button */
+                  to_y: "top";
+               }
+               image.normal: "added_images/DM_Internet_icon_Zoom.png";
+            }
+         }
+         part {
+            name: "bt_min";
+            /* minimize button shadow */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_max";
+                  /* left of the maximize button */
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_max";
+                  /* left of the maximize button */
+                  to_y: "top";
+               }
+               image.normal: "added_images/DM_Internet_icon_Reduction.png";
+            }
+         }
+         part {
+            name: "top_hilight";
+            /* an overlayed image to give the top of
+             * a border a shiny look - very subtle */
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+                  to: "top";
+               }
+               color_class: "border_top_hilight";
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "buttons_unfoc";
+            /* this is a rect part used to clip &
+             * thus control the visibility of a group
+             * of other parts (the images for the
+             * buttons themselves) with just 1 part
+             * doing the control as it acts as a
+             * master switch for all things clipped
+             * to this part */
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               /* visible and solid */
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               /* invisible and transparent */
+            }
+         }
+         part {
+            name: "bt_close_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            /* clipping (thus visible region and
+             * color + alpah is controlled by the
+             * clip object */
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "added_images/DM_Internet_icon_Zoom.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "added_images/DM_Internet_icon_Reduction.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "buttons_foc";
+            /* another rect object for clipping */
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "bt_close_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            /* controlled by the other clip object */
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "added_images/DM_Internet_icon_Zoom.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "added_images/DM_Internet_icon_Reduction.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "title_base";
+            /* an invisible rect part/object used for
+             * layout purposes */
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 0 0;
+                  to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -3 4;
+                  to_y: "e.text.title";
+                  to_x: "bt_min";
+               }
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "title_base";
+               }
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 0.0;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part {
+            name: "title2";
+            /* this is interesting. it's another text part
+             * that also displays the title text, but
+             * normally is not visible. it is only made
+             * visibile when the window becomes focused.
+             * what is interesting is we tell it to source
+             * the text content from another part - i.e.
+             * the master "title" part which E sets the
+             * text of. when that changes this part also
+             * changes its text. this is a good way to
+             * use multiple text objects for effects and
+             * other things that can copy/mimic the content
+             * of another part */
+            type: TEXT;
+            mouse_events: 0;
+            effect: SOFT_SHADOW;
+            /* different style to before - because its
+             * focused */
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 1.0;
+               rel1 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 0.0 1.0;
+                  offset: -1 0;
+               }
+               rel2 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 1.0 1.0;
+                  offset: 0 0;
+               }
+               color_class: "border_title_active";
+               text {
+                  text_source: "e.text.title";
+                  /* and here is the magic. tell
+                   * the text to be sourced from
+                   * another part */
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.5 0.0;
+                  min: 0 1;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bottom_clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bottom";
+               rel2.to: "bottom";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "resize_b";
+            mouse_events: 0;
+            clip_to: "bottom_clip";
+            description {
+               state: "default" 0.0;
+               min: 20 10;
+               max: 20 10;
+               rel1 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -10;
+               }
+               rel2 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -1;
+               }
+            }
+            description {
+               state: "past" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 0 9;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            /* this determines where the actual
+             * client window will be placed in
+             * the border design */
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+         }
+         /* these transparent rect parts are used for catching events in a way
+          * here objects for design don't affect the events. these parts
+          * are named speciifcally because E has config listening for specific
+          * signals (events) coming from these named parts and based on those
+          * will perform certain actions. these are actually all configurable
+          * by the user, so if they want, clicking the logical "titlebar" could
+          * close the window, not move it, and so on. the user decides this.
+          * the theme designer simply indicates the "logcal" use of the theme
+          * elements they have created */
+         part {
+            name: "e.event.titlebar";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "title_base";
+               rel2.to: "title_base";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.resize.t";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 3;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.b";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -4;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  offset: 15 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tr";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -16 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.bl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -16;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 15 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.br";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  offset: -16 -16;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.icon";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.close";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.minimize";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.maximize";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               color: 0 0 0 0;
+            }
+         }
+      }
+      /* programs - these are basically snippets of simple logic to respond to
+       * incoming signals (generated by signal emisions by code or events) */
+      programs {
+         program {
+            name: "focus_in";
+            /* name of the program. must be unique
+             * within the list of programs attached
+             * to a group of parts */
+            signal: "e,state,focused";
+            /* what signal triggers this program,
+             * if any. this can also be a glob like
+             * "mouse,down,*" for example. note
+             * that globs are slower to match
+             * and empty strings are literal matches
+             * too */
+            source: "e";
+            /* the source of the signal - this must also match for
+             * the program to be run */
+            action: STATE_SET "default" 0.0;
+            /* the action the program will
+             * perform. in this case
+             * it will set the state to
+             * "focused" @ value 0.0 */
+            target: "title_back";
+            /* these are the targets for the action.
+             * i.e. which parts will have their state
+             * set to "focused" over 0.2 seconds */
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "focus_out";
+            /* this program is run when focus is
+             * removed from a window border */
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "title_back";
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "urgent";
+            /* this program is run when the border is
+             * meant to display an "urgent" state
+             * (the application has something
+             * important to show the user) */
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: DECELERATE 0.5;
+            /* instead of a linear transition
+             * this will vary from state A to B
+             * but slow down towards the end */
+            target: "urgent";
+            target: "urgent2";
+            after: "urgent2";
+            /* when this program and its transition are
+             * finished then chain (run) the "urgent2"
+             * program below. this way a series of actions
+             * and trnasitions can be chained together one
+             * after the other */
+         }
+         program {
+            name: "urgent2";
+            action: STATE_SET "faded" 0.0;
+            transition: LINEAR 0.5;
+            target: "urgent2";
+            after: "urgent3";
+         }
+         program {
+            name: "urgent3";
+            action: STATE_SET "visible" 0.0;
+            target: "urgent2";
+            /* notice - no transition. when not specified
+             * it is assumed that the action should happen
+             * immediately with no transition over time */
+            after: "urgent2";
+         }
+         program {
+            name: "urgentw0";
+            /* these ae a list of icon "wobble"
+             * programs to indicate urgency */
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: DECELERATE 0.1;
+            target: "icon_area2";
+            after: "urgentw1";
+         }
+         program {
+            name: "urgentw1";
+            action: STATE_SET "uw1" 0.0;
+            transition: DECELERATE 0.1;
+            target: "icon_area2";
+            after: "urgentw2";
+         }
+         program {
+            name: "urgentw2";
+            action: STATE_SET "uw2" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw3";
+         }
+         program {
+            name: "urgentw3";
+            action: STATE_SET "uw3" 0.0;
+            transition: DECELERATE 0.1;
+            target: "icon_area2";
+            after: "urgentw4";
+         }
+         program {
+            name: "urgentw4";
+            action: STATE_SET "uw4" 0.0;
+            transition: DECELERATE 0.1;
+            target: "icon_area2";
+            after: "urgentw0";
+         }
+         program {
+            name: "not_urgent";
+            /* run when the window stops being
+             * urgent */
+            signal: "e,state,not_urgent";
+            source: "e";
+            action: ACTION_STOP;
+            /* this action will stop other running programs
+             * that are currently active. the programs to
+             * stop are named in the targets below */
+            target: "urgentw0";
+            target: "urgentw1";
+            target: "urgentw2";
+            target: "urgentw3";
+            target: "urgentw4";
+            target: "urgent";
+            target: "urgent2";
+            target: "urgent3";
+            after: "not_urgent2";
+         }
+         program {
+            name: "not_urgent2";
+            action: STATE_SET "default" 0.0;
+            target: "urgent";
+            target: "urgent2";
+            target: "icon_area2";
+         }
+         program {
+            name: "hung";
+            /* run when an app is known to be hung/not
+             * responding to ping requests */
+            signal: "e,state,hung";
+            source: "e";
+            action: STATE_SET "shrunk" 0.0;
+            target: "e.swallow.icon";
+            transition: DECELERATE 0.5;
+         }
+         program {
+            name: "unhung";
+            /* when an app was hung but has started to
+             * respond again, this is run */
+            signal: "e,state,unhung";
+            source: "e";
+            action: ACTION_STOP;
+            target: "busy_anim";
+         }
+         program {
+            name: "unhung2";
+            signal: "e,state,unhung";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "e.swallow.icon";
+            target: "busy";
+            transition: ACCELERATE 0.5;
+         }
+         program {
+            name: "busy_anim";
+            /* multiple programs can be triggered
+             * from the same signals so this is
+             * also run when an app becomes "hung" */
+            signal: "e,state,hung";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.3333;
+            target: "busy";
+            after: "busy_anim";
+         }
+         // don't have states/anim for a generic iconify action
+         //    program { name: "xx";
+         //       signal: "e,action,iconify";
+         //       source: "e";
+         //    }
+         // don't have states/anim for a generic uniconify action
+         //    program { name: "xx";
+         //       signal: "e,action,uniconify";
+         //       source: "e";
+         //    }
+         // don't have states/anim for a generic maximize action
+         //    program { name: "xx";
+         //       signal: "e,action,maximize";
+         //       source: "e";
+         //    }
+         // don't have states/anim for a generic unmaximize action
+         //    program { name: "xx";
+         //       signal: "e,action,unmaximize";
+         //       source: "e";
+         //    }
+         program {
+            name: "max_full";
+            /* run on fullscreen maximize */
+            signal: "e,action,maximize,fullscreen";
+            source: "e";
+            action: STATE_SET "max" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "unmax_full";
+            /* run on unmaximize from fullscreen */
+            signal: "e,action,unmaximize,fullscreen";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         // don't have any animation or stat change to do at the start of shading
+         //    program { name: "xx";
+         //       signal: "e,state,shading";
+         //       source: "e";
+         //    }
+         program {
+            name: "shade_end";
+            /* run when the window finishes its
+             * shading animation */
+            signal: "e,state,shaded";
+            source: "e";
+            action: STATE_SET "shaded" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         program {
+            name: "unshade_start";
+            /* run when the window starts
+             * unshading itself */
+            signal: "e,state,unshading";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         // don't have any animation or stat change to do at the end of unshading
+         //    program { name: "xx";
+         //       signal: "e,state,unshaded";
+         //       source: "e";
+         //    }
+         program {
+            name: "resize_b_on";
+            signal: "mouse,in";
+            /* on mouse enter... */
+            source: "e.event.resize.b";
+            /* in this named part */
+            action: ACTION_STOP;
+            /* stop the following programs */
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+            after: "resize_b_on2";
+            /* then run... */
+         }
+         program {
+            name: "resize_b_on2";
+            action: STATE_SET "default" 0.0;
+            target: "resize_b";
+            after: "resize_b_on3";
+         }
+         program {
+            name: "resize_b_on3";
+            action: STATE_SET "past" 0.0;
+            transition: LINEAR 0.5;
+            target: "resize_b";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_off";
+            signal: "mouse,out";
+            /* on mouse leave... */
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on";
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+         }
+         program {
+            name: "icon_down";
+            signal: "mouse,down,*";
+            /* if any mouse button is pressed... */
+            source: "e.event.icon";
+            action: STATE_SET "active" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "icon_up";
+            signal: "mouse,up,*";
+            /* if any mouse button is released... */
+            source: "e.event.icon";
+            action: STATE_SET "default" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "bt_close_down";
+            signal: "mouse,down,*";
+            source: "e.event.close";
+            action: STATE_SET "active" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_close_up";
+            signal: "mouse,up,*";
+            source: "e.event.close";
+            action: STATE_SET "default" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_max_down";
+            signal: "mouse,down,*";
+            source: "e.event.maximize";
+            action: STATE_SET "active" 0.0;
+            target: "bt_max_unfoc";
+            target: "bt_max_foc";
+         }
+         program {
+            name: "bt_max_up";
+            signal: "mouse,up,*";
+            source: "e.event.maximize";
+            action: STATE_SET "default" 0.0;
+            target: "bt_max_unfoc";
+            target: "bt_max_foc";
+         }
+         program {
+            name: "bt_min_down";
+            signal: "mouse,down,*";
+            source: "e.event.minimize";
+            action: STATE_SET "active" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+         program {
+            name: "bt_min_up";
+            signal: "mouse,up,*";
+            source: "e.event.minimize";
+            action: STATE_SET "default" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+      }
+   }
+   /* more border types - see comments in the default border for information */
+   /*** SHAPED WINDOW BORDER ***/
+   group {
+      name: "e/widgets/border/shaped/border";
+      images {
+         image: "bd_top.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_bottom.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+         image: "bd_resize_b.png" COMP;
+         image: "busy-1.png" COMP;
+         image: "busy-2.png" COMP;
+         image: "busy-3.png" COMP;
+         image: "busy-4.png" COMP;
+         image: "busy-5.png" COMP;
+         image: "busy-6.png" COMP;
+         image: "busy-7.png" COMP;
+         image: "busy-8.png" COMP;
+         image: "busy-9.png" COMP;
+         image: "exclam.png" COMP;
+         image: "bd_button_close_shadow.png" COMP;
+         image: "bd_button_close_focused.png" COMP;
+         image: "bd_button_close_unfocused.png" COMP;
+         image: "bd_button_max_shadow.png" COMP;
+         image: "bd_button_max_focused.png" COMP;
+         image: "bd_button_max_unfocused.png" COMP;
+         image: "bd_button_min_shadow.png" COMP;
+         image: "bd_button_min_focused.png" COMP;
+         image: "bd_button_min_unfocused.png" COMP;
+      }
+      data.item: "shaped" "1";
+      parts {
+         part {
+            name: "top";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "title_base";
+               }
+               color_class: "border_top";
+               image {
+                  normal: "bd_top.png";
+                  border: 2 2 2 2;
+               }
+            }
+         }
+         part {
+            name: "bottom";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -4;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color_class: "border_bottom";
+               image {
+                  normal: "bd_bottom.png";
+                  border: 2 2 0 0;
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "icon_area";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 2 -3;
+                  to_y: "title_base";
+               }
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  offset: 2 3;
+               }
+               rel2 {
+                  offset: 2 -2;
+               }
+            }
+         }
+         part {
+            name: "icon_area2";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+            }
+            description {
+               state: "uw0" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -3 -2;
+               rel2.offset: -4 -3;
+            }
+            description {
+               state: "uw1" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 5 -2;
+               rel2.offset: 4 -3;
+            }
+            description {
+               state: "uw2" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -1 4;
+               rel2.offset: -2 3;
+            }
+            description {
+               state: "uw3" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -2 -1;
+               rel2.offset: -3 -2;
+            }
+            description {
+               state: "uw4" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -4 1;
+               rel2.offset: -5 0;
+            }
+         }
+         part {
+            name: "busy";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               max: 32 32;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image {
+                  tween: "busy-1.png";
+                  tween: "busy-2.png";
+                  tween: "busy-3.png";
+                  tween: "busy-4.png";
+                  tween: "busy-5.png";
+                  tween: "busy-6.png";
+                  tween: "busy-7.png";
+                  tween: "busy-8.png";
+                  normal: "busy-9.png";
+               }
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area2";
+               rel2.to: "icon_area2";
+            }
+            description {
+               state: "shrunk" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.3 0.3;
+               rel2.relative: 0.7 0.7;
+            }
+         }
+         part {
+            name: "urgent";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "urgent2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "faded" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: -1.0 -1.0;
+               rel2.relative: 2.0 2.0;
+               visible: 1;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.text.title";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 9 2;
+                  to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -8 2;
+                  to_x: "title_base";
+               }
+               color_class: "border_title";
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 0 1;
+                  align: 0.0 0.0;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "bt_close";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -28 1;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_close_shadow.png";
+            }
+         }
+         part {
+            name: "bt_max";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 22 22;
+               max: 22 22;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_close";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_close";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_max_shadow.png";
+            }
+         }
+         part {
+            name: "bt_min";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 22 22;
+               max: 22 22;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_max";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_max";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_min_shadow.png";
+            }
+         }
+         part {
+            name: "top_hilight";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+                  to: "top";
+               }
+               color_class: "border_top_hilight";
+               image {
+                  normal: "bd_top_hilight.png";
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "buttons_unfoc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "bt_close_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "bd_button_close_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "bd_button_max_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "bd_button_min_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "buttons_foc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "bt_close_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "bd_button_close_focused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "bd_button_max_focused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "bd_button_min_focused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "title_base";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 0 0;
+                  to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -3 4;
+                  to_y: "e.text.title";
+                  to_x: "bt_min";
+               }
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "title_base";
+               }
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 0.0;
+               }
+               image {
+                  normal: "bd_title_bg.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part {
+            name: "title2";
+            type: TEXT;
+            mouse_events: 0;
+            effect: SOFT_SHADOW;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 1.0;
+               rel1 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 0.0 1.0;
+                  offset: -1 0;
+               }
+               rel2 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 1.0 1.0;
+                  offset: 0 1;
+               }
+               color_class: "border_title_active";
+               text {
+                  text_source: "e.text.title";
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.0 0.0;
+                  min: 0 1;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               image {
+                  normal: "bd_title_over.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bottom_clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bottom";
+               rel2.to: "bottom";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "resize_b";
+            mouse_events: 0;
+            clip_to: "bottom_clip";
+            description {
+               state: "default" 0.0;
+               min: 20 10;
+               max: 20 10;
+               rel1 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -10;
+               }
+               rel2 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -1;
+               }
+               image {
+                  normal: "bd_resize_b.png";
+               }
+            }
+            description {
+               state: "past" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 0 9;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+         }
+         part {
+            name: "e.event.titlebar";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "title_base";
+               rel2.to: "title_base";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.resize.t";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 3;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.b";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -4;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  offset: 15 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tr";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -16 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.bl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -16;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 15 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.br";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  offset: -16 -16;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.icon";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.close";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.minimize";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.maximize";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "focus_in";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "focused" 0.0;
+            transition: LINEAR 0.2;
+            target: "title_back";
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "focus_out";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "title_back";
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "urgent";
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            target: "urgent";
+            target: "urgent2";
+            transition: DECELERATE 0.5;
+            after: "urgent2";
+         }
+         program {
+            name: "urgent2";
+            action: STATE_SET "faded" 0.0;
+            target: "urgent2";
+            transition: LINEAR 0.5;
+            after: "urgent3";
+         }
+         program {
+            name: "urgent3";
+            action: STATE_SET "visible" 0.0;
+            target: "urgent2";
+            after: "urgent2";
+         }
+         program {
+            name: "urgentw0";
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw1";
+         }
+         program {
+            name: "urgentw1";
+            action: STATE_SET "uw1" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw2";
+         }
+         program {
+            name: "urgentw2";
+            action: STATE_SET "uw2" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw3";
+         }
+         program {
+            name: "urgentw3";
+            action: STATE_SET "uw3" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw4";
+         }
+         program {
+            name: "urgentw4";
+            action: STATE_SET "uw4" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw0";
+         }
+         program {
+            name: "not_urgent";
+            signal: "e,state,not_urgent";
+            source: "e";
+            action: ACTION_STOP;
+            target: "urgentw0";
+            target: "urgentw1";
+            target: "urgentw2";
+            target: "urgentw3";
+            target: "urgentw4";
+            target: "urgent";
+            target: "urgent2";
+            target: "urgent3";
+            after: "not_urgent2";
+         }
+         program {
+            name: "not_urgent2";
+            action: STATE_SET "default" 0.0;
+            target: "urgent";
+            target: "urgent2";
+            target: "icon_area2";
+         }
+         program {
+            name: "hung";
+            signal: "e,state,hung";
+            source: "e";
+            /* FIXME: */
+            action: STATE_SET "shrunk" 0.0;
+            target: "e.swallow.icon";
+            transition: DECELERATE 0.5;
+         }
+         program {
+            name: "unhung";
+            signal: "e,state,unhung";
+            source: "e";
+            /* FIXME: */
+            action: ACTION_STOP;
+            target: "busy_anim";
+         }
+         program {
+            name: "unhung2";
+            signal: "e,state,unhung";
+            source: "e";
+            /* FIXME: */
+            action: STATE_SET "default" 0.0;
+            target: "e.swallow.icon";
+            target: "busy";
+            transition: ACCELERATE 0.5;
+         }
+         program {
+            name: "busy_anim";
+            signal: "e,state,hung";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.3333;
+            target: "busy";
+            after: "busy_anim";
+         }
+         program {
+            name: "max_full";
+            signal: "e,action,maximize,fullscreen";
+            source: "e";
+            action: STATE_SET "max" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "unmax_full";
+            signal: "e,action,unmaximize,fullscreen";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "shade_end";
+            signal: "e,state,shaded";
+            source: "e";
+            action: STATE_SET "shaded" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         program {
+            name: "unshade_start";
+            signal: "e,state,unshading";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         program {
+            name: "resize_b_on";
+            signal: "mouse,in";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_on2";
+            action: STATE_SET "default" 0.0;
+            target: "resize_b";
+            after: "resize_b_on3";
+         }
+         program {
+            name: "resize_b_on3";
+            action: STATE_SET "past" 0.0;
+            transition: LINEAR 0.5;
+            target: "resize_b";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_off";
+            signal: "mouse,out";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on";
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+         }
+         program {
+            name: "icon_down";
+            signal: "mouse,down,*";
+            source: "e.event.icon";
+            action: STATE_SET "active" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "icon_up";
+            signal: "mouse,up,*";
+            source: "e.event.icon";
+            action: STATE_SET "default" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "bt_close_down";
+            signal: "mouse,down,*";
+            source: "e.event.close";
+            action: STATE_SET "active" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_close_up";
+            signal: "mouse,up,*";
+            source: "e.event.close";
+            action: STATE_SET "default" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_max_down";
+            signal: "mouse,down,*";
+            source: "e.event.maximize";
+            action: STATE_SET "active" 0.0;
+            target: "bt_max_unfoc";
+            target: "bt_max_foc";
+         }
+         program {
+            name: "bt_max_up";
+            signal: "mouse,up,*";
+            source: "e.event.maximize";
+            action: STATE_SET "default" 0.0;
+            target: "bt_max_unfoc";
+            target: "bt_max_foc";
+         }
+         program {
+            name: "bt_min_down";
+            signal: "mouse,down,*";
+            source: "e.event.minimize";
+            action: STATE_SET "active" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+         program {
+            name: "bt_min_up";
+            signal: "mouse,up,*";
+            source: "e.event.minimize";
+            action: STATE_SET "default" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+      }
+   }
+   /*** NORESIZE WINDOW BORDER ***/
+   group {
+      name: "e/widgets/border/noresize/border";
+      images {
+         image: "bd_top.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+         image: "busy-1.png" COMP;
+         image: "busy-2.png" COMP;
+         image: "busy-3.png" COMP;
+         image: "busy-4.png" COMP;
+         image: "busy-5.png" COMP;
+         image: "busy-6.png" COMP;
+         image: "busy-7.png" COMP;
+         image: "busy-8.png" COMP;
+         image: "busy-9.png" COMP;
+         image: "exclam.png" COMP;
+         image: "bd_button_close_shadow.png" COMP;
+         image: "bd_button_close_focused.png" COMP;
+         image: "bd_button_close_unfocused.png" COMP;
+         image: "bd_button_max_shadow.png" COMP;
+         image: "bd_button_max_unfocused.png" COMP;
+         image: "bd_button_min_shadow.png" COMP;
+         image: "bd_button_min_focused.png" COMP;
+         image: "bd_button_min_unfocused.png" COMP;
+      }
+      parts {
+         part {
+            name: "top";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "title_base";
+               }
+               color_class: "border_top";
+               image {
+                  normal: "bd_top.png";
+                  border: 2 2 2 2;
+               }
+            }
+         }
+         part {
+            name: "icon_area";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 2 -3;
+                  to_y: "title_base";
+               }
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  offset: 2 3;
+               }
+               rel2 {
+                  offset: 2 -2;
+               }
+            }
+         }
+         part {
+            name: "icon_area2";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+            }
+            description {
+               state: "uw0" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -3 -2;
+               rel2.offset: -4 -3;
+            }
+            description {
+               state: "uw1" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 5 -2;
+               rel2.offset: 4 -3;
+            }
+            description {
+               state: "uw2" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -1 4;
+               rel2.offset: -2 3;
+            }
+            description {
+               state: "uw3" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -2 -1;
+               rel2.offset: -3 -2;
+            }
+            description {
+               state: "uw4" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: -4 1;
+               rel2.offset: -5 0;
+            }
+         }
+         part {
+            name: "busy";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               max: 32 32;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image {
+                  tween: "busy-1.png";
+                  tween: "busy-2.png";
+                  tween: "busy-3.png";
+                  tween: "busy-4.png";
+                  tween: "busy-5.png";
+                  tween: "busy-6.png";
+                  tween: "busy-7.png";
+                  tween: "busy-8.png";
+                  normal: "busy-9.png";
+               }
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area2";
+               rel2.to: "icon_area2";
+            }
+            description {
+               state: "shrunk" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.3 0.3;
+               rel2.relative: 0.7 0.7;
+            }
+         }
+         part {
+            name: "urgent";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "urgent2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               image.normal: "exclam.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "faded" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: -1.0 -1.0;
+               rel2.relative: 2.0 2.0;
+               visible: 1;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.text.title";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 9 2;
+                  to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -8 2;
+                  to_x: "title_base";
+               }
+               color_class: "border_title";
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 0 1;
+                  align: 0.0 0.0;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "bt_close";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -28 1;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_close_shadow.png";
+            }
+         }
+         part {
+            name: "bt_max";
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 22 22;
+               max: 22 22;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_close";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_close";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_max_shadow.png";
+            }
+         }
+         part {
+            name: "bt_min";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               min: 22 22;
+               max: 22 22;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 1;
+                  to_x: "bt_max";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -2 -2;
+                  to_x: "bt_max";
+                  to_y: "top";
+               }
+               image.normal: "bd_button_min_shadow.png";
+            }
+         }
+         part {
+            name: "top_hilight";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+                  to: "top";
+               }
+               color_class: "border_top_hilight";
+               image {
+                  normal: "bd_top_hilight.png";
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "buttons_unfoc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "bt_close_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "bd_button_close_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_unfoc";
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "bd_button_max_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "bd_button_min_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "buttons_foc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "bt_close_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "bd_button_close_focused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_max_foc";
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_max";
+               rel2.to: "bt_max";
+               image.normal: "bd_button_max_unfocused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "bt_min_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               image.normal: "bd_button_min_focused.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "title_base";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 0 0;
+                  to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -3 4;
+                  to_y: "e.text.title";
+                  to_x: "bt_min";
+               }
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "title_base";
+               }
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 0.0;
+               }
+               image {
+                  normal: "bd_title_bg.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part {
+            name: "title2";
+            type: TEXT;
+            mouse_events: 0;
+            effect: SOFT_SHADOW;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 1.0;
+               rel1 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 0.0 1.0;
+                  offset: -1 0;
+               }
+               rel2 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 1.0 1.0;
+                  offset: 0 1;
+               }
+               color_class: "border_title_active";
+               text {
+                  text_source: "e.text.title";
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.0 0.0;
+                  min: 0 1;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               image {
+                  normal: "bd_title_over.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+         }
+         part {
+            name: "e.event.titlebar";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "title_base";
+               rel2.to: "title_base";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.icon";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "icon_area";
+               rel2.to: "icon_area";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.close";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.minimize";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_min";
+               rel2.to: "bt_min";
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "focus_in";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "focused" 0.0;
+            transition: LINEAR 0.2;
+            target: "title_back";
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "focus_out";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "title_back";
+            target: "title2";
+            target: "title_over";
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+            target: "e.text.title";
+         }
+         program {
+            name: "urgent";
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            target: "urgent";
+            target: "urgent2";
+            transition: DECELERATE 0.5;
+            after: "urgent2";
+         }
+         program {
+            name: "urgent2";
+            action: STATE_SET "faded" 0.0;
+            target: "urgent2";
+            transition: LINEAR 0.5;
+            after: "urgent3";
+         }
+         program {
+            name: "urgent3";
+            action: STATE_SET "visible" 0.0;
+            target: "urgent2";
+            after: "urgent2";
+         }
+         program {
+            name: "urgentw0";
+            signal: "e,state,urgent";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw1";
+         }
+         program {
+            name: "urgentw1";
+            action: STATE_SET "uw1" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw2";
+         }
+         program {
+            name: "urgentw2";
+            action: STATE_SET "uw2" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw3";
+         }
+         program {
+            name: "urgentw3";
+            action: STATE_SET "uw3" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw4";
+         }
+         program {
+            name: "urgentw4";
+            action: STATE_SET "uw4" 0.0;
+            target: "icon_area2";
+            transition: DECELERATE 0.1;
+            after: "urgentw0";
+         }
+         program {
+            name: "not_urgent";
+            signal: "e,state,not_urgent";
+            source: "e";
+            action: ACTION_STOP;
+            target: "urgentw0";
+            target: "urgentw1";
+            target: "urgentw2";
+            target: "urgentw3";
+            target: "urgentw4";
+            target: "urgent";
+            target: "urgent2";
+            target: "urgent3";
+            after: "not_urgent2";
+         }
+         program {
+            name: "not_urgent2";
+            action: STATE_SET "default" 0.0;
+            target: "urgent";
+            target: "urgent2";
+            target: "icon_area2";
+         }
+         program {
+            name: "hung";
+            signal: "e,state,hung";
+            source: "e";
+            /* FIXME: */
+            action: STATE_SET "shrunk" 0.0;
+            target: "e.swallow.icon";
+            transition: DECELERATE 0.5;
+         }
+         program {
+            name: "unhung";
+            signal: "e,state,unhung";
+            source: "e";
+            /* FIXME: */
+            action: ACTION_STOP;
+            target: "busy_anim";
+         }
+         program {
+            name: "unhung2";
+            signal: "e,state,unhung";
+            source: "e";
+            /* FIXME: */
+            action: STATE_SET "default" 0.0;
+            target: "e.swallow.icon";
+            target: "busy";
+            transition: ACCELERATE 0.5;
+         }
+         program {
+            name: "busy_anim";
+            signal: "e,state,hung";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.3333;
+            target: "busy";
+            after: "busy_anim";
+         }
+         program {
+            name: "shade_end";
+            signal: "e,state,shaded";
+            source: "e";
+            action: STATE_SET "shaded" 0.0;
+            target: "e.swallow.client";
+         }
+         program {
+            name: "unshade_start";
+            signal: "e,state,unshading";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "e.swallow.client";
+         }
+         program {
+            name: "icon_down";
+            signal: "mouse,down,*";
+            source: "e.event.icon";
+            action: STATE_SET "active" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "icon_up";
+            signal: "mouse,up,*";
+            source: "e.event.icon";
+            action: STATE_SET "default" 0.0;
+            target: "icon_area";
+         }
+         program {
+            name: "bt_close_down";
+            signal: "mouse,down,*";
+            source: "e.event.close";
+            action: STATE_SET "active" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_close_up";
+            signal: "mouse,up,*";
+            source: "e.event.close";
+            action: STATE_SET "default" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_min_down";
+            signal: "mouse,down,*";
+            source: "e.event.minimize";
+            action: STATE_SET "active" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+         program {
+            name: "bt_min_up";
+            signal: "mouse,up,*";
+            source: "e.event.minimize";
+            action: STATE_SET "default" 0.0;
+            target: "bt_min_unfoc";
+            target: "bt_min_foc";
+         }
+      }
+   }
+   /*** DIALOG WINDOW BORDER ***/
+   group {
+      name: "e/widgets/border/dialog/border";
+      images {
+         image: "added_images/DM_Internet_Title_bg.png" COMP;
+         image: "added_images/DM_Internet_icon_close.png" COMP;
+         image: "bd_top.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_bottom.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+         image: "bd_resize_b.png" COMP;
+         image: "busy-1.png" COMP;
+         image: "busy-2.png" COMP;
+         image: "busy-3.png" COMP;
+         image: "busy-4.png" COMP;
+         image: "busy-5.png" COMP;
+         image: "busy-6.png" COMP;
+         image: "busy-7.png" COMP;
+         image: "busy-8.png" COMP;
+         image: "busy-9.png" COMP;
+         image: "exclam.png" COMP;
+         image: "bd_button_close_shadow.png" COMP;
+         image: "bd_button_close_focused.png" COMP;
+         image: "bd_button_close_unfocused.png" COMP;
+      }
+      parts {
+         part {
+            name: "top";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_y: "title_base";
+               }
+               color_class: "border_top";
+               image {
+                  normal: "added_images/DM_Internet_Title_bg.png";
+               }
+            }
+         }
+         part {
+            name: "bottom";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+               }
+               color_class: "border_bottom";
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.text.title";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               align: 0.5 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 9 2;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -8 2;
+                  to_x: "title_base";
+               }
+               color: 255 255 255 255;
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 0 1;
+                  align: 0.5 0.0;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bt_close";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -28 1;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+         }
+         part {
+            name: "top_hilight";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+                  to: "top";
+               }
+               color_class: "border_top_hilight";
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "buttons_unfoc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "bt_close_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "buttons_foc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "bt_close_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "title_base";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  //to_x: "icon_area";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -3 4;
+                  to_y: "e.text.title";
+                  to_x: "bt_close";
+               }
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "title_base";
+               }
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 0.0;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part {
+            name: "title2";
+            type: TEXT;
+            mouse_events: 0;
+            effect: SOFT_SHADOW;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 1.0;
+               rel1 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 0.0 1.0;
+                  offset: -1 0;
+               }
+               rel2 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 1.0 1.0;
+                  offset: 0 0;
+               }
+               color_class: "border_title_active";
+               text {
+                  text_source: "e.text.title";
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.5 0.0;
+                  min: 0 1;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bottom_clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bottom";
+               rel2.to: "bottom";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "resize_b";
+            mouse_events: 0;
+            clip_to: "bottom_clip";
+            description {
+               state: "default" 0.0;
+               min: 20 10;
+               max: 20 10;
+               rel1 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -10;
+               }
+               rel2 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -1;
+               }
+               image {
+                  normal: "bd_resize_b.png";
+               }
+            }
+            description {
+               state: "past" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 0 9;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+         }
+         part {
+            name: "e.event.titlebar";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "title_base";
+               rel2.to: "title_base";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.resize.t";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 3;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.b";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -4;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  offset: 15 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.tr";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -16 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 15;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.bl";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -16;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 15 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.resize.br";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  offset: -16 -16;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 0;
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.event.close";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "focus_in";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "focused" 0.0;
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+         }
+         program {
+            name: "focus_out";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+         }
+         program {
+            name: "max_full";
+            signal: "e,action,maximize,fullscreen";
+            source: "e";
+            action: STATE_SET "max" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "unmax_full";
+            signal: "e,action,unmaximize,fullscreen";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "shade_end";
+            signal: "e,state,shaded";
+            source: "e";
+            action: STATE_SET "shaded" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         program {
+            name: "unshade_start";
+            signal: "e,state,unshading";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+            target: "e.event.resize.tl";
+            target: "e.event.resize.tr";
+            target: "e.event.resize.bl";
+            target: "e.event.resize.br";
+            target: "e.event.resize.t";
+            target: "e.event.resize.b";
+         }
+         program {
+            name: "resize_b_on";
+            signal: "mouse,in";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_on2";
+            action: STATE_SET "default" 0.0;
+            target: "resize_b";
+            after: "resize_b_on3";
+         }
+         program {
+            name: "resize_b_on3";
+            action: STATE_SET "past" 0.0;
+            transition: LINEAR 0.5;
+            target: "resize_b";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_off";
+            signal: "mouse,out";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on";
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+         }
+         program {
+            name: "bt_close_down";
+            signal: "mouse,down,*";
+            source: "e.event.close";
+            action: STATE_SET "active" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_close_up";
+            signal: "mouse,up,*";
+            source: "e.event.close";
+            action: STATE_SET "default" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+      }
+   }
+   /*** NORESIZE DIALOG WINDOW BORDER ***/
+   group {
+      name: "e/widgets/border/noresize_dialog/border";
+      images {
+         image: "added_images/DM_Internet_Title_bg.png" COMP;
+         image: "added_images/DM_Internet_icon_close.png" COMP;
+         image: "bd_top.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_bottom.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+         image: "bd_resize_b.png" COMP;
+         image: "busy-1.png" COMP;
+         image: "busy-2.png" COMP;
+         image: "busy-3.png" COMP;
+         image: "busy-4.png" COMP;
+         image: "busy-5.png" COMP;
+         image: "busy-6.png" COMP;
+         image: "busy-7.png" COMP;
+         image: "busy-8.png" COMP;
+         image: "busy-9.png" COMP;
+         image: "exclam.png" COMP;
+         image: "bd_button_close_shadow.png" COMP;
+         image: "bd_button_close_focused.png" COMP;
+         image: "bd_button_close_unfocused.png" COMP;
+      }
+      parts {
+         part {
+            name: "top";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_y: "title_base";
+               }
+               color_class: "border_top";
+               image {
+                  normal: "added_images/DM_Internet_Title_bg.png";
+               }
+            }
+         }
+         part {
+            name: "bottom";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+               }
+               color_class: "border_bottom";
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "e.text.title";
+            type: TEXT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               align: 0.5 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 9 2;
+                  //to_x: "title_base";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -8 2;
+                  to_x: "title_base";
+               }
+               color: 255 255 255 255;
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 0 1;
+                  align: 0.5 0.0;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bt_close";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 14 14;
+               max: 14 14;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -28 2;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  to_x: "top";
+                  to_y: "top";
+               }
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+         }
+         part {
+            name: "top_hilight";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+                  to: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+                  to: "top";
+               }
+               color_class: "border_top_hilight";
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "buttons_unfoc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "bt_close_unfoc";
+            mouse_events: 0;
+            clip_to: "buttons_unfoc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "buttons_foc";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "bt_close_foc";
+            mouse_events: 0;
+            clip_to: "buttons_foc";
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               image.normal: "added_images/DM_Internet_icon_close.png";
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel1.offset: 0 1;
+               rel2.offset: -1 0;
+            }
+         }
+         part {
+            name: "title_base";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: -3 4;
+                  to_y: "e.text.title";
+                  to_x: "bt_close";
+               }
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "title_base";
+               }
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 0.0;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to: "title_base";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part {
+            name: "title2";
+            type: TEXT;
+            mouse_events: 0;
+            effect: SOFT_SHADOW;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               align: 0.0 1.0;
+               rel1 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 0.0 1.0;
+                  offset: -1 0;
+               }
+               rel2 {
+                  to_x: "e.text.title";
+                  to_y: "title_back";
+                  relative: 1.0 1.0;
+                  offset: 0 0;
+               }
+               color_class: "border_title_active";
+               text {
+                  text_source: "e.text.title";
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.5 0.0;
+                  min: 0 1;
+                  text_class: "title_bar";
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               fill.smooth: 0;
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "bottom_clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bottom";
+               rel2.to: "bottom";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "resize_b";
+            mouse_events: 0;
+            clip_to: "bottom_clip";
+            description {
+               state: "default" 0.0;
+               min: 20 10;
+               max: 20 10;
+               rel1 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -10;
+               }
+               rel2 {
+                  to: "bottom";
+                  relative: 0.5 0.0;
+                  offset: 0 -1;
+               }
+               image {
+                  normal: "bd_resize_b.png";
+               }
+            }
+            description {
+               state: "past" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 0 9;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "shaded" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+            description {
+               state: "max" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+                  to_y: "top";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+                  to_y: "bottom";
+               }
+            }
+         }
+         part {
+            name: "e.event.titlebar";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "title_base";
+               rel2.to: "title_base";
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.event.close";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "bt_close";
+               rel2.to: "bt_close";
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "focus_in";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "focused" 0.0;
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+         }
+         program {
+            name: "focus_out";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "buttons_foc";
+            target: "buttons_unfoc";
+         }
+         program {
+            name: "max_full";
+            signal: "e,action,maximize,fullscreen";
+            source: "e";
+            action: STATE_SET "max" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "unmax_full";
+            signal: "e,action,unmaximize,fullscreen";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bottom";
+            target: "e.swallow.client";
+         }
+         program {
+            name: "resize_b_on";
+            signal: "mouse,in";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_on2";
+            action: STATE_SET "default" 0.0;
+            target: "resize_b";
+            after: "resize_b_on3";
+         }
+         program {
+            name: "resize_b_on3";
+            action: STATE_SET "past" 0.0;
+            transition: LINEAR 0.5;
+            target: "resize_b";
+            after: "resize_b_on2";
+         }
+         program {
+            name: "resize_b_off";
+            signal: "mouse,out";
+            source: "e.event.resize.b";
+            action: ACTION_STOP;
+            target: "resize_b_on";
+            target: "resize_b_on2";
+            target: "resize_b_on3";
+         }
+         program {
+            name: "bt_close_down";
+            signal: "mouse,down,*";
+            source: "e.event.close";
+            action: STATE_SET "active" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+         program {
+            name: "bt_close_up";
+            signal: "mouse,up,*";
+            source: "e.event.close";
+            action: STATE_SET "default" 0.0;
+            target: "bt_close_unfoc";
+            target: "bt_close_foc";
+         }
+      }
+   }
+   /*** BONUS BORDERS TO CHOOSE FROM ***/
+   group {
+      name: "e/widgets/border/pixel/border";
+      parts {
+         part {
+            name: "px1";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 0;
+               }
+               color: 0 0 0 255;
+            }
+         }
+         part {
+            name: "px2";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 -1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               color: 0 0 0 255;
+            }
+         }
+         part {
+            name: "px3";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 1;
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 0 -2;
+               }
+               color: 0 0 0 255;
+            }
+         }
+         part {
+            name: "px4";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -1 1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -2;
+               }
+               color: 0 0 0 255;
+            }
+         }
+         part {
+            name: "e.swallow.client";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 1 1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -2 -2;
+               }
+            }
+         }
+      }
+   }
+/////////////////////////////////////////////////////////////////////////////
+/*** THE DEFAULT MOUSE CURSOR - MONOCHROME. REALLY BORING ***/
+   /* This pointer is used if the Xserver does not support full ARGB color
+    * pointers. This can happen if X is old or the driver or libxcursor did
+    * not exist when ecore was compiled. since the cursor will be literally
+    * reduced down to black and white with a single transparency mask,
+    * colors other than black and whigte will be lost (and be approximated
+    * with dithering) and any translucency other than completely opaque or
+    * completely transparent pixels will also be lost. it then makes sense
+    * to have a special black and white only image with no semi-transparency
+    * so when this is displayed it will look directly as intended by the
+    * artist */
+
+   group {
+      name: "e/pointer/enlightenment/default/mono";
+      images {
+         image: "added_images/e17_pointer_mono.png" COMP;
+      }
+      parts {
+         part {
+            name: "e/pointer";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "added_images/e17_pointer_mono.png";
+               }
+            }
+         }
+         part {
+            name: "hotspot";
+            /* this cursor also has a hotspot */
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 1 1;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  offset: 1 1;
+               }
+            }
+         }
+      }
+   }
+/////////////////////////////////////////////////////////////////////////////
+/*** TOOLBAR ****/
+
+   group {
+      name: "e/widgets/toolbar";
+      images {
+         image: "bt_dis_base.png" COMP;
+         image: "bt_dis_hilight.png" COMP;
+         image: "bt_dis_shine.png" COMP;
+         image: "icon_left_arrow.png" COMP;
+         image: "icon_right_arrow.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2 2;
+               }
+               rel2.offset: -3 -3;
+               image {
+                  normal: "bt_dis_base.png";
+                  border: 4 4 4 4;
+               }
+            }
+         }
+         part {
+            name: "clipper";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "base";
+                  offset: 2 2;
+               }
+               rel2 {
+                  to: "base";
+                  offset: -3 -3;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            clip_to: "clipper";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1.to: "clipper";
+               rel2.to: "clipper";
+            }
+         }
+         part {
+            name: "over2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               image {
+                  normal: "bt_dis_shine.png";
+                  border: 4 4 4 4;
+               }
+            }
+         }
+         part {
+            name: "over1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               rel2.relative: 1.0 0.5;
+               image {
+                  normal: "bt_dis_hilight.png";
+                  border: 4 4 4 0;
+               }
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "left_arrow";
+            mouse_events: 1;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               image.normal: "icon_left_arrow.png";
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               align: 0.0 0.5;
+               min: 32 32;
+               max: 32 32;
+            }
+            description {
+               state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "right_arrow";
+            mouse_events: 1;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               image.normal: "icon_right_arrow.png";
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               align: 1.0 0.5;
+               min: 32 32;
+               max: 32 32;
+            }
+            description {
+               state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.dragable.hbar";
+            mouse_events: 0;
+            dragable {
+               x: 1 1 0;
+               y: 0 0 0;
+               confine: "base";
+            }
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "base";
+               rel2.to: "base";
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sb_hbar_show";
+            signal: "e,action,show,hbar";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.5;
+            target: "left_arrow";
+            target: "right_arrow";
+         }
+         program {
+            name: "sb_hbar_hide";
+            signal: "e,action,hide,hbar";
+            source: "e";
+            action: STATE_SET "hidden" 0.0;
+            target: "left_arrow";
+            target: "right_arrow";
+            transition: LINEAR 0.5;
+         }
+         program {
+            name: "sb_left";
+            signal: "mouse,down,1";
+            source: "left_arrow";
+            action: SIGNAL_EMIT "e,action,prev" "e";
+         }
+         program {
+            name: "sb_right";
+            signal: "mouse,down,1";
+            source: "right_arrow";
+            action: SIGNAL_EMIT "e,action,next" "e";
+         }
+      }
+   }
+   group {
+      name: "e/widgets/toolbar/item";
+      images {
+         image: "toolbar_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "label2";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               fixed: 0 1;
+               rel1.to: "e.text.label";
+               rel2.to: "e.text.label";
+               color: 0 0 0 255;
+               text {
+                  font: "Sans";
+                  text_source: "e.text.label";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "fileman_icon";
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               image {
+                  normal: "toolbar_sel.png";
+                  border: 3 3 0 0;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.5;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  to_y: "e.text.label";
+                  relative: 1.0 0.0;
+                  offset: -3 -1;
+               }
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               fixed: 0 1;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 0 2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+               visible: 0;
+               color: 224 224 224 255;
+               color3: 0 0 0 32;
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "fileman_icon";
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            mouse_events: 1;
+            ignore_flags: ON_HOLD;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "bg";
+            target: "e.text.label";
+            target: "label2";
+            transition: LINEAR 0.2;
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "e.text.label";
+            target: "label2";
+            transition: LINEAR 0.1;
+         }
+         program {
+            name: "go";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "e,action,click" "e";
+         }
+      }
+   }
+
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MENUS ***/
+
+   /* this is the background for all menus. it also may optionally display a
+    * title for the menu. this is wrapped around all the menu items that are
+    * laid out in a vertical list from top to bottom */
+
+   group {
+      name: "e/widgets/menu/default/background";
+      images {
+         image: "base_bg.png" COMP;
+         image: "bd_top_hilight.png" COMP;
+         image: "bd_title_bg.png" COMP;
+         image: "bd_title_over.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.0;
+               color_class: "menu_base";
+               image {
+                  normal: "base_bg.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+               /* note - a shortcut for avoiding doing
+                * fill { smooth: 0; } */
+            }
+         }
+         part {
+            name: "top_hilight";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 15;
+               }
+               image.normal: "bd_top_hilight.png";
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "title_back";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 4 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -5 0;
+               }
+               image {
+                  normal: "bd_title_bg.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 4 0;
+               }
+               rel2 {
+                  to_y: "e.text.title";
+                  relative: 1.0 1.0;
+                  offset: -5 -4;
+               }
+            }
+         }
+         part {
+            name: "e.text.title";
+            /* e sets the text of this to the title
+             * if there is any */
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            effect: SOFT_SHADOW;
+            description {
+               state: "default" 0.0;
+               fixed: 1 1;
+               visible: 0;
+               align: 0.5 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -1 0;
+               }
+               color_class: "menu_title";
+               text {
+                  text_source: "e.text.title";
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  align: 0.5 0.0;
+                  min: 0 0;
+                  text_class: "menu_title";
+               }
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color_class: "menu_title_active";
+               text.min: 1 1;
+            }
+         }
+         part {
+            name: "title_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               rel1.to: "title_back";
+               rel2.to: "title_back";
+               image {
+                  normal: "bd_title_over.png";
+                  border: 7 7 2 7;
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            /* this swallow part determines
+             * where in the menu the vertical
+             * list of menu items is put */
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_y: "e.text.title";
+                  relative: 0.0 1.0;
+                  offset: 2 1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -3 -3;
+               }
+            }
+         }
+      }
+      programs {
+         program {
+            name: "on";
+            /* this program is run when e emits a signal
+             * to display a title. e will also set the
+             * title text */
+            signal: "e,action,show,title";
+            source: "e";
+            action: STATE_SET "active" 0.0;
+            target: "title_back";
+            target: "e.text.title";
+            target: "title_over";
+         }
+         program {
+            name: "off";
+            /* run when the title is removed */
+            signal: "e,action,hide,title";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "title_back";
+            target: "e.text.title";
+            target: "title_over";
+         }
+      }
+   }
+   /* this is placed as a horizontal separator between menu items in the
+    * vertical menu item list. it has no functionality other than being
+    * a visual separator */
+   group {
+      name: "e/widgets/menu/default/separator";
+      images {
+         image: "menu_sep.png" COMP;
+      }
+      parts {
+         part {
+            name: "separator";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 16 2;
+               rel1.offset: 2 2;
+               rel2.offset: -3 -3;
+               image {
+                  normal: "menu_sep.png";
+                  border: 2 2 0 0;
+               }
+               fill.smooth: 0;
+            }
+         }
+      }
+   }
+   /* this is used for regular menu items. this is what swallows/holds the
+    * whole line of the menu item, icon, check/radio mark, label and submenu
+    * indicator, where applicable */
+   group {
+      name: "e/widgets/menu/default/item_bg";
+      /* this is idential to the regular menu item above, but used only for
+       * items that have a submenu. this is to allow for a possible different
+       * look for submenu holding items. here this is identical to to the
+       * normal menu item, thus we are making use of the alias directive that
+       * gives a group the ability to go by manu names */
+      alias: "e/widgets/menu/default/submenu_bg";
+      images {
+         image: "menu_sel_bg.png" COMP;
+         image: "menu_sel_fg.png" COMP;
+      }
+      parts {
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -3;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 5;
+               }
+               image {
+                  normal: "menu_sel_bg.png";
+                  border: 8 8 5 9;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 2;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            /* all item content will go here */
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1.offset: 2 1;
+               rel2.offset: -3 -2;
+            }
+         }
+         part {
+            name: "fg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "menu_sel_fg.png";
+                  border: 8 8 5 9;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sel";
+            /* when the menu item is selected (hilighted)
+             * this program is run to give the whole item
+             * an overall selected look */
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            transition: LINEAR 0.2;
+            target: "bg";
+            target: "fg";
+         }
+         program {
+            name: "unsel";
+            /* when selection is removed from the menu
+             * item */
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.1;
+            target: "bg";
+            target: "fg";
+         }
+      }
+   }
+   /* this group holds a menu icon. here we just use it to add padding around
+    * the icon. And to gray-out when disabled */
+   group {
+      name: "e/widgets/menu/default/icon";
+      parts {
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               min: 10 10;
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "disabled" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            /* icon is swallowed here */
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 24 24;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -3 -3;
+               }
+            }
+         }
+      }
+      programs {
+         program {
+            name: "enable";
+            /* enable */
+            signal: "e,state,enable";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "clip";
+         }
+         program {
+            name: "disable";
+            /* disable */
+            signal: "e,state,disable";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "clip";
+         }
+      }
+   }
+   /* this is the actual text label for the menu item */
+   group {
+      name: "e/widgets/menu/default/label";
+      parts {
+         part {
+            name: "e.text.label";
+            /* e sets the text of this */
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 1 -1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 1;
+               }
+               color_class: "menu_item";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "menu_item";
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color_class: "menu_item_active";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "menu_item_disabled";
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sel";
+            /* when the menu item is actually selected */
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            transition: LINEAR 0.2;
+            target: "e.text.label";
+         }
+         program {
+            name: "unsel";
+            /* on de-select */
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.3;
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            /* enable */
+            signal: "e,state,enable";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.3;
+            target: "e.text.label";
+         }
+         program {
+            name: "disable";
+            /* disable */
+            signal: "e,state,disable";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            //transition: LINEAR 0.3;
+            target: "e.text.label";
+         }
+      }
+   }
+   /* this is a small arrow on the right of the menu item to indicate that it
+    * has a submenu after it */
+   group {
+      name: "e/widgets/menu/default/submenu";
+      images {
+         image: "menu_arrow_normal.png" COMP;
+         image: "menu_arrow_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "arrow";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 9 12;
+               max: 9 12;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 4 1;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -3 -1;
+               }
+               image.normal: "menu_arrow_normal.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "menu_arrow_sel.png";
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sel";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "arrow";
+         }
+         program {
+            name: "unsel";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "arrow";
+         }
+      }
+   }
+   /* this is placed left of the icon in a menu item (if any icon) or left
+    * of the label if no icon is present. this is a checkbox to indicate if
+    * the menu item is enabled or disabled */
+   group {
+      name: "e/widgets/menu/default/check";
+      images {
+         image: "check_base.png" COMP;
+         image: "check_on.png" COMP;
+         image: "check_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               image.normal: "check_base.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "check_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "check_sel.png";
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sel";
+            /* on selection of the menu item */
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "mark";
+         }
+         program {
+            name: "unsel";
+            /* de-select */
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+         }
+         program {
+            name: "on";
+            /* if the checkmark is to be displayed */
+            signal: "e,state,on";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            /* check mark is not to be displayed */
+            signal: "e,state,off";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+      }
+   }
+   /* for a radio menu item - same as check, but only one of a group of radio
+    * menu item can be selected at any one time */
+   group {
+      name: "e/widgets/menu/default/radio";
+      images {
+         image: "radio_base.png" COMP;
+         image: "radio_on.png" COMP;
+         image: "radio_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               image.normal: "radio_base.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "menu_arrow_sel.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "radio_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "radio_sel.png";
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sel";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "mark";
+         }
+         program {
+            name: "unsel";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+         }
+         program {
+            name: "on";
+            signal: "e,state,on";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            signal: "e,state,off";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+      }
+   }
+
+
+/////////////////////////////////////////////////////////////////////////////
+/*** SHELF ***/
+
+   /* Shelves are "panels" that  are placed around the edges of the screen
+    * to hold useful gadgets to control things - like switch desktops
+    * (the pager module and its gadget), launch programs, and anything else
+    * someone wants to put in there. The way to add gadgets to a shelf is to
+    * write a module that places a gadget there. This means that it might end
+    * up containing all sorts of things and the artist needs to be aware of
+    * that and make sure the shelf border and background etc. won't interfere
+    * with all manner of things that may get placed there */
+
+   group {
+      name: "e/shelf/default/base";
+      data {
+         /* this tells e the shelf is shaped, not rectangular */
+         //    item: "shaped" "1";
+         /* this tells e the number of pixels of the shelf to leave "exposed"
+          * when auto-hiding the shelf */
+         item: "hidden_state_size" "1";
+         /* This makes the border hide instantly after the given amount of
+          * seconds - in this case 3 seconds. This means there will be no
+          * visible part of the shelf after this time at all as it will be
+          * totally hidden */
+         //    item: "instant_delay" "3.0";
+      }
+      images {
+         image: "base_bg.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "shelf_base";
+               image.normal: "base_bg.png";
+               image.border: 2 2 2 2;
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 3 3;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -4 -4;
+               }
+            }
+         }
+      }
+      programs {
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top_left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top_right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom_left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom_right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left_top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left_bottom";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right_top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right_bottom";
+         //    source: "e";
+         //      }
+         // tell us we became a visible shelf. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,visible";
+         //    source: "e";
+         //      }
+         // tell us we became a hidden shelf. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,hidden";
+         //    source: "e";
+         //      }
+      }
+   }
+   /* This is put around gadgets in the shelf if they ask for an "inset" style
+    * framing. This puts some sort of bordering around them to make them look
+    * "inset" into the shelf or screen. this is meant to go with the default
+    * shelf style as implied in the group name */
+   group {
+      name: "e/shelf/default/inset";
+      images {
+         image: "inset_sunk.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "inset";
+                  offset: 1 1;
+               }
+               rel2 {
+                  to: "inset";
+                  offset: -2 -2;
+               }
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "base";
+                  offset: 1 1;
+               }
+               rel2 {
+                  to: "base";
+                  offset: -2 -2;
+               }
+            }
+         }
+         part {
+            name: "inset";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 1 1;
+               rel2.offset: -2 -2;
+               image.normal: "inset_sunk.png";
+               image.middle: 0;
+               /* here we say the "middle" part of the image
+                * between the borders is not filled - it's
+                * empty, so don't draw it - ignore it */
+               image.border: 7 7 7 7;
+               fill.smooth: 0;
+            }
+         }
+      }
+      programs {
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top_left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,top_right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom_left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,bottom_right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left_top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,left_bottom";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right_top";
+         //    source: "e";
+         //      }
+         // tell us what oriantation we are in. not used here
+         //      program { name: "xx";
+         //    signal: "e,state,orientation,right_bottom";
+         //    source: "e";
+         //      }
+      }
+   }
+   /* Same as inset, but meant to be with no decorations that are visible. here
+    * we simply make the content swallow inset a bit from the edges to align
+    * with any plain style inset boxes */
+   group {
+      name: "e/shelf/default/plain";
+      parts {
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1.offset: 1 1;
+               rel2.offset: -2 -2;
+            }
+         }
+      }
+   }
+   /* This is the "invisible" shelf. Yes. Even it has visual config in edje.
+    * The idea is that it will remain invisible, BUT will allow the designer
+    * to do some layout and padding. This gets the same signals as the
+    * default shelf and can provide the same data items */
+   group {
+      name: "e/shelf/invisible/base";
+      data.item: "shaped" "1";
+      parts {
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -1 -1;
+               }
+            }
+         }
+      }
+   }
+   group {
+      name: "e/shelf/invisible/inset";
+      images {
+         image: "inset_sunk_dark.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "inset";
+                  offset: 1 1;
+               }
+               rel2 {
+                  to: "inset";
+                  offset: -2 -2;
+               }
+               color: 0 0 0 32;
+            }
+         }
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "base";
+                  offset: 1 1;
+               }
+               rel2 {
+                  to: "base";
+                  offset: -2 -2;
+               }
+            }
+         }
+         part {
+            name: "inset";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 1 1;
+               rel2.offset: -2 -2;
+               image.normal: "inset_sunk_dark.png";
+               image.middle: 0;
+               image.border: 7 7 7 7;
+               fill.smooth: 0;
+            }
+         }
+      }
+   }
+   group {
+      name: "e/shelf/invisible/plain";
+      parts {
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1.offset: 1 1;
+               rel2.offset: -2 -2;
+            }
+         }
+      }
+   }
+   /* This is the alternate shelf. It provides a stylistic alternative to
+    * make the shelf more dynamic to your tastes and wallpaper. It is
+    * selected in the Shelf Configuration. More alternative shelfs can
+    * be provided by using more group names. eg, "e/shelf/black/base" */
+   group {
+      name: "e/shelf/alternate/base";
+      images {
+         image: "shelf_alt_bg.png" COMP;
+         //     image: "shelf_alt_bg_left.png" COMP;
+         //     image: "shelf_alt_bg_right.png" COMP;
+         image: "shelf_alt_over.png" COMP;
+         //     image: "shelf_alt_over_left.png" COMP;
+         //     image: "shelf_alt_over_right.png" COMP;
+         image: "shelf_alt_shine.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "shelf_base";
+               image.normal: "shelf_alt_bg.png";
+               fill.smooth: 0;
+            }
+            //        description { state: "left" 0.0;
+            //           image.normal: "shelf_alt_bg_left.png";
+            //           fill.smooth: 0;
+            //        }
+            //        description { state: "right" 0.0;
+            //           image.normal: "shelf_alt_bg_right.png";
+            //           fill.smooth: 0;
+            //        }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 3 3;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -4 -4;
+               }
+            }
+         }
+         part {
+            name: "shine";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image.normal: "shelf_alt_shine.png";
+               rel2.relative: 1.0 0.5;
+               fill.smooth: 0;
+            }
+            //        description { state: "left" 0.0;
+            //           inherit: "default" 0.0;
+            //           color: 255 255 255 0;
+            //        }
+            //        description { state: "right" 0.0;
+            //           inherit: "default" 0.0;
+            //           color: 255 255 255 0;
+            //        }
+         }
+         part {
+            name: "over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image.normal: "shelf_alt_over.png";
+               image.border: 5 5 5 5;
+               image.middle: 0;
+               fill.smooth: 0;
+            }
+            //        description { state: "left" 0.0;
+            //           image.normal: "shelf_alt_over_left.png";
+            //           image.border: 5 5 5 5;
+            //           image.middle: 0;
+            //           fill.smooth: 0;
+            //        }
+            //        description { state: "right" 0.0;
+            //           image.normal: "shelf_alt_over_right.png";
+            //           image.border: 5 5 5 5;
+            //           image.middle: 0;
+            //           fill.smooth: 0;
+            //        }
+         }
+      }
+      /* Because programs can not respond to 2 different types of signals,
+       * the programs are split into individual programs that point towards
+       * the base program for its orientation. */
+      programs {
+         /* Left orientation */
+         //     program { name: "left";
+         //        signal: "e,state,orientation,left";
+         //        source: "e";
+         //        action: STATE_SET "left" 0.0;
+         //        target: "base";
+         //        target: "over";
+         //        target: "shine";
+         //     }
+         //     program { name: "left_top";
+         //        signal: "e,state,orientation,left_top";
+         //        source: "e";
+         //        after: "left";
+         //     }
+         //     program { name: "left_bottom";
+         //        signal: "e,state,orientation,left_bottom";
+         //        source: "e";
+         //        after: "left";
+         //     }
+         //     /* Right orientation */
+         //     program { name: "right";
+         //        signal: "e,state,orientation,right";
+         //        source: "e";
+         //        action: STATE_SET "right" 0.0;
+         //        target: "base";
+         //        target: "over";
+         //        target: "shine";
+         //     }
+         //     program { name: "right_top";
+         //        signal: "e,state,orientation,right_top";
+         //        source: "e";
+         //        after: "right";
+         //     }
+         //     program { name: "right_bottom";
+         //        signal: "e,state,orientation,right_bottom";
+         //        source: "e";
+         //        after: "right";
+         //     }
+      }
+   }
+   /* This is the alternate shelf. It provides a stylistic alternative to
+    * make the shelf more dynamic to your tastes and wallpaper. It is
+    * selected in the Shelf Configuration. More alternative shelfs can
+    * be provided by using more group names. eg, "e/shelf/black/base" */
+   group { name: "e/shelf/alternate_vertical/base";
+      images {
+        image: "shelf_alt_vert_bg.png" COMP;
+//      image: "shelf_alt_bg_left.png" COMP;
+//      image: "shelf_alt_bg_right.png" COMP;
+        image: "shelf_alt_over.png" COMP;
+//      image: "shelf_alt_over_left.png" COMP;
+//      image: "shelf_alt_over_right.png" COMP;
+      }
+      parts {
+        part { name: "base";
+           mouse_events: 0;
+           description { state: "default" 0.0;
+               color_class: "shelf_base";
+              image.normal: "shelf_alt_vert_bg.png";
+              fill.smooth: 0;
+           }
+//         description { state: "left" 0.0;
+//            image.normal: "shelf_alt_bg_left.png";
+//            fill.smooth: 0;
+//         }
+//         description { state: "right" 0.0;
+//            image.normal: "shelf_alt_bg_right.png";
+//            fill.smooth: 0;
+//         }
+        }
+        part { name: "e.swallow.content";
+           type: SWALLOW;
+           description { state: "default" 0.0;
+              rel1 {
+                 relative: 0.0 0.0;
+                 offset: 3 3;
+              }
               rel2 {
-                 relative: 0.5 1.0;
-                 offset: 0 9;
+                 relative: 1.0 1.0;
+                 offset: -4 -4;
               }
            }
         }
+        part { name: "over";
+           mouse_events: 0;
+           description { state: "default" 0.0;
+              image.normal: "shelf_alt_over.png";
+              image.border: 5 5 5 5;
+              image.middle: 0;
+              fill.smooth: 0;
+           }
+//         description { state: "left" 0.0;
+//            image.normal: "shelf_alt_over_left.png";
+//            image.border: 5 5 5 5;
+//            image.middle: 0;
+//            fill.smooth: 0;
+//         }
+//         description { state: "right" 0.0;
+//            image.normal: "shelf_alt_over_right.png";
+//            image.border: 5 5 5 5;
+//            image.middle: 0;
+//            fill.smooth: 0;
+//         }
+        }
+      }
+      /* Because programs can not respond to 2 different types of signals,
+       * the programs are split into individual programs that point towards
+       * the base program for its orientation. */
+      programs {
+        /* Left orientation */
+//      program { name: "left";
+//         signal: "e,state,orientation,left";
+//         source: "e";
+//         action: STATE_SET "left" 0.0;
+//         target: "base";
+//         target: "over";
+//         target: "shine";
+//      }
+//      program { name: "left_top";
+//         signal: "e,state,orientation,left_top";
+//         source: "e";
+//         after: "left";
+//      }
+//      program { name: "left_bottom";
+//         signal: "e,state,orientation,left_bottom";
+//         source: "e";
+//         after: "left";
+//      }
+//      /* Right orientation */
+//      program { name: "right";
+//         signal: "e,state,orientation,right";
+//         source: "e";
+//         action: STATE_SET "right" 0.0;
+//         target: "base";
+//         target: "over";
+//         target: "shine";
+//      }
+//      program { name: "right_top";
+//         signal: "e,state,orientation,right_top";
+//         source: "e";
+//         after: "right";
+//      }
+//      program { name: "right_bottom";
+//         signal: "e,state,orientation,right_bottom";
+//         source: "e";
+//         after: "right";
+//      }
+      }
+   }
+   group {
+      name: "e/shelf/alternate/inset";
+      images {
+         image: "inset_raised.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "inset";
+                  offset: 4 4;
+               }
+               rel2 {
+                  to: "inset";
+                  offset: -5 -5;
+               }
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "base";
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  offset: -1 -1;
+               }
+            }
+         }
+         part {
+            name: "inset";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.offset: -1 -1;
+               rel2.offset: 0 0;
+               image.normal: "inset_raised.png";
+               image.middle: 0;
+               image.border: 7 7 7 7;
+               fill.smooth: 0;
+            }
+         }
+      }
+   }
+   group {
+      name: "e/shelf/alternate/plain";
+      parts {
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               rel1.offset: 1 1;
+               rel2.offset: -2 -2;
+            }
+         }
+      }
+   }
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MOD: CLOCK ***/
+
+images {
+   image: "clock/DM_Clock_time.png" COMP;
+   image: "clock/DM_Clock_time_0.png" COMP;
+   image: "clock/DM_Clock_time_1.png" COMP;
+   image: "clock/DM_Clock_time_2.png" COMP;
+   image: "clock/DM_Clock_time_3.png" COMP;
+   image: "clock/DM_Clock_time_4.png" COMP;
+   image: "clock/DM_Clock_time_5.png" COMP;
+   image: "clock/DM_Clock_time_6.png" COMP;
+   image: "clock/DM_Clock_time_7.png" COMP;
+   image: "clock/DM_Clock_time_8.png" COMP;
+   image: "clock/DM_Clock_time_9.png" COMP;
+   image: "clock/DM_Clock_time_AM.png" COMP;
+   image: "clock/DM_Clock_time_PM.png" COMP;
+   image: "clock/DM_Clock_time_center.png" COMP;
+}
+
+#define DIGIT_WIDTH  0.25
+#define DIGIT_10_WIDTH  0.1
+#define DIGIT_Y      0.2
+#define DIGIT_HEIGHT 0.8
+#define HOUR_10_XOFF 0.0
+#define WEEKDAY_XOFF 0.0
+#define DAY_XOFF     0.15
+#define DAY_HEIGHT   0.2
+#define MONTH_XOFF   0.25
+#define HOUR_1_XOFF  0.1
+#define COLON_XOFF   0.32
+#define COLON_WIDTH  0.05
+#define MIN_10_XOFF  0.34
+#define MIN_1_XOFF   0.54
+#define AM_PM_XOFF   0.78
+#define AM_PM_WIDTH  0.15
+
+#define BASE_DESCR(XOFF)                 \
+description { state: "default" 0.0;             \
+   image.normal: "clock/DM_Clock_time_0.png";   \
+   visible: 1;                                  \
+   rel1 {                                       \
+      to: "whole";                              \
+      relative: XOFF DIGIT_Y;                       \
+      offset: 0 0;                              \
+   }                                            \
+   rel2 {                                       \
+      to: "whole";                              \
+      relative: (XOFF+DIGIT_WIDTH) (DIGIT_Y+DIGIT_HEIGHT);         \
+      offset: -1 -1;                            \
+   }                                            \
+   color: 255 255 255 0;                        \
+}                                               \
+description { state: "reset" 0.0;               \
+   inherit: "default" 0.0;                      \
+   color: 255 255 255 255;                      \
+}
+
+#define DIGIT_DESCR_10HOUR(IDX,NUM, X)          \
+description { state: "default" 0.0;             \
+   image.normal: "clock/DM_Clock_time.png";     \
+   visible: 0;                                  \
+   rel1 {                                       \
+      to: "whole";                              \
+      relative: HOUR_10_XOFF DIGIT_Y;           \
+      offset: 0 0;                              \
+   }                                            \
+   rel2 {                                       \
+      to: "whole";                              \
+      relative: (HOUR_10_XOFF+DIGIT_10_WIDTH) (DIGIT_Y+DIGIT_HEIGHT);         \
+      offset: -1 -1;                            \
+   }                                            \
+   color: 255 255 255 0;                        \
+}                                               \
+description { state: "digit" 0.0;               \
+   inherit: "default" 0.0;                      \
+   visible: 0;                                  \
+   color: 255 255 255 255;                      \
+}                                               \
+description { state: "digit" 0.1;               \
+   inherit: "default" 0.0;                      \
+   visible: 1;                                  \
+   color: 255 255 255 255;                      \
+}
+
+#define DIGIT_DESCR(IDX,NUM, X)                         \
+description { state: "digit" IDX;                       \
+   inherit: "default" 0.0;                              \
+   image.normal: "clock/DM_Clock_time_"NUM".png";       \
+   rel1 {                                               \
+      relative: X DIGIT_Y;                              \
+      offset: 0 0;                                      \
+   }                                                    \
+   rel2 {                                               \
+      relative: (X+DIGIT_WIDTH) (DIGIT_Y+DIGIT_HEIGHT); \
+      offset: 0 0;                                      \
+   }                                                    \
+   color: 255 255 255 255;                              \
+}
+#define BASE_DESCR_AM_PM(XOFF)                  \
+description { state: "default" 0.0;             \
+   image.normal: "clock/DM_Clock_time_0.png";   \
+   visible: 1;                                  \
+   rel1 {                                       \
+      to: "whole";                              \
+      relative: XOFF 0.0;                       \
+      offset: 0 0;                              \
+   }                                            \
+   rel2 {                                       \
+      to: "whole";                              \
+      relative: (XOFF+AM_PM_WIDTH) 1.0;         \
+      offset: -1 -1;                            \
+   }                                            \
+   color: 255 255 255 0;                        \
+}                                               \
+description { state: "reset" 0.0;               \
+   inherit: "default" 0.0;                      \
+   color: 255 255 255 255;                      \
+}
+
+#define DIGIT_DESCR_AM_PM(IDX,NUM, X)                   \
+description { state: "digit" IDX;                       \
+   inherit: "default" 0.0;                              \
+   image.normal: "clock/DM_Clock_time_"NUM".png";       \
+   rel1 {                                               \
+      relative: X 0.6;                                  \
+      offset: 0 0;                                      \
+   }                                                    \
+   rel2 {                                               \
+      relative: (X+AM_PM_WIDTH) 0.9;                    \
+      offset: 0 0;                                      \
+   }                                                    \
+   color: 255 255 255 255;                              \
+}
+
+#define BASE_DESCR_WD_MD(XOFF)                  \
+description { state: "default" 0.0;             \
+   visible: 1;                                  \
+   rel1 {                                       \
+      to: "whole";                              \
+      relative: XOFF 0.0;                       \
+      offset: 0 0;                              \
+   }                                            \
+   rel2 {                                       \
+      to: "whole";                              \
+      relative: (XOFF+0.5) 0.3;                 \
+      offset: -1 -1;                            \
+   }                                            \
+   color: 255 255 255 255;                      \
+   text {                                       \
+               text: "";                        \
+               font: "Helvetica";               \
+               size: 16;                        \
+               min: 1 1;                        \
+               align: 0.5 0.5;                  \
+               text_class: "configure";         \
+            }                                   \
+}                                               \
+description { state: "reset" 0.0;               \
+   inherit: "default" 0.0;                      \
+   color: 255 255 255 255;                      \
+}
+
+
+#define DIGIT_DESCR_WD_MD(IDX,DAY, X)                   \
+description { state: "digit" IDX;                       \
+   inherit: "default" 0.0;                              \
+   rel1 {                                               \
+      relative: X 0.0;                                  \
+      offset: 0 0;                                      \
+   }                                                    \
+   rel2 {                                               \
+      relative: (X+0.5) DAY_HEIGHT;                     \
+      offset: -1 -1;                                    \
+   }                                                    \
+   color: 255 255 255 255;                              \
+   color2: 110 133 140 192;                                                \
+   color3: 0 0 0 192;                                                          \
+   text {                                               \
+               text: DAY;                               \
+               font: "Helvetica";                       \
+               size: 20;                                \
+               min: 1 1;                                \
+               align: 0.0 0.0;                          \
+               text_class: "configure";                 \
+            }                                           \
+}
+
+#define BASE_DESCR_DAY(XOFF)                    \
+description { state: "default" 0.0;             \
+   visible: 1;                                  \
+   rel1 {                                       \
+      to: "whole";                              \
+      relative: XOFF 0.0;                       \
+      offset: 0 0;                              \
+   }                                            \
+   rel2 {                                       \
+      to: "whole";                              \
+      relative: (XOFF+0.5) DAY_HEIGHT;          \
+      offset: -1 -1;                            \
+   }                                            \
+   color: 255 255 255 255;                      \
+    color2: 110 133 140 192;                                   \
+    color3: 0 0 0 192;                                                 \
+   text {                                       \
+               text: "??";                      \
+               font: "Helvetica";               \
+               size: 20;                        \
+               min: 1 1;                        \
+               align: 0.0 0.0;                  \
+               text_class: "configure";         \
+            }                                   \
+}                                               \
+description { state: "reset" 0.0;               \
+   inherit: "default" 0.0;                      \
+   color: 255 255 255 255;                      \
+}
+
+// This sets the digit transition type and length
+#define DIGITRANS SINUSOIDAL 0
+
+#define CELL_TRANS(NAME,IDX,TARGET)             \
+   program { name: NAME;                        \
+   action: STATE_SET "digit" IDX;               \
+   transition: DIGITRANS;                       \
+   target: TARGET;                              \
+}
+#define HOUR_10_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"hour_10")
+#define HOUR_1_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"hour_1")
+#define MINUTE_10_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"min_10")
+#define MINUTE_1_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"min_1")
+#define WEEKDAY_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"weekday")
+#define MONTH_TRANS(NAME,IDX) CELL_TRANS(NAME,IDX,"month")
+
+styles
+{
+   style {
+      name: "text_style";
+      base: "font=Helvetica font_size=50 align=left color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+
+      tag: "br" "\n";
+      tag: "hilight" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#fe87 glow_color=#fa14";
+      tag: "title" "+ font_size=12 font=Sans:style=Bold style=soft_shadow color=#fff shadow_color=#00000020";
+      tag: "/title" "- \n \n";
+   }
+}
+
+group { name: "e/modules/clock/main";
+
+   script {
+      public cur_hour_;
+      public m_10_;
+      public clock_cb(unused) {
+         new year, month, day, yearday, weekday, hour, minute;
+         new Float:second;
+         new h;
+         new m_mod, m_tmp;
+         new pm;
+         new text[5];
+
+         date(year, month, day, yearday, weekday, hour, minute, second);
+
+         // It is my preference not to have a second hand so the
+         // the timer is set to go off at the top of the minute.
+         timer(61.0 - second, "clock_cb", 1);
+         snprintf(text, 5, "%d%d", day/10,day%10);
+
+         set_text(PART:"day", text);
+         h = get_int(cur_hour_)
+         if (hour != h) {
+            set_int(cur_hour_, hour);
+
+            if (hour > 12) pm = 1;
+            else if (hour == 12) pm = 0;
+
+             if(pm == 1)       run_program(PROGRAM:"pm");
+             else if(pm == 0)  run_program(PROGRAM:"am");
+
+#ifndef HOURS24
+            if (hour > 12) hour = hour - 12;
+            if (hour == 0) hour = 12;
+#endif
+            new htmp = hour / 10;
+            if (htmp == 0)      run_program(PROGRAM:"hour_10_0");
+            else if (htmp == 1) run_program(PROGRAM:"hour_10_1");
+            else if (htmp == 2) run_program(PROGRAM:"hour_10_2");
+
+            //
+            htmp = hour % 10;
+            if (htmp == 0)      run_program(PROGRAM:"hour_1_0");
+            else if (htmp == 1) run_program(PROGRAM:"hour_1_1");
+            else if (htmp == 2) run_program(PROGRAM:"hour_1_2");
+            else if (htmp == 3) run_program(PROGRAM:"hour_1_3");
+            else if (htmp == 4) run_program(PROGRAM:"hour_1_4");
+            else if (htmp == 5) run_program(PROGRAM:"hour_1_5");
+            else if (htmp == 6) run_program(PROGRAM:"hour_1_6");
+            else if (htmp == 7) run_program(PROGRAM:"hour_1_7");
+            else if (htmp == 8) run_program(PROGRAM:"hour_1_8");
+            else if (htmp == 9) run_program(PROGRAM:"hour_1_9");
+         }
+
+         m_mod = minute % 10;
+         m_tmp = (minute - m_mod) / 10;
+         if (m_10_ != m_tmp) {
+            m_10_ = m_tmp;
+            // value from 0-5
+            if (m_10_ == 0)      run_program(PROGRAM:"min_10_0");
+            else if (m_10_ == 1) run_program(PROGRAM:"min_10_1");
+            else if (m_10_ == 2) run_program(PROGRAM:"min_10_2");
+            else if (m_10_ == 3) run_program(PROGRAM:"min_10_3");
+            else if (m_10_ == 4) run_program(PROGRAM:"min_10_4");
+            else if (m_10_ == 5) run_program(PROGRAM:"min_10_5");
+         }
+         // minutes digit is 0 .. 9
+         if (m_mod == 0)      run_program(PROGRAM:"min_1_0");
+         else if (m_mod == 1) run_program(PROGRAM:"min_1_1");
+         else if (m_mod == 2) run_program(PROGRAM:"min_1_2");
+         else if (m_mod == 3) run_program(PROGRAM:"min_1_3");
+         else if (m_mod == 4) run_program(PROGRAM:"min_1_4");
+         else if (m_mod == 5) run_program(PROGRAM:"min_1_5");
+         else if (m_mod == 6) run_program(PROGRAM:"min_1_6");
+         else if (m_mod == 7) run_program(PROGRAM:"min_1_7");
+         else if (m_mod == 8) run_program(PROGRAM:"min_1_8");
+         else if (m_mod == 9) run_program(PROGRAM:"min_1_9");
+
+         if(weekday == 0)           run_program(PROGRAM:"weekday_0");
+         else if(weekday == 1)      run_program(PROGRAM:"weekday_1");
+         else if(weekday == 2)      run_program(PROGRAM:"weekday_2");
+         else if(weekday == 3)      run_program(PROGRAM:"weekday_3");
+         else if(weekday == 4)      run_program(PROGRAM:"weekday_4");
+         else if(weekday == 5)      run_program(PROGRAM:"weekday_5");
+         else if(weekday == 6)      run_program(PROGRAM:"weekday_6");
+
+         if(month == 1)           run_program(PROGRAM:"month_1");
+         else if(month == 2)      run_program(PROGRAM:"month_2");
+         else if(month == 3)      run_program(PROGRAM:"month_3");
+         else if(month == 4)      run_program(PROGRAM:"month_4");
+         else if(month == 5)      run_program(PROGRAM:"month_5");
+         else if(month == 6)      run_program(PROGRAM:"month_6");
+         else if(month == 7)      run_program(PROGRAM:"month_7");
+         else if(month == 8)      run_program(PROGRAM:"month_8");
+         else if(month == 9)      run_program(PROGRAM:"month_9");
+         else if(month == 10)      run_program(PROGRAM:"month_10");
+         else if(month == 11)      run_program(PROGRAM:"month_11");
+         else if(month == 12)      run_program(PROGRAM:"month_12");
+      }
+   }
+   parts {
+      part { name: "whole";
+         type: RECT;
+         mouse_events: 1;
+         description {
+            state: "default" 0.0;
+            color: 255 255 255 0;
+            rel1 {
+               relative: 0.0 0.1;
+               offset: 0 0;
+            }
+            rel2 {
+               relative: 1.0 0.9;
+               offset: -1 -1;
+            }
+         }
+      }
+      part { name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         description {
+            rel1 {
+               to: "whole";
+               relative: 0.0 0.0;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "whole";
+               relative: 1.0 1.0;
+               offset: -1 -1;
+            }
+         }
+      }
+      part { name: "hour_10";
+         type: IMAGE;
+         clip_to: "clipper";
+         DIGIT_DESCR_10HOUR(0.0,0, HOUR_10_XOFF);
+         DIGIT_DESCR_10HOUR(0.1,1, HOUR_10_XOFF);
+         DIGIT_DESCR_10HOUR(0.2,2, HOUR_10_XOFF); /* only used in 24-hour clock */
+      }
+      part { name: "hour_1";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(HOUR_1_XOFF);
+         DIGIT_DESCR(0.0,0, HOUR_1_XOFF);
+         DIGIT_DESCR(0.1,1, HOUR_1_XOFF);
+         DIGIT_DESCR(0.2,2, HOUR_1_XOFF);
+         DIGIT_DESCR(0.3,3, HOUR_1_XOFF);
+         DIGIT_DESCR(0.4,4, HOUR_1_XOFF);
+         DIGIT_DESCR(0.5,5, HOUR_1_XOFF);
+         DIGIT_DESCR(0.6,6, HOUR_1_XOFF);
+         DIGIT_DESCR(0.7,7, HOUR_1_XOFF);
+         DIGIT_DESCR(0.8,8, HOUR_1_XOFF);
+         DIGIT_DESCR(0.9,9, HOUR_1_XOFF);
+      }
+      part { name: "colon";
+         type: IMAGE;
+         clip_to: "clipper";
+         description {
+            state: "default" 0.0;
+            image.normal: "clock/DM_Clock_time_center.png";
+            visible: 1;
+            rel1 {
+               to: "whole";
+               relative: COLON_XOFF DIGIT_Y;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "whole";
+               relative: (COLON_XOFF+COLON_WIDTH) (DIGIT_Y+DIGIT_HEIGHT);
+               offset: 0 0;
+            }
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "min_10";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(MIN_10_XOFF);
+         DIGIT_DESCR(0.0,0, MIN_10_XOFF);
+         DIGIT_DESCR(0.1,1, MIN_10_XOFF);
+         DIGIT_DESCR(0.2,2, MIN_10_XOFF);
+         DIGIT_DESCR(0.3,3, MIN_10_XOFF);
+         DIGIT_DESCR(0.4,4, MIN_10_XOFF);
+         DIGIT_DESCR(0.5,5, MIN_10_XOFF);
+      }
+
+      part { name: "min_1";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(MIN_1_XOFF);
+         DIGIT_DESCR(0.0,0, MIN_1_XOFF);
+         DIGIT_DESCR(0.1,1, MIN_1_XOFF);
+         DIGIT_DESCR(0.2,2, MIN_1_XOFF);
+         DIGIT_DESCR(0.3,3, MIN_1_XOFF);
+         DIGIT_DESCR(0.4,4, MIN_1_XOFF);
+         DIGIT_DESCR(0.5,5, MIN_1_XOFF);
+         DIGIT_DESCR(0.6,6, MIN_1_XOFF);
+         DIGIT_DESCR(0.7,7, MIN_1_XOFF);
+         DIGIT_DESCR(0.8,8, MIN_1_XOFF);
+         DIGIT_DESCR(0.9,9, MIN_1_XOFF);
+      }
+      part { name: "am_pm";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR_AM_PM(AM_PM_XOFF);
+         DIGIT_DESCR_AM_PM(0.0,AM, AM_PM_XOFF);
+         DIGIT_DESCR_AM_PM(0.1,PM, AM_PM_XOFF);
+      }
+      part { name: "weekday";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         BASE_DESCR_WD_MD(WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.0,Mon., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.1,Tue., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.2,Wed., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.3,Tur., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.4,Fri., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.5,Sat., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.6,Sun., WEEKDAY_XOFF);
+      }
+      part { name: "day";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         BASE_DESCR_DAY(DAY_XOFF);
+      }
+
+      part { name: "month";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         BASE_DESCR_WD_MD(MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.01,Jan, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.02,Feb, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.03,Mar, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.04,Apr, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.05,May, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.06,Jun, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.07,Jul, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.08,Aug, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.09,Sep, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.10,Oct, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.11,Nov, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.12,Dec, MONTH_XOFF);
+      }
+
+      part { name: "main";
+         type: RECT;
+         mouse_events: 1;
+         description {
+            state: "default" 0.0;
+            rel1 {
+               to: "whole";
+               relative: 0.0 0.0;
+               offset: 0 2;
+            }
+            rel2 {
+               to: "whole";
+               relative: 1.0 1.0;
+               offset: -1 -2;
+            }
+            color: 255 255 255 0;
+         }
+      }
+   }
+
+   programs {
+      program { name: "init";
+         signal: "load";
+         source: "";
+         script {
+            set_int(cur_hour_,-1);
+            set_int(m_10_,-1);
+            clock_cb(0);
+         }
+      }
+
+      /* Each transition happens in a similar manner. The only quirk
+       * is that on a transition to 0 a transition to "reset" is made
+       * before the actual change so that rolling always goes the same
+       * direction. (It would be simpler and still work if I didn't do
+       * this, but it looks odd on minute transitions like 19->20
+       * where '1' would roll one way to '2' and '9' would roll
+       * backwards to '0'.)
+       */
+
+      /* The tens of hours transitions */
+         program { name: "am";
+         action: STATE_SET "digit" 0.0;
+         target: "am_pm";
+      }
+      program { name: "pm";
+         action: STATE_SET "digit" 0.1;
+         target: "am_pm";
+      }
+      program { name: "hour_10_0";
+         action: STATE_SET "reset" 0.0;
+         target: "hour_10";
+         after: "hour_10_to_zero";
+      }
+      program { name: "hour_10_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "hour_10";
+      }
+      HOUR_10_TRANS("hour_10_1", 0.1);
+      HOUR_10_TRANS("hour_10_2", 0.2); /* only used in 24-hour clock */
+
+      /* The hours transitions */
+      program { name: "hour_1_0";
+         action: STATE_SET "reset" 0.0;
+         target: "hour_1";
+         after: "hour_1_to_zero";
+      }
+      program { name: "hour_1_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "hour_1";
+      }
+      HOUR_1_TRANS("hour_1_1", 0.1);
+      HOUR_1_TRANS("hour_1_2", 0.2);
+      HOUR_1_TRANS("hour_1_3", 0.3);
+      HOUR_1_TRANS("hour_1_4", 0.4);
+      HOUR_1_TRANS("hour_1_5", 0.5);
+      HOUR_1_TRANS("hour_1_6", 0.6);
+      HOUR_1_TRANS("hour_1_7", 0.7);
+      HOUR_1_TRANS("hour_1_8", 0.8);
+      HOUR_1_TRANS("hour_1_9", 0.9);
+
+      /* The tens of minutes transitions */
+      program { name: "min_10_0";
+         action: STATE_SET "reset" 0.0;
+         target: "min_10";
+         after: "min_10_to_zero";
+      }
+      program { name: "min_10_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "min_10";
+      }
+      MINUTE_10_TRANS("min_10_1", 0.1);
+      MINUTE_10_TRANS("min_10_2", 0.2);
+      MINUTE_10_TRANS("min_10_3", 0.3);
+      MINUTE_10_TRANS("min_10_4", 0.4);
+      MINUTE_10_TRANS("min_10_5", 0.5);
+
+      /* The minute transitions */
+      program { name: "min_1_0";
+         action: STATE_SET "reset" 0.0;
+         target: "min_1";
+         after: "min_1_to_zero";
+      }
+      program { name: "min_1_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "min_1";
+      }
+      MINUTE_1_TRANS("min_1_1", 0.1);
+      MINUTE_1_TRANS("min_1_2", 0.2);
+      MINUTE_1_TRANS("min_1_3", 0.3);
+      MINUTE_1_TRANS("min_1_4", 0.4);
+      MINUTE_1_TRANS("min_1_5", 0.5);
+      MINUTE_1_TRANS("min_1_6", 0.6);
+      MINUTE_1_TRANS("min_1_7", 0.7);
+      MINUTE_1_TRANS("min_1_8", 0.8);
+      MINUTE_1_TRANS("min_1_9", 0.9);
+
+      WEEKDAY_TRANS("weekday_0",0.0);
+      WEEKDAY_TRANS("weekday_1",0.1);
+      WEEKDAY_TRANS("weekday_2",0.2);
+      WEEKDAY_TRANS("weekday_3",0.3);
+      WEEKDAY_TRANS("weekday_4",0.4);
+      WEEKDAY_TRANS("weekday_5",0.5);
+      WEEKDAY_TRANS("weekday_6",0.6);
+
+      MONTH_TRANS("month_1",0.01);
+      MONTH_TRANS("month_2",0.02);
+      MONTH_TRANS("month_3",0.03);
+      MONTH_TRANS("month_4",0.04);
+      MONTH_TRANS("month_5",0.05);
+      MONTH_TRANS("month_6",0.06);
+      MONTH_TRANS("month_7",0.07);
+      MONTH_TRANS("month_8",0.08);
+      MONTH_TRANS("month_9",0.09);
+      MONTH_TRANS("month_10",0.10);
+      MONTH_TRANS("month_11",0.11);
+      MONTH_TRANS("month_12",0.12);
+
+     }
+}
+group { name: "e/modules/clock/digital";
+
+   script {
+      public cur_hour_;
+      public m_10_;
+      public clock_cb(unused) {
+         new year, month, day, yearday, weekday, hour, minute;
+         new Float:second;
+         new h;
+         new m_mod, m_tmp;
+         new pm;
+         new text[5];
+
+         date(year, month, day, yearday, weekday, hour, minute, second);
+
+         // It is my preference not to have a second hand so the
+         // the timer is set to go off at the top of the minute.
+         timer(61.0 - second, "clock_cb", 1);
+         snprintf(text, 5, "%d%d", day/10,day%10);
+
+         set_text(PART:"day", text);
+         h = get_int(cur_hour_)
+         if (hour != h) {
+            set_int(cur_hour_, hour);
+
+            if (hour > 12) pm = 1;
+            else if (hour == 12) pm = 0;
+
+             if(pm == 1)       run_program(PROGRAM:"pm");
+             else if(pm == 0)  run_program(PROGRAM:"am");
+
+#ifndef HOURS24
+            if (hour > 12) hour = hour - 12;
+            if (hour == 0) hour = 12;
+#endif
+            new htmp = hour / 10;
+            if (htmp == 0)      run_program(PROGRAM:"hour_10_0");
+            else if (htmp == 1) run_program(PROGRAM:"hour_10_1");
+            else if (htmp == 2) run_program(PROGRAM:"hour_10_2");
+
+            //
+            htmp = hour % 10;
+            if (htmp == 0)      run_program(PROGRAM:"hour_1_0");
+            else if (htmp == 1) run_program(PROGRAM:"hour_1_1");
+            else if (htmp == 2) run_program(PROGRAM:"hour_1_2");
+            else if (htmp == 3) run_program(PROGRAM:"hour_1_3");
+            else if (htmp == 4) run_program(PROGRAM:"hour_1_4");
+            else if (htmp == 5) run_program(PROGRAM:"hour_1_5");
+            else if (htmp == 6) run_program(PROGRAM:"hour_1_6");
+            else if (htmp == 7) run_program(PROGRAM:"hour_1_7");
+            else if (htmp == 8) run_program(PROGRAM:"hour_1_8");
+            else if (htmp == 9) run_program(PROGRAM:"hour_1_9");
+         }
+
+         m_mod = minute % 10;
+         m_tmp = (minute - m_mod) / 10;
+         if (m_10_ != m_tmp) {
+            m_10_ = m_tmp;
+            // value from 0-5
+            if (m_10_ == 0)      run_program(PROGRAM:"min_10_0");
+            else if (m_10_ == 1) run_program(PROGRAM:"min_10_1");
+            else if (m_10_ == 2) run_program(PROGRAM:"min_10_2");
+            else if (m_10_ == 3) run_program(PROGRAM:"min_10_3");
+            else if (m_10_ == 4) run_program(PROGRAM:"min_10_4");
+            else if (m_10_ == 5) run_program(PROGRAM:"min_10_5");
+         }
+         // minutes digit is 0 .. 9
+         if (m_mod == 0)      run_program(PROGRAM:"min_1_0");
+         else if (m_mod == 1) run_program(PROGRAM:"min_1_1");
+         else if (m_mod == 2) run_program(PROGRAM:"min_1_2");
+         else if (m_mod == 3) run_program(PROGRAM:"min_1_3");
+         else if (m_mod == 4) run_program(PROGRAM:"min_1_4");
+         else if (m_mod == 5) run_program(PROGRAM:"min_1_5");
+         else if (m_mod == 6) run_program(PROGRAM:"min_1_6");
+         else if (m_mod == 7) run_program(PROGRAM:"min_1_7");
+         else if (m_mod == 8) run_program(PROGRAM:"min_1_8");
+         else if (m_mod == 9) run_program(PROGRAM:"min_1_9");
+
+         if(weekday == 0)           run_program(PROGRAM:"weekday_0");
+         else if(weekday == 1)      run_program(PROGRAM:"weekday_1");
+         else if(weekday == 2)      run_program(PROGRAM:"weekday_2");
+         else if(weekday == 3)      run_program(PROGRAM:"weekday_3");
+         else if(weekday == 4)      run_program(PROGRAM:"weekday_4");
+         else if(weekday == 5)      run_program(PROGRAM:"weekday_5");
+         else if(weekday == 6)      run_program(PROGRAM:"weekday_6");
+
+         if(month == 1)           run_program(PROGRAM:"month_1");
+         else if(month == 2)      run_program(PROGRAM:"month_2");
+         else if(month == 3)      run_program(PROGRAM:"month_3");
+         else if(month == 4)      run_program(PROGRAM:"month_4");
+         else if(month == 5)      run_program(PROGRAM:"month_5");
+         else if(month == 6)      run_program(PROGRAM:"month_6");
+         else if(month == 7)      run_program(PROGRAM:"month_7");
+         else if(month == 8)      run_program(PROGRAM:"month_8");
+         else if(month == 9)      run_program(PROGRAM:"month_9");
+         else if(month == 10)      run_program(PROGRAM:"month_10");
+         else if(month == 11)      run_program(PROGRAM:"month_11");
+         else if(month == 12)      run_program(PROGRAM:"month_12");
+      }
+   }
+   parts {
+      part { name: "whole";
+         type: RECT;
+         mouse_events: 1;
+         description {
+            state: "default" 0.0;
+            color: 255 255 255 0;
+            rel1 {
+               relative: 0.0 0.1;
+               offset: 0 0;
+            }
+            rel2 {
+               relative: 1.0 0.9;
+               offset: -1 -1;
+            }
+         }
+      }
+      part { name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         description {
+            rel1 {
+               to: "whole";
+               relative: 0.0 0.0;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "whole";
+               relative: 1.0 1.0;
+               offset: -1 -1;
+            }
+         }
+      }
+      part { name: "hour_10";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(HOUR_10_XOFF);
+         DIGIT_DESCR(0.0,0, HOUR_10_XOFF);
+         DIGIT_DESCR(0.1,1, HOUR_10_XOFF);
+         DIGIT_DESCR(0.2,2, HOUR_10_XOFF); /* only used in 24-hour clock */
+      }
+      part { name: "hour_1";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(HOUR_1_XOFF);
+         DIGIT_DESCR(0.0,0, HOUR_1_XOFF);
+         DIGIT_DESCR(0.1,1, HOUR_1_XOFF);
+         DIGIT_DESCR(0.2,2, HOUR_1_XOFF);
+         DIGIT_DESCR(0.3,3, HOUR_1_XOFF);
+         DIGIT_DESCR(0.4,4, HOUR_1_XOFF);
+         DIGIT_DESCR(0.5,5, HOUR_1_XOFF);
+         DIGIT_DESCR(0.6,6, HOUR_1_XOFF);
+         DIGIT_DESCR(0.7,7, HOUR_1_XOFF);
+         DIGIT_DESCR(0.8,8, HOUR_1_XOFF);
+         DIGIT_DESCR(0.9,9, HOUR_1_XOFF);
+      }
+      part { name: "colon";
+         type: IMAGE;
+         clip_to: "clipper";
+         description {
+            state: "default" 0.0;
+            image.normal: "clock/DM_Clock_time_center.png";
+            visible: 1;
+            rel1 {
+               to: "whole";
+               relative: COLON_XOFF DIGIT_Y;
+               offset: 0 0;
+            }
+            rel2 {
+               to: "whole";
+               relative: (COLON_XOFF+.1) 1.0;
+               offset: 0 0;
+            }
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "min_10";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(MIN_10_XOFF);
+         DIGIT_DESCR(0.0,0, MIN_10_XOFF);
+         DIGIT_DESCR(0.1,1, MIN_10_XOFF);
+         DIGIT_DESCR(0.2,2, MIN_10_XOFF);
+         DIGIT_DESCR(0.3,3, MIN_10_XOFF);
+         DIGIT_DESCR(0.4,4, MIN_10_XOFF);
+         DIGIT_DESCR(0.5,5, MIN_10_XOFF);
+      }
+
+      part { name: "min_1";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR(MIN_1_XOFF);
+         DIGIT_DESCR(0.0,0, MIN_1_XOFF);
+         DIGIT_DESCR(0.1,1, MIN_1_XOFF);
+         DIGIT_DESCR(0.2,2, MIN_1_XOFF);
+         DIGIT_DESCR(0.3,3, MIN_1_XOFF);
+         DIGIT_DESCR(0.4,4, MIN_1_XOFF);
+         DIGIT_DESCR(0.5,5, MIN_1_XOFF);
+         DIGIT_DESCR(0.6,6, MIN_1_XOFF);
+         DIGIT_DESCR(0.7,7, MIN_1_XOFF);
+         DIGIT_DESCR(0.8,8, MIN_1_XOFF);
+         DIGIT_DESCR(0.9,9, MIN_1_XOFF);
+      }
+      part { name: "am_pm";
+         type: IMAGE;
+         clip_to: "clipper";
+         BASE_DESCR_AM_PM(AM_PM_XOFF);
+         DIGIT_DESCR_AM_PM(0.0,AM, AM_PM_XOFF);
+         DIGIT_DESCR_AM_PM(0.1,PM, AM_PM_XOFF);
+      }
+      part { name: "weekday";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         BASE_DESCR_WD_MD(WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.0,Mon., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.1,Tue., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.2,Wed., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.3,Tur., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.4,Fri., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.5,Sat., WEEKDAY_XOFF);
+         DIGIT_DESCR_WD_MD(0.6,Sun., WEEKDAY_XOFF);
+      }
+      part { name: "day";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         scale: 1;
+         BASE_DESCR_DAY(DAY_XOFF);
+      }
+
+      part { name: "month";
+         type: TEXT;
+         effect: OUTLINE_SOFT_SHADOW;
+         BASE_DESCR_WD_MD(MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.01,Jan, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.02,Feb, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.03,Mar, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.04,Apr, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.05,May, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.06,Jun, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.07,Jul, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.08,Aug, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.09,Sep, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.10,Oct, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.11,Nov, MONTH_XOFF);
+         DIGIT_DESCR_WD_MD(0.12,Dec, MONTH_XOFF);
+      }
+
+      part { name: "main";
+         type: RECT;
+         mouse_events: 1;
+         description {
+            state: "default" 0.0;
+            rel1 {
+               to: "whole";
+               relative: 0.0 0.0;
+               offset: 0 2;
+            }
+            rel2 {
+               to: "whole";
+               relative: 1.0 1.0;
+               offset: -1 -2;
+            }
+            color: 255 255 255 0;
+         }
+      }
+   }
+
+   programs {
+      program { name: "init";
+         signal: "load";
+         source: "";
+         script {
+            set_int(cur_hour_,-1);
+            set_int(m_10_,-1);
+            clock_cb(0);
+         }
+      }
+
+      /* Each transition happens in a similar manner. The only quirk
+       * is that on a transition to 0 a transition to "reset" is made
+       * before the actual change so that rolling always goes the same
+       * direction. (It would be simpler and still work if I didn't do
+       * this, but it looks odd on minute transitions like 19->20
+       * where '1' would roll one way to '2' and '9' would roll
+       * backwards to '0'.)
+       */
+
+      /* The tens of hours transitions */
+         program { name: "am";
+         action: STATE_SET "digit" 0.0;
+         target: "am_pm";
+      }
+      program { name: "pm";
+         action: STATE_SET "digit" 0.1;
+         target: "am_pm";
+      }
+      program { name: "hour_10_0";
+         action: STATE_SET "reset" 0.0;
+         target: "hour_10";
+         after: "hour_10_to_zero";
+      }
+      program { name: "hour_10_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "hour_10";
+      }
+      HOUR_10_TRANS("hour_10_1", 0.1);
+      HOUR_10_TRANS("hour_10_2", 0.2); /* only used in 24-hour clock */
+
+      /* The hours transitions */
+
+      program { name: "hour_1_0";
+         action: STATE_SET "reset" 0.0;
+         target: "hour_1";
+         after: "hour_1_to_zero";
+      }
+      program { name: "hour_1_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "hour_1";
+      }
+      HOUR_1_TRANS("hour_1_1", 0.1);
+      HOUR_1_TRANS("hour_1_2", 0.2);
+      HOUR_1_TRANS("hour_1_3", 0.3);
+      HOUR_1_TRANS("hour_1_4", 0.4);
+      HOUR_1_TRANS("hour_1_5", 0.5);
+      HOUR_1_TRANS("hour_1_6", 0.6);
+      HOUR_1_TRANS("hour_1_7", 0.7);
+      HOUR_1_TRANS("hour_1_8", 0.8);
+      HOUR_1_TRANS("hour_1_9", 0.9);
+
+      /* The tens of minutes transitions */
+
+      program { name: "min_10_0";
+         action: STATE_SET "reset" 0.0;
+         target: "min_10";
+         after: "min_10_to_zero";
+      }
+      program { name: "min_10_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "min_10";
+      }
+      MINUTE_10_TRANS("min_10_1", 0.1);
+      MINUTE_10_TRANS("min_10_2", 0.2);
+      MINUTE_10_TRANS("min_10_3", 0.3);
+      MINUTE_10_TRANS("min_10_4", 0.4);
+      MINUTE_10_TRANS("min_10_5", 0.5);
+
+      /* The minute transitions */
+
+      program { name: "min_1_0";
+         action: STATE_SET "reset" 0.0;
+         target: "min_1";
+         after: "min_1_to_zero";
+      }
+      program { name: "min_1_to_zero";
+         action: STATE_SET "digit" 0.0;
+         transition: DIGITRANS;
+         target: "min_1";
+      }
+      /* */
+      MINUTE_1_TRANS("min_1_1", 0.1);
+      MINUTE_1_TRANS("min_1_2", 0.2);
+      MINUTE_1_TRANS("min_1_3", 0.3);
+      MINUTE_1_TRANS("min_1_4", 0.4);
+      MINUTE_1_TRANS("min_1_5", 0.5);
+      MINUTE_1_TRANS("min_1_6", 0.6);
+      MINUTE_1_TRANS("min_1_7", 0.7);
+      MINUTE_1_TRANS("min_1_8", 0.8);
+      MINUTE_1_TRANS("min_1_9", 0.9);
+
+      WEEKDAY_TRANS("weekday_0",0.0);
+      WEEKDAY_TRANS("weekday_1",0.1);
+      WEEKDAY_TRANS("weekday_2",0.2);
+      WEEKDAY_TRANS("weekday_3",0.3);
+      WEEKDAY_TRANS("weekday_4",0.4);
+      WEEKDAY_TRANS("weekday_5",0.5);
+      WEEKDAY_TRANS("weekday_6",0.6);
+
+      MONTH_TRANS("month_1",0.01);
+      MONTH_TRANS("month_2",0.02);
+      MONTH_TRANS("month_3",0.03);
+      MONTH_TRANS("month_4",0.04);
+      MONTH_TRANS("month_5",0.05);
+      MONTH_TRANS("month_6",0.06);
+      MONTH_TRANS("month_7",0.07);
+      MONTH_TRANS("month_8",0.08);
+      MONTH_TRANS("month_9",0.09);
+      MONTH_TRANS("month_10",0.10);
+      MONTH_TRANS("month_11",0.11);
+      MONTH_TRANS("month_12",0.12);
+
+     }
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/*** MOD: IBOX / IBAR ***/
+
+   group {
+      name: "e/modules/ibox/icon";
+      alias: "e/modules/ibar/icon";
+      data {
+      // This didn't seem to work ...
+      item: "raise_on_hilight" "0"; // 1 or 0 if u want an icon holder
+                                    // to raise when the mouse (or
+                                    // keyboard) hilights it
+         // item: "item_list" "item item2 item3";
+      }
+      parts {
+         part {
+            name: "item_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "item_clip";
+            description {
+               state: "default" 0.0;
+            rel1 {
+               relative: 0.35 0.25;
+               offset: 2 2;
+            }
+            rel2 {
+               relative: 0.65 0.55;
+               offset: -2 -2;
+            }
+         }
+            description {
+               state: "smaller" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  offset: 5 5;
+               }
+               rel2 {
+                  offset: -5 -5;
+               }
+            }
+         }
+         part {
+            name: "over";
+            type: RECT;
+            repeat_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "hover_down";
+            signal: "mouse,down,1";
+            source: "over";
+            action: STATE_SET "smaller" 0.0;
+            transition: LINEAR 0.2;
+            target: "e.swallow.content";
+         }
+         program {
+            name: "hover_up";
+            signal: "mouse,up,1";
+            source: "over";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "e.swallow.content";
+         }
+         program {
+            name: "exec_start";
+            signal: "e,action,start";
+            source: "e";
+            action: STATE_SET "faded" 0.0;
+            transition: LINEAR 0.5;
+            target: "item_clip";
+         }
+         program {
+            name: "exec_exec";
+            signal: "e,action,exec";
+            source: "e";
+            action: STATE_SET "faded" 0.0;
+            transition: LINEAR 0.5;
+            target: "item_clip";
+            after: "exec_stop";
+         }
+         program {
+            name: "exec_stop";
+            signal: "e,action,stop";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "item_clip";
+         }
+      }
+   }
+   group {
+      name: "e/modules/ibox/icon_overlay";
+      alias: "e/modules/ibar/icon_overlay";
+      data {
+         // item: "item_list", "item item2 item3";
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "background";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            rel1 {
+               to: "base";
+            }
+            rel2 {
+               to: "base";
+            }
+               color: 255 255 255 0;
+            }
+            description {
+               state: "visible" 0.0;
+               visible: 1;
+            rel1 {
+               to: "base";
+               offset: 0 -5;
+            }
+            rel2 {
+               to: "base";
+               offset: 0 -5;
+            }
+               color: 255 255 255 255;
+            }
+            description {
+               state: "hidden" 0.0;
+               visible: 1;
+               rel1 {
+                  relative: -0.3 -0.3;
+                  offset: 0 -5;
+                  to: "base";
+               }
+               rel2 {
+                  relative: 1.3 1.3;
+                  offset: 0 -5;
+                  to: "base";
+               }
+               color: 255 255 255 0;
+            }
+            description {
+               state: "huge" 0.0;
+               visible: 1;
+               rel1 {
+                  relative: -2.0  -2.0;
+                  to: "base";
+               }
+               rel2 {
+                  relative: 3.0  3.0;
+                  to: "base";
+               }
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "background";
+            description {
+               state: "default" 0.0;
+            rel1 {
+               to: "background";
+            }
+            rel2 {
+               to: "background";
+            }
+         }
+         }
+      // Smoke ibar text doesn't "fade away" it rolls up
+         part {
+            name: "text_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "base";
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 0 0;
+               }
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            clip_to: "text_clip";
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.5;
+               rel1 {
+                  relative: 0.0 0.45;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0  0.9;
+                  offset: 0 0;
+               }
+               color: 255 255 255 255;
+               color3: 0 0 0 42;
+               color_class: "module_label";
+               text {
+                  text: "";
+                  font: "Sans";
+                  size: 14;
+                  min: 0 0;
+                  align: 0.5 0.5;
+                  elipsis: 0.0;
+                  text_class: "module_normal";
+               }
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            target: "background";
+            after: "go_active2";
+         }
+         program {
+            name: "go_activeB";
+            signal: "e,action,show,label";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "e.text.label";
+            after: "go_activeB2";
+         }
+            program {
+               name: "go_activeB2";
+               signal: "";
+               source: "";
+               action: STATE_SET "visible" 0.0;
+               target: "e.text.label";
+            }
+         program {
+            name: "go_active2";
+            signal: "";
+            source: "";
+            action: STATE_SET "hidden" 0.0;
+            target: "background";
+            after: "go_active";
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: ACTION_STOP;
+            target: "go_active";
+            target: "go_active2";
+            after: "go_passive2";
+         }
+         program {
+            name: "go_passiveB";
+            signal: "e,action,hide,label";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            target: "e.text.label";
+            after: "go_passiveB2";
+         }
+         program {
+            name: "go_passiveB2";
+            signal: "";
+            source: "";
+            action: STATE_SET "default" 0.0;
+            target: "e.text.label";
+         }
+         program {
+            name: "go_passive2";
+            signal: "";
+            source: "";
+            action: STATE_SET "default" 0.0;
+            target: "background";
+         }
+         program {
+            name: "go_big";
+            action: STATE_SET "visible" 0.0;
+            target: "background";
+            after: "go_big2";
+         }
+         program {
+            name: "go_big2";
+            action: STATE_SET "huge" 0.0;
+            target: "background";
+         }
+         program {
+            name: "exec_start";
+            signal: "e,action,start";
+            source: "e";
+            action: ACTION_STOP;
+            target: "go_active";
+            target: "go_active2";
+            target: "go_passive";
+            target: "go_passive2";
+            target: "go_big";
+            target: "go_big2";
+            after: "go_big";
+         }
+         program {
+            name: "exec_exec";
+            signal: "e,action,exec";
+            source: "e";
+            after: "exec_start";
+         }
+         program {
+            name: "exec_stop";
+            signal: "e,action,stop";
+            source: "e";
+         }
+      }
+   }
+   group {
+      name: "e/modules/ibox/drop";
+      alias: "e/modules/ibar/drop";
+      images.image: "inset_raised.png" COMP;
+      parts {
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "inset_raised.png";
+                  border: 7 7 7 7;
+                  middle: 0;
+               }
+            }
+         }
+      }
+   }
+   group {
+      name: "e/modules/ibox/drop_overlay";
+      alias: "e/modules/ibar/drop_overlay";
+      images {
+         image: "gadman_top.png" COMP;
+         image: "gadman_bottom.png" COMP;
+         image: "gadman_left.png" COMP;
+         image: "gadman_right.png" COMP;
+      }
+      parts {
+         part {
+            name: "left_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1.relative: -1.0 0.5;
+               rel2.relative: -1.0 0.5;
+               image.normal: "gadman_right.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: -0.8 0.2;
+               rel2.relative: -0.7 0.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 0.5;
+               rel2.relative: 0.2 0.5;
+            }
+         }
+         part {
+            name: "left_arrow2";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1.relative: -1.0 0.5;
+               rel2.relative: -1.0 0.5;
+               image.normal: "gadman_right.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: -0.8 0.2;
+               rel2.relative: -0.7 0.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 0.5;
+               rel2.relative: 0.2 0.5;
+            }
+         }
+         part {
+            name: "right_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1.relative: 2.0 0.5;
+               rel2.relative: 2.0 0.5;
+               image.normal: "gadman_left.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 1.8 0.2;
+               rel2.relative: 1.7 0.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.8 0.5;
+               rel2.relative: 0.8 0.5;
+            }
+         }
+         part {
+            name: "right_arrow2";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1.relative: 2.0 0.5;
+               rel2.relative: 2.0 0.5;
+               image.normal: "gadman_left.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 1.8 0.2;
+               rel2.relative: 1.7 0.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.8 0.5;
+               rel2.relative: 0.8 0.5;
+            }
+         }
+         part {
+            name: "top_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1.relative: 0.5 -1.0;
+               rel2.relative: 0.5 -1.0;
+               image.normal: "gadman_bottom.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 -0.8;
+               rel2.relative: 0.8 -0.7;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.5 0.2;
+               rel2.relative: 0.5 0.2;
+            }
+         }
+         part {
+            name: "top_arrow2";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1.relative: 0.5 -1.0;
+               rel2.relative: 0.5 -1.0;
+               image.normal: "gadman_bottom.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 -0.8;
+               rel2.relative: 0.8 -0.7;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.5 0.2;
+               rel2.relative: 0.5 0.2;
+            }
+         }
+         part {
+            name: "bottom_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1.relative: 0.5 2.0;
+               rel2.relative: 0.5 2.0;
+               image.normal: "gadman_top.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 1.7;
+               rel2.relative: 0.8 1.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.5 0.8;
+               rel2.relative: 0.5 0.8;
+            }
+         }
+         part {
+            name: "bottom_arrow2";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1.relative: 0.5 2.0;
+               rel2.relative: 0.5 2.0;
+               image.normal: "gadman_top.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.2 1.7;
+               rel2.relative: 0.8 1.8;
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.5 0.8;
+               rel2.relative: 0.5 0.8;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "start1";
+            signal: "show";
+            source: "";
+            after: "left1_1";
+            after: "right1_1";
+            after: "top1_1";
+            after: "bottom1_1";
+         }
+         program {
+            name: "start2";
+            signal: "show";
+            source: "";
+            in: 0.4 0.0;
+            after: "left2_1";
+            after: "right2_1";
+            after: "top2_1";
+            after: "bottom2_1";
+         }
+         // LEFT ARROW
+         program {
+            name: "left1_1";
+            action: STATE_SET "1" 0.0;
+            target: "left_arrow1";
+            transition: LINEAR 0.4;
+            after: "left1_2";
+         }
+         program {
+            name: "left1_2";
+            action: STATE_SET "2" 0.0;
+            target: "left_arrow1";
+            transition: LINEAR 0.4;
+            after: "left1_r";
+         }
+         program {
+            name: "left1_r";
+            action: STATE_SET "default" 0.0;
+            target: "left_arrow1";
+            after: "left1_1";
+         }
+         program {
+            name: "left2_1";
+            action: STATE_SET "1" 0.0;
+            target: "left_arrow2";
+            transition: LINEAR 0.4;
+            after: "left2_2";
+         }
+         program {
+            name: "left2_2";
+            action: STATE_SET "2" 0.0;
+            target: "left_arrow2";
+            transition: LINEAR 0.4;
+            after: "left2_r";
+         }
+         program {
+            name: "left2_r";
+            action: STATE_SET "default" 0.0;
+            target: "left_arrow2";
+            after: "left2_1";
+         }
+         // RIGHT ARROW
+         program {
+            name: "right1_1";
+            action: STATE_SET "1" 0.0;
+            target: "right_arrow1";
+            transition: LINEAR 0.4;
+            after: "right1_2";
+         }
+         program {
+            name: "right1_2";
+            action: STATE_SET "2" 0.0;
+            target: "right_arrow1";
+            transition: LINEAR 0.4;
+            after: "right1_r";
+         }
+         program {
+            name: "right1_r";
+            action: STATE_SET "default" 0.0;
+            target: "right_arrow1";
+            after: "right1_1";
+         }
+         program {
+            name: "right2_1";
+            action: STATE_SET "1" 0.0;
+            target: "right_arrow2";
+            transition: LINEAR 0.4;
+            after: "right2_2";
+         }
+         program {
+            name: "right2_2";
+            action: STATE_SET "2" 0.0;
+            target: "right_arrow2";
+            transition: LINEAR 0.4;
+            after: "right2_r";
+         }
+         program {
+            name: "right2_r";
+            action: STATE_SET "default" 0.0;
+            target: "right_arrow2";
+            after: "right2_1";
+         }
+         // TOP ARROW
+         program {
+            name: "top1_1";
+            action: STATE_SET "1" 0.0;
+            target: "top_arrow1";
+            transition: LINEAR 0.4;
+            after: "top1_2";
+         }
+         program {
+            name: "top1_2";
+            action: STATE_SET "2" 0.0;
+            target: "top_arrow1";
+            transition: LINEAR 0.4;
+            after: "top1_r";
+         }
+         program {
+            name: "top1_r";
+            action: STATE_SET "default" 0.0;
+            target: "top_arrow1";
+            after: "top1_1";
+         }
+         program {
+            name: "top2_1";
+            action: STATE_SET "1" 0.0;
+            target: "top_arrow2";
+            transition: LINEAR 0.4;
+            after: "top2_2";
+         }
+         program {
+            name: "top2_2";
+            action: STATE_SET "2" 0.0;
+            target: "top_arrow2";
+            transition: LINEAR 0.4;
+            after: "top2_r";
+         }
+         program {
+            name: "top2_r";
+            action: STATE_SET "default" 0.0;
+            target: "top_arrow2";
+            after: "top2_1";
+         }
+         // BOTTOM ARROW
+         program {
+            name: "bottom1_1";
+            action: STATE_SET "1" 0.0;
+            target: "bottom_arrow1";
+            transition: LINEAR 0.4;
+            after: "bottom1_2";
+         }
+         program {
+            name: "bottom1_2";
+            action: STATE_SET "2" 0.0;
+            target: "bottom_arrow1";
+            transition: LINEAR 0.4;
+            after: "bottom1_r";
+         }
+         program {
+            name: "bottom1_r";
+            action: STATE_SET "default" 0.0;
+            target: "bottom_arrow1";
+            after: "bottom1_1";
+         }
+         program {
+            name: "bottom2_1";
+            action: STATE_SET "1" 0.0;
+            target: "bottom_arrow2";
+            transition: LINEAR 0.4;
+            after: "bottom2_2";
+         }
+         program {
+            name: "bottom2_2";
+            action: STATE_SET "2" 0.0;
+            target: "bottom_arrow2";
+            transition: LINEAR 0.4;
+            after: "bottom2_r";
+         }
+         program {
+            name: "bottom2_r";
+            action: STATE_SET "default" 0.0;
+            target: "bottom_arrow2";
+            after: "bottom2_1";
+         }
+      }
+   }
+
+/////////////////////////////////////////////////////////////////////////////
+/*** DIALOG ***/
+/* Used in all dialogs eg; Wallpaper selector */
+
+   group {
+      name: "e/widgets/dialog/main";
+      images {
+         image: "dia_grad.png" COMP;
+         image: "dia_topshad.png" COMP;
+         image: "dia_botshad.png" COMP;
+         image: "menu_sep.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "dialog_base";
+               image.normal: "dia_grad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "shadow";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel2.relative: 1.0 0.0;
+               rel2.offset: -1 31;
+               image.normal: "dia_topshad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "shadow2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.0 1.0;
+               rel1.offset: 0 -4;
+               image.normal: "dia_botshad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 2  2;
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  offset: 2  -5;
+                  to_y: "e.swallow.buttons";
+               }
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: 2   2;
+                  to_x: "e.swallow.icon";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -3  -5;
+                  to_y: "e.swallow.buttons";
+               }
+            }
+         }
+         part {
+            name: "separator";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 16 2;
+               rel1 {
+                  relative: 0.0  1.0;
+                  offset: 4    -1;
+                  to_y: "e.swallow.content";
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5   0;
+                  to_y: "e.swallow.content";
+               }
+               image {
+                  normal: "menu_sep.png";
+                  border: 2 2 0 0;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "e.swallow.buttons";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               fixed: 0 1;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset: 4   -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -5  -5;
+               }
+            }
+         }
+      }
+   }
+   group {
+      name: "e/widgets/dialog/text";
+      styles {
+         style {
+            name: "dialog_style";
+            base: "font=Sans font_size=10 text_class=tb_plain align=center color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+            tag: "br" "\n";
+            tag: "hilight" "+ font=Sans:style=Bold text_class=tb_light";
+         }
+      }
+      parts {
+         part {
+            name: "e.textblock.message";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 4 4;
+               rel2.offset: -5 -5;
+               text {
+                  style: "dialog_style";
+                  min: 1 1;
+               }
+            }
+         }
+      }
+   }
+
+
+/////////////////////////////////////////////////////////////////////////////
+/*** CONFIGURATION PANEL ***/
+
+   group {
+      name: "e/widgets/configure/main";
+      images {
+         image: "dia_grad.png" COMP;
+         image: "dia_topshad.png" COMP;
+         image: "dia_botshad.png" COMP;
+         image: "menu_sep.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "dialog_base";
+               image.normal: "dia_grad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "shadow";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel2.relative: 1.0 0.0;
+               rel2.offset: -1 31;
+               image.normal: "dia_topshad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "shadow2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.0 1.0;
+               rel1.offset: 0 -4;
+               image.normal: "dia_botshad.png";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "separator";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 16 2;
+               rel1 {
+                  relative: 0.0  1.0;
+                  offset: 4    -1;
+                  to_y: "e.swallow.content";
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5   0;
+                  to_y: "e.swallow.content";
+               }
+               image {
+                  normal: "menu_sep.png";
+                  border: 2 2 0 0;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.5;
+               min: 100 200;
+               rel1.offset: 2 2;
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -3 -5;
+                  to_y: "e.swallow.button";
+               }
+            }
+         }
+         part {
+            name: "e.swallow.button";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               fixed: 1 1;
+               rel1.relative: 0.5 1.0;
+               rel2.relative: 0.5 1.0;
+            }
+         }
+      }
+   }
 
 
-        part { name: "e.swallow.client"; /* this determines where the actual
-                                          * client window will be placed in
-                                          * the border design */
-           type: SWALLOW;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 0.0 1.0;
-                 offset: 0 0;
-                 to_y: "top";
-              }
-              rel2 {
-                 relative: 1.0 0.0;
-                 offset: -1 -1;
-                 to_y: "bottom";
-              }
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -1 -1;
-                 to_y: "bottom";
-              }
-           }
-           description { state: "max" 0.0;
-              inherit: "default" 0.0;
-              rel1 {
-                 relative: 0.0 1.0;
-                 offset: 0 0;
-                 to_y: "top";
-              }
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -1 -1;
-                 to_y: "bottom";
-              }
-           }
-        }
+/////////////////////////////////////////////////////////////////////////////
+/*** MOVE/RESIZE BOX ***/
 
-        /* these transparent rect parts are used for catching events in a way
-         * here objects for design don't affect the events. these parts
-         * are named speciifcally because E has config listening for specific
-         * signals (events) coming from these named parts and based on those
-         * will perform certain actions. these are actually all configurable
-         * by the user, so if they want, clicking the logical "titlebar" could
-         * close the window, not move it, and so on. the user decides this.
-         * the theme designer simply indicates the "logcal" use of the theme
-         * elements they have created */
-        part { name: "e.event.titlebar";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "title_base";
-              rel2.to: "title_base";
-              color: 0 0 0 0;
-           }
-        }
+   group {
+      name: "e/widgets/border/default/move";
+      images {
+         image: "base_bg.png" COMP;
+         image: "icon_win_move.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "base_bg.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "icon";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               min: 21 21;
+               max: 21 21;
+               fixed: 1 1;
+               rel1.offset: 2 2;
+               rel2.relative: 0.0 1.0;
+               rel2.offset: 2 -3;
+               image.normal: "icon_win_move.png";
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to_x: "icon";
+               rel1.offset: 2 4;
+               rel1.relative: 1.0 0.0;
+               rel2.offset: -5 -5;
+               color_class: "move_text";
+               text {
+                  text: "X Y";
+                  font: "Sans";
+                  size: 10;
+                  align: 0.5 0.5;
+                  min: 1 1;
+                  text_class: "move_text";
+               }
+            }
+         }
+      }
+   }
+   group {
+      name: "e/widgets/border/default/resize";
+      images {
+         image: "base_bg.png" COMP;
+         image: "icon_win_resize.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.0;
+               image {
+                  normal: "base_bg.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "icon";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               min: 21 21;
+               max: 21 21;
+               fixed: 1 1;
+               rel1.offset: 2 2;
+               rel2.relative: 0.0 1.0;
+               rel2.offset: 2 -3;
+               image.normal: "icon_win_resize.png";
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to_x: "icon";
+               rel1.offset: 2 4;
+               rel1.relative: 1.0 0.0;
+               rel2.offset: -5 -5;
+               color_class: "resize_text";
+               text {
+                  text: "WxH";
+                  font: "Sans";
+                  size: 10;
+                  align: 0.5 0.5;
+                  min: 1 1;
+                  text_class: "resize_text";
+               }
+            }
+         }
+      }
+   }
 
-        part { name: "e.event.resize.t";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 0.0 0.0;
-                 offset: 0 0;
-              }
-              rel2 {
-                 relative: 1.0 0.0;
-                 offset: -1 3;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
-        part { name: "e.event.resize.b";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 0.0 1.0;
-                 offset: 0 -4;
-              }
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -1 -1;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
 
-        part { name: "e.event.resize.tl";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 0.0 0.0;
-                 offset: 0 0;
-              }
-              rel2 {
-                 relative: 0.0 0.0;
-                 offset: 15 15;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
-        part { name: "e.event.resize.tr";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 1.0 0.0;
-                 offset: -16 0;
-              }
-              rel2 {
-                 relative: 1.0 0.0;
-                 offset: -1 15;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
-        part { name: "e.event.resize.bl";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 0.0 1.0;
-                 offset: 0 -16;
-              }
-              rel2 {
-                 relative: 0.0 1.0;
-                 offset: 15 -1;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
-        part { name: "e.event.resize.br";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1 {
-                 relative: 1.0 1.0;
-                 offset: -16 -16;
-              }
-              rel2 {
-                 relative: 1.0 1.0;
-                 offset: -1 -1;
-              }
-              color: 0 0 0 0;
-           }
-           description { state: "shaded" 0.0;
-              inherit: "default" 0.0;
-              visible: 0;
-           }
-        }
+/////////////////////////////////////////////////////////////////////////////
+/*** WIDGETS ***/
+
+   group {
+      name: "e/widgets/check";
+      images {
+         image: "check_base.png" COMP;
+         image: "check_on.png" COMP;
+         image: "check_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               align: 0.0 0.5;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 2    2;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 2   -3;
+               }
+               image.normal: "check_base.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "check_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "check_sel.png";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+               color_class: "check_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "check_button";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "check_text_disabled";
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "on";
+            /* if the checkmark is to be displayed */
+            signal: "e,state,checked";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            /* check mark is not to be displayed */
+            signal: "e,state,unchecked";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+         program {
+            name: "click";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "e,action,toggle" "";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+      }
+   }
+   group {
+      name: "e/widgets/check_icon";
+      images {
+         image: "check_base.png" COMP;
+         image: "check_on.png" COMP;
+         image: "check_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               align: 0.0 0.5;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 2    2;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 2   -3;
+               }
+               image.normal: "check_base.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "check_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "check_sel.png";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            clip_to: "icon_clip";
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+            }
+            description {
+               state: "label_visible" 0.0;
+               inherit: "default" 0.0;
+               min: 16 16;
+               rel2 {
+                  to_y: "base";
+                  relative: 1.0  0.0;
+                  offset: -2 -2;
+               }
+            }
+         }
+         part {
+            name: "icon_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "label_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "label_visible" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "label_clip";
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+               color_class: "check_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "check_button";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "check_text_disabled";
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "on";
+            /* if the checkmark is to be displayed */
+            signal: "e,state,checked";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            /* check mark is not to be displayed */
+            signal: "e,state,unchecked";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+         program {
+            name: "click";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "e,action,toggle" "";
+         }
+         program {
+            name: "label_on";
+            signal: "e,state,labeled";
+            source: "e";
+            action: STATE_SET "label_visible" 0.0;
+            target: "e.swallow.icon";
+            target: "label_clip";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+      }
+   }
+   /* for a radio menu item - same as check, but only one of a group of radio
+    * menu item can be selected at any one time */
+   group {
+      name: "e/widgets/radio";
+      images {
+         image: "radio_base.png" COMP;
+         image: "radio_on.png" COMP;
+         image: "radio_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               align: 0.0 0.5;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 2    2;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 2   -3;
+               }
+               image.normal: "radio_base.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "radio_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "radio_sel.png";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+               color_class: "radio_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "radio_button";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "radio_text_disabled";
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "on";
+            /* if the checkmark is to be displayed */
+            signal: "e,state,on";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            /* check mark is not to be displayed */
+            signal: "e,state,off";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+         program {
+            name: "click";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "e,action,toggle" "";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+      }
+   }
+   group {
+      name: "e/widgets/radio_icon";
+      images {
+         image: "radio_base.png" COMP;
+         image: "radio_on.png" COMP;
+         image: "radio_sel.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               max: 16 16;
+               align: 0.0 0.5;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 2    2;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 2   -3;
+               }
+               image.normal: "radio_base.png";
+            }
+         }
+         part {
+            name: "mark";
+            mouse_events: 0;
+            clip_to: "mark_hold";
+            description {
+               state: "default" 0.0;
+               rel1.to: "mark_hold";
+               rel2.to: "mark_hold";
+               image.normal: "radio_on.png";
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "radio_sel.png";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "mark_hold";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  to: "base";
+                  offset: -5 -5;
+               }
+               rel2 {
+                  to: "base";
+                  offset: 4 4;
+               }
+            }
+            description {
+               state: "on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            clip_to: "icon_clip";
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.0;
+                  offset: 2 2;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+            }
+            description {
+               state: "label_visible" 0.0;
+               inherit: "default" 0.0;
+               min: 16 16;
+               rel2 {
+                  to_y: "e.text.label";
+                  relative: 1.0  0.0;
+                  offset: -2 -2;
+               }
+            }
+         }
+         part {
+            name: "icon_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "label_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "label_visible" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "label_clip";
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "base";
+                  relative: 1.0  0.5;
+                  offset: 2 1;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -2 -2;
+               }
+               color_class: "radio_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "radio_button";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "radio_text_disabled";
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "on";
+            /* if the radiomark is to be displayed */
+            signal: "e,state,on";
+            source: "e";
+            action: STATE_SET "on" 0.0;
+            transition: LINEAR 0.15;
+            target: "mark_hold";
+         }
+         program {
+            name: "off";
+            /* radio mark is not to be displayed */
+            signal: "e,state,off";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.2;
+            target: "mark_hold";
+         }
+         program {
+            name: "click";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "e,action,toggle" "";
+         }
+         program {
+            name: "label_on";
+            signal: "e,state,labeled";
+            source: "e";
+            action: STATE_SET "label_visible" 0.0;
+            target: "e.swallow.icon";
+            target: "label_clip";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "mark";
+            target: "event";
+            target: "e.text.label";
+         }
+      }
+   }
+   group {
+      name: "e/widgets/button";
+      images {
+         image: "bt_base1.png" COMP;
+         image: "bt_base2.png" COMP;
+         image: "bt_hilight.png" COMP;
+         image: "bt_shine.png" COMP;
+         image: "bt_glow.png" COMP;
+         image: "bt_dis_base.png" COMP;
+         image: "bt_dis_hilight.png" COMP;
+      }
+      parts {
+         part {
+            name: "button_image";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               min: 32 16;
+               image {
+                  normal: "bt_base2.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "bt_base1.png";
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "bt_dis_base.png";
+                  border: 4 4 4 4;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 3   3;
+                  to: "button_image";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 3  -4;
+                  to: "button_image";
+               }
+            }
+            description {
+               state: "combo" 0.0;
+               inherit: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 3  3;
+                  to: "button_image";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset: 3   -4;
+                  to: "button_image";
+               }
+            }
+            description {
+               state: "icon" 0.0;
+               inherit: "default" 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+               align: 0.5 0.5;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 3  3;
+                  to: "button_image";
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -4   -4;
+                  to: "button_image";
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: 2    3;
+                  to_x: "e.swallow.icon";
+                  to_y: "button_image";
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -4   -4;
+                  to: "button_image";
+               }
+               color_class: "button_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "button";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "button_text_disabled";
+            }
+            description {
+               state: "icon" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "over1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel2.relative: 1.0 0.5;
+               image {
+                  normal: "bt_hilight.png";
+                  border: 7 7 7 0;
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "bt_dis_hilight.png";
+                  border: 4 4 4 0;
+               }
+            }
+         }
+         part {
+            name: "over2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "bt_shine.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "over3";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               image {
+                  normal: "bt_glow.png";
+                  border: 7 7 9 9;
+               }
+               fill.smooth : 0;
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "disabler";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               visible: 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "button_click";
+            signal: "mouse,down,1";
+            source: "button_image";
+            action: STATE_SET "clicked" 0.0;
+            target: "button_image";
+            target: "over3";
+         }
+         program {
+            name: "button_unclick";
+            signal: "mouse,up,1";
+            source: "button_image";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            target: "over3";
+         }
+         program {
+            name: "button_unclick2";
+            signal: "mouse,clicked,1";
+            source: "button_image";
+            action: SIGNAL_EMIT "e,action,click" "";
+         }
+         program {
+            name: "text_state";
+            signal: "e,state,text";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "e.swallow.icon";
+            target: "e.text.label";
+         }
+         program {
+            name: "icon_state";
+            signal: "e,state,icon";
+            source: "e";
+            action: STATE_SET "icon" 0.0;
+            target: "e.swallow.icon";
+            target: "e.text.label";
+         }
+         program {
+            name: "combo_state";
+            signal: "e,state,combo";
+            source: "e";
+            action: STATE_SET "combo" 0.0;
+            target: "e.swallow.icon";
+            target: "e.text.label";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "button_image";
+            target: "over1";
+            target: "e.text.label";
+            target: "disabler";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            target: "over1";
+            target: "e.text.label";
+            target: "disabler";
+         }
+      }
+   }
+   /* e/widgets/scrollframe is used in the Wallpaper selector dialog */
+   group {
+      name: "e/widgets/scrollframe";
+      images {
+         image: "added_images/e17_ibar_bg_v.png" COMP;
+         image: "added_images/e17_ibar_over_v.png" COMP;
+         image: "added_images/e17_scrollbar_hdrag_thumb.png" COMP;
+         image: "added_images/e17_scrollbar_vdrag_thumb.png" COMP;
+         image: "added_images/focus.png" COMP;
+         image: "sb_thumb.png" COMP;
+         image: "added_images/DM_Internet_Scroll_01.png" COMP;
+         image: "added_images/DM_Internet_Scroll_h_01.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Up.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Middle.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Down.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Left_h.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Middle_h.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Right_h.png" COMP;
+         image: "added_images/DM_Internet_Scroll_Increase.png" COMP;
+      }
+      parts {
+         part {
+            name: "bg";
+            mouse_events:  0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "added_images/e17_ibar_bg_v.png";
+                  border: 7 7 7 7;
+               }
+               fill {
+                  smooth : 0;
+               }
+            }
+         }
+         part {
+            name: "clipper";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "bg";
+                  offset: 4 4;
+               }
+               rel2 {
+                  to: "bg";
+                  offset: -5  -5;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            clip_to: "clipper";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  offset: 4 4;
+               }
+              rel2 {
+                  relative: 0.0  0.0;
+                  offset: -1   -1;
+                  to_x: "sb_vbar";
+                  to_y: "sb_hbar";
+              }
+            }
+         }
+         part {
+            name: "conf_over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "bg";
+               }
+               rel2 {
+                  to: "bg";
+               }
+               image {
+                  normal: "added_images/e17_ibar_over_v.png";
+                  border: 13 13 13 13;
+                  middle: 0;
+               }
+               fill {
+                  smooth : 0;
+               }
+            }
+         }
+         part {
+            name: "sb_vbar";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               align: 1.0 0.0;
+               rel1 {
+                  to: "bg";
+                  relative: 1.0 0.0;
+                  offset: -5 4;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 1.0 0.0;
+                  offset: -5 -1;
+                  to_y: "sb_hbar";
+               }
+            }
+            description {
+               state: "hidden" 0.0;
+               visible: 0;
+               max: 0 99999;
+               rel1 {
+                  to: "bg";
+                  relative: 1.0 0.0;
+                  offset: -4 4;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 1.0 0.0;
+                  offset: -4 -1;
+                  to_y: "sb_hbar";
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_base";
+            type: RECT;
+            clip_to: "sb_vbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 0.0  1.0;
+                  offset: 0    0;
+                  to: "sb_vbar_a1";
+               }
+               rel2 {
+                  relative: 1.0  0.0;
+                  offset: -1   -1;
+                  to: "sb_vbar_a2";
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_runner";
+            clip_to: "sb_vbar";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "sb_vbar_base";
+               }
+               rel2 {
+                  to: "sb_vbar_base";
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Middle.png";
+               }
+               fill {
+                  smooth: 0;
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_p1";
+            type: RECT;
+            clip_to: "sb_vbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset:   0   0;
+                  to: "sb_vbar_a1";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset:   -1  -1;
+                  to: "e.dragable.vbar";
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_p2";
+            type: RECT;
+            clip_to: "sb_vbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  offset:   0   0;
+                  to: "e.dragable.vbar";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset:   -1  -1;
+                  to: "sb_vbar_a2";
+               }
+            }
+         }
+         part {
+            name: "e.dragable.vbar";
+            clip_to: "sb_vbar";
+            mouse_events: 1;
+            dragable {
+               x: 0 0 0;
+               y: 1 1 0;
+               confine: "sb_vbar_base";
+            }
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  relative: 0.5  0.5;
+                  offset: 0    0;
+                  to: "sb_vbar_base";
+               }
+               rel2 {
+                  relative: 0.5  0.5;
+                  offset: 0    0;
+                  to: "sb_vbar_base";
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_01.png";
+                  border: 5 5 5 5;
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_01.png";
+               }
+            }
+         }
+         part {
+            name: "vbar_bar_thumb";
+            clip_to: "sb_vbar";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               max: 8 8;
+               min: 8 8;
+               rel1 {
+                  to: "e.dragable.vbar";
+               }
+               rel2 {
+                  to: "e.dragable.vbar";
+               }
+               image {
+                  normal: "added_images/e17_scrollbar_vdrag_thumb.png";
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_a1";
+            type: IMAGE;
+            mouse_events: 1;
+            clip_to: "sb_vbar";
+            description {
+               state: "default" 0.0;
+               align: 0.5 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1 {
+                  to: "sb_vbar";
+                  relative: 0.0  0.0;
+                  offset: 0    0;
+               }
+               rel2 {
+                  to: "sb_vbar";
+                  relative: 1.0  0.0;
+                  offset: -1   0;
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Up.png";
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Up.png";
+               }
+            }
+         }
+         part {
+            name: "sb_vbar_a2";
+            type: IMAGE;
+            mouse_events: 1;
+            clip_to: "sb_vbar";
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1 {
+                  to: "sb_vbar";
+                  relative: 0.0  1.0;
+                  offset:   0    -1;
+               }
+               rel2 {
+                  to: "sb_vbar";
+                  relative: 1.0  1.0;
+                  offset:   -1   -1;
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Down.png";
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Down.png";
+               }
+            }
+         }
+         part {
+            name: "sb_increase";
+            type: IMAGE;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.5 1.0;
+               aspect: 1.0 1.0;
+               aspect_preference: HORIZONTAL;
+               rel1 {
+                  to: "sb_hbar_a2";
+                  relative: 1.0  0.0;
+                  offset: 0 2;
+               }
+               rel2 {
+                  to: "sb_vbar_a2";
+                  relative: 1.0  2.0;
+                  offset: -1 -1;
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Increase.png";
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Increase.png";
+               }
+            }
+            description {
+               state: "hidden" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "sb_hbar_a2";
+                  relative: 1.0  0.0;
+                  offset: 0 2;
+               }
+               rel2 {
+                  to: "sb_vbar_a2";
+                  relative: 1.0  2.0;
+                  offset: -1 -1;
+               }
+            }
+         }
+         part {
+            name: "sb_hbar";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               align: 0.0 1.0;
+               rel1 {
+                  to: "bg";
+                  relative: 0.0 1.0;
+                  offset: 4 -5;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 0.0 1.0;
+                  offset: -1 -5;
+                  to_x: "sb_vbar";
+               }
+            }
+            description {
+               state: "hidden" 0.0;
+               visible: 0;
+               rel1 {
+                  to: "bg";
+                  relative: 0.0  1.0;
+                  offset: 0    -4;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 0.0  1.0;
+                  offset: -1   -4;
+                  to_x: "sb_vbar";
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_base";
+            type: RECT;
+            clip_to: "sb_hbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: 0    0;
+                  to: "sb_hbar_a1";
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: -1   -1;
+                  to: "sb_hbar_a2";
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_runner";
+            clip_to: "sb_hbar";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "sb_hbar_base";
+               }
+               rel2 {
+                  to: "sb_hbar_base";
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Middle_h.png";
+               }
+               fill {
+                  smooth: 0;
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_p1";
+            type: RECT;
+            clip_to: "sb_hbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset:   0   0;
+                  to: "sb_hbar_a1";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset:   -1  -1;
+                  to: "e.dragable.hbar";
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_p2";
+            type: RECT;
+            clip_to: "sb_hbar";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset:   0   0;
+                  to: "e.dragable.hbar";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  offset:   -1  -1;
+                  to: "sb_hbar_a2";
+               }
+            }
+         }
+         part {
+            name: "e.dragable.hbar";
+            clip_to: "sb_hbar";
+            mouse_events: 1;
+            dragable {
+               x: 1 1 0;
+               y: 0 0 0;
+               confine: "sb_hbar_base";
+            }
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  relative: 0.5  0.5;
+                  offset: 0    0;
+                  to: "sb_hbar_base";
+               }
+               rel2 {
+                  relative: 0.5  0.5;
+                  offset: 0    0;
+                  to: "sb_hbar_base";
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_h_01.png";
+                  border: 5 5 5 5;
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_h_01.png";
+               }
+            }
+         }
+         part {
+            name: "hbar_bar_thumb";
+            clip_to: "sb_hbar";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               max: 8 8;
+               min: 8 8;
+               rel1 {
+                  to: "e.dragable.hbar";
+               }
+               rel2 {
+                  to: "e.dragable.hbar";
+               }
+               image {
+                  normal: "added_images/e17_scrollbar_hdrag_thumb.png";
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_a1";
+            type: IMAGE;
+            mouse_events: 1;
+            clip_to: "sb_hbar";
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  to: "sb_hbar";
+                  relative: 0.0  0.0;
+                  offset: 0    0;
+               }
+               rel2 {
+                  to: "sb_hbar";
+                  relative: 0.0  1.0;
+                  offset: 0   -1;
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Left_h.png";
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Left_h.png";
+               }
+            }
+         }
+         part {
+            name: "sb_hbar_a2";
+            type: IMAGE;
+            mouse_events: 1;
+            clip_to: "sb_hbar";
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  to: "sb_hbar";
+                  relative: 1.0  0.0;
+                  offset: -1    0;
+               }
+               rel2 {
+                  to: "sb_hbar";
+                  relative: 1.0  1.0;
+                  offset: -1   -1;
+               }
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Right_h.png";
+               }
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: "added_images/DM_Internet_Scroll_Right_h.png";
+               }
+            }
+         }
+         part {
+            name: "focus";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               image {
+                  normal: "added_images/focus.png";
+                  border: 7 7 7 7;
+                  middle: 0;
+               }
+               fill {
+                  smooth: 0;
+               }
+            }
+            description {
+               state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 255;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sb_vbar_show";
+            signal: "e,action,show,vbar";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "sb_vbar";
+            target: "sb_increase";
+         }
+         program {
+            name: "sb_vbar_hide";
+            signal: "e,action,hide,vbar";
+            source: "e";
+            action: STATE_SET "hidden" 0.0;
+            target: "sb_vbar";
+            target: "sb_increase";
+         }
+         program {
+            name: "sb_hbar_show";
+            signal: "e,action,show,hbar";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "sb_hbar";
+            target: "sb_increase";
+         }
+         program {
+            name: "sb_hbar_hide";
+            signal: "e,action,hide,hbar";
+            source: "e";
+            action: STATE_SET "hidden" 0.0;
+            target: "sb_hbar";
+            target: "sb_increase";
+         }
+         program {
+            name: "sb_vbar_a1_down";
+            signal: "mouse,down,1";
+            source: "sb_vbar_a1";
+            action: STATE_SET "clicked" 0.0;
+            target: "sb_vbar_a1";
+         }
+         program {
+            name: "sb_vbar_a1_down2";
+            signal: "mouse,down,1";
+            source: "sb_vbar_a1";
+            action: DRAG_VAL_STEP 0.0 -1.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_vbar_a1_up";
+            signal: "mouse,up,1";
+            source: "sb_vbar_a1";
+            action: STATE_SET "default" 0.0;
+            target: "sb_vbar_a1";
+         }
+         program {
+            name: "sb_vbar_a2_down";
+            signal: "mouse,down,1";
+            source: "sb_vbar_a2";
+            action: STATE_SET "clicked" 0.0;
+            target: "sb_vbar_a2";
+         }
+         program {
+            name: "sb_vbar_a2_down2";
+            signal: "mouse,down,1";
+            source: "sb_vbar_a2";
+            action: DRAG_VAL_STEP 0.0 1.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_vbar_a2_up";
+            signal: "mouse,up,1";
+            source: "sb_vbar_a2";
+            action: STATE_SET "default" 0.0;
+            target: "sb_vbar_a2";
+         }
+         program {
+            name: "sb_vbar_p1_down";
+            signal: "mouse,down,1";
+            source: "sb_vbar_p1";
+            action: DRAG_VAL_PAGE 0.0 -1.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_vbar_p2_down";
+            signal: "mouse,down,1";
+            source: "sb_vbar_p2";
+            action: DRAG_VAL_PAGE  0.0 1.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_vbar_down";
+            signal: "mouse,down,1";
+            source: "e.dragable.vbar";
+            action: STATE_SET "clicked" 0.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_vbar_up";
+            signal: "mouse,up,1";
+            source: "e.dragable.vbar";
+            action: STATE_SET "default" 0.0;
+            target: "e.dragable.vbar";
+         }
+         program {
+            name: "sb_hbar_a1_down";
+            signal: "mouse,down,1";
+            source: "sb_hbar_a1";
+            action: STATE_SET "clicked" 0.0;
+            target: "sb_hbar_a1";
+         }
+         program {
+            name: "sb_hbar_a1_down2";
+            signal: "mouse,down,1";
+            source: "sb_hbar_a1";
+            action: DRAG_VAL_STEP -1.0 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "sb_hbar_a1_up";
+            signal: "mouse,up,1";
+            source: "sb_hbar_a1";
+            action: STATE_SET "default" 0.0;
+            target: "sb_hbar_a1";
+         }
+         program {
+            name: "sb_hbar_a2_down";
+            signal: "mouse,down,1";
+            source: "sb_hbar_a2";
+            action: STATE_SET "clicked" 0.0;
+            target: "sb_hbar_a2";
+         }
+         program {
+            name: "sb_hbar_a2_down2";
+            signal: "mouse,down,1";
+            source: "sb_hbar_a2";
+            action: DRAG_VAL_STEP 1.0 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "sb_hbar_a2_up";
+            signal: "mouse,up,1";
+            source: "sb_hbar_a2";
+            action: STATE_SET "default" 0.0;
+            target: "sb_hbar_a2";
+         }
+         program {
+            name: "sb_hbar_p1_down";
+            signal: "mouse,down,1";
+            source: "sb_hbar_p1";
+            action: DRAG_VAL_PAGE -1.0 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "sb_hbar_p2_down";
+            signal: "mouse,down,1";
+            source: "sb_hbar_p2";
+            action: DRAG_VAL_PAGE  1.0 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "sb_hbar_down";
+            signal: "mouse,down,1";
+            source: "e.dragable.hbar";
+            action: STATE_SET "clicked" 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "sb_hbar_up";
+            signal: "mouse,up,1";
+            source: "e.dragable.hbar";
+            action: STATE_SET "default" 0.0;
+            target: "e.dragable.hbar";
+         }
+         program {
+            name: "focus_in";
+            signal: "e,state,focused";
+            source: "e";
+            action: STATE_SET "focused" 0.0;
+            transition: DECELERATE 0.2;
+            target: "focus";
+         }
+         program {
+            name: "focus_out";
+            signal: "e,state,unfocused";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: ACCELERATE 0.5;
+            target: "focus";
+         }
+      }
+   }
+   /* e/widgets/ilist is used in the Module Config Dialog for the module list */
+   group {
+      name: "e/widgets/ilist";
+      data.item: "stacking" "above";
+      data.item: "selectraise" "on";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_1.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
+      }
+      parts {
+         part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               min: 0 10;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "ilist_item_base";
+               image {
+                  normal: "ilist_1.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 4   -5;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "e.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset: 4 4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5 -5;
+               }
+               color_class: "ilist_item";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "ilist_item";
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color_class: "ilist_item_selected";
+            }
+         }
+         part {
+            name: "e.swallow.end";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: -5    4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5   -5;
+               }
+            }
+         }
+         part {
+            name: "fg1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "fg2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+            transition: LINEAR 0.1;
+         }
+      }
+   }
+   group {
+      name: "e/widgets/ilist_odd";
+      data.item: "stacking" "below";
+      data.item: "selectraise" "on";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_2.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "ilist_item_odd_base";
+               image {
+                  normal: "ilist_2.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 4   -5;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "e.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset: 4 4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5 -5;
+               }
+               color_class: "ilist_item_odd";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "ilist_item";
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color_class: "ilist_item_selected";
+            }
+         }
+         part {
+            name: "e.swallow.end";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: -5    4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5   -5;
+               }
+            }
+         }
+         part {
+            name: "fg1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "fg2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+            transition: LINEAR 0.1;
+         }
+      }
+   }
+   group {
+      name: "e/widgets/ilist_header";
+      data.item: "stacking" "above";
+      data.item: "selectraise" "on";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_header_1.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
+      }
+      parts {
+         part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               min: 0 10;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "ilist_item_header_base";
+               image {
+                  normal: "ilist_header_1.png";
+                  border: 2 2 2 2;
+               }
+            }
+         }
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 4   -5;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "e.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset: 4 4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5 -5;
+               }
+               color_class: "ilist_item_header";
+               text {
+                  font: "Sans:style=Bold";
+                  size: 16;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "ilist_item";
+               }
+            }
+         }
+         part {
+            name: "fg1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "fg2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+            transition: LINEAR 0.1;
+         }
+      }
+   }
+   group {
+      name: "e/widgets/ilist_header_odd";
+      data.item: "stacking" "below";
+      data.item: "selectraise" "on";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_header_2.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "ilist_item_header_odd_base";
+               image {
+                  normal: "ilist_header_2.png";
+                  border: 2 2 2 2;
+               }
+            }
+         }
+         part {
+            name: "bg";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part {
+            name: "e.swallow.icon";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 4   -5;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 16 16;
+               rel1 {
+                  to_x: "e.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset: 4 4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -5 -5;
+               }
+               color_class: "ilist_item_header_odd";
+               text {
+                  font: "Sans:style=Bold";
+                  size: 16;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "ilist_item";
+               }
+            }
+         }
+         part {
+            name: "fg1";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "fg2";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description {
+               state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_active";
+            signal: "e,state,selected";
+            source: "e";
+            action: STATE_SET "selected" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+         }
+         program {
+            name: "go_passive";
+            signal: "e,state,unselected";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "fg1";
+            target: "fg2";
+            target: "e.text.label";
+            transition: LINEAR 0.1;
+         }
+      }
+   }
+   group {
+      name: "e/widgets/ilist/toggle_end";
+      images {
+         image: "icon_active.png" COMP;
+      }
+      parts {
+         part {
+            name: "icon";
+            type: IMAGE;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0;
+               visible: 0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 4   -5;
+               }
+               image.normal: "icon_active.png";
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 255;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program {
+            signal: "e,state,checked";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            target: "icon";
+            transition: LINEAR 0.1;
+         }
+         program {
+            signal: "e,state,unchecked";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "icon";
+            transition: LINEAR 0.1;
+         }
+      }
+   }
+   /* Used to display RGB/HSV values via sliders
+      in Wallpaper Gradient Dialog               */
+   group {
+      name: "e/widgets/cslider";
+      images.image: "inset_sunk.png" COMP;
+      parts {
+         part {
+            name: "content_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.to: "e.swallow.content";
+               rel2.to: "e.swallow.content";
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "content_clip";
+            description {
+               state: "default" 0.0;
+               min: 50 20;
+               rel1.offset: 4    4;
+               rel2.offset: -5    -5;
+            }
+            description {
+               state: "vertical" 0.0;
+               inherit: "default" 0.0;
+               min: 20 50;
+            }
+         }
+         part {
+            name: "border";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "e.swallow.content";
+                  offset: -1 -1;
+               }
+               rel2 {
+                  to: "e.swallow.content";
+                  offset: 0 0;
+               }
+               image {
+                  normal: "inset_sunk.png";
+                  border: 7 7 7 7;
+                  middle: 0;
+               }
+               fill.smooth : 0;
+            }
+         }
+         part {
+            name: "e.dragable.cursor";
+            type: RECT;
+            clip_to: "content_clip";
+            dragable {
+               confine: "e.swallow.content";
+               x: 1 1 0;
+               y: -1 1 0;
+            }
+            description {
+               state: "default" 0.0;
+               min: 1 24;
+               max: 1 9999;
+               fixed: 1 1;
+               rel1 {
+                  to: "e.swallow.content";
+                  relative: 0.5 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "e.swallow.content";
+                  relative: 0.5 1.0;
+                  offset: 0 -1;
+               }
+               color: 255 255 255 150;
+            }
+            description {
+               state: "vertical" 0.0;
+               min: 24 1;
+               max: 9999 1;
+               fixed: 1 1;
+               rel1 {
+                  to: "e.swallow.content";
+                  relative: 0.0 0.5 ;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "e.swallow.content";
+                  relative: 1.0 0.5;
+                  offset: -1 0;
+               }
+               color: 255 255 255 150;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "go_vertical";
+            signal: "e,state,direction,v";
+            source: "e";
+            action: STATE_SET "vertical" 0.0;
+            target: "e.dragable.cursor";
+            target: "e.swallow.content";
+         }
+      }
+   }
+   /* e/widgets/slider* is used in the Virtual Desktops Config dialog */
+   group {
+      name: "e/widgets/slider_vertical";
+      images {
+         image: "slider.png" COMP;
+         image: "slider_clicked.png" COMP;
+         image: "sb_runnerv.png" COMP;
+         image: "inset_sunk.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               min: 22 0;
+               rel1.offset: 2 2;
+               rel2.offset: -3 -3;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  to_y: "label";
+                  relative: 1.0  0.0;
+                  offset: -3   -1;
+               }
+            }
+         }
+         part {
+            name: "runner";
+            mouse_events: 0;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               max: 3 99999;
+               rel1.to: "base";
+               rel2.to: "base";
+               image {
+                  normal: "sb_runnerv.png";
+                  border: 0 0 4 4;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "label_base";
+            clip_to: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0;
+               visible: 0;
+               rel1.to: "label";
+               rel1.offset: 1 1;
+               rel2.to: "label";
+               rel2.offset: -2 -2;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "label";
+            mouse_events: 0;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "active" 0.0;
+               rel1 {
+                  to: "e.text.label";
+                  offset: -4  -2;
+               }
+               rel2 {
+                  to: "e.text.label";
+                  offset: 3  1;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            clip_to: "clip";
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "active" 0.0;
+               align: 0.5 1.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.0  1.0;
+                  offset: 7    -8;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -8  -8;
+               }
+               color_class: "slider_text";
+               text {
+                  text: "0.0";
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "slider";
+               }
+            }
+         }
+         part {
+            name: "sld_p1";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel2 {
+                  relative: 1.0 0.0;
+                  to: "e.dragable.slider";
+               }
+            }
+         }
+         part {
+            name: "sld_p2";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to: "e.dragable.slider";
+               }
+            }
+         }
+         part {
+            name: "e.swallow.bar";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               rel1 {
+                  to_x: "e.dragable.slider";
+                  to_y: "base";
+                  offset: 0 5;
+               }
+               rel2 {
+                  to_x: "e.dragable.slider";
+                  to_y: "base";
+                  offset: -1 -6;
+               }
+            }
+         }
+         part {
+            name: "e.dragable.slider";
+            type: RECT;
+            mouse_events: 1;
+            scale: 1;
+            dragable {
+               x: 0 0 0;
+               y: -1 1 0;
+               confine: "base";
+            }
+            description {
+               state: "default" 0.0;
+               min: 11 11;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.5  0.5;
+                  offset: -1    0;
+                  to: "base";
+               }
+               rel2 {
+                  relative: 0.5  0.5;
+                  offset: -1    -1;
+                  to: "base";
+               }
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "button";
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 22 22;
+               fixed: 1 1;
+               rel1.to: "e.dragable.slider";
+               rel2.to: "e.dragable.slider";
+               image.normal: "slider.png";
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "slider_clicked.png";
+            }
+         }
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sld_p1_down";
+            signal: "mouse,down,1";
+            source: "sld_p1";
+            action: DRAG_VAL_PAGE 0.0 -1.0;
+            target: "e.dragable.slider";
+         }
+         program {
+            name: "sld_p2_down";
+            signal: "mouse,down,1";
+            source: "sld_p2";
+            action: DRAG_VAL_PAGE  0.0 1.0;
+            target: "e.dragable.slider";
+         }
+         program {
+            name: "button_down";
+            signal: "mouse,down,1";
+            source: "e.dragable.slider";
+            action: STATE_SET "clicked" 0.0;
+            target: "button";
+         }
+         program {
+            name: "button_up";
+            signal: "mouse,up,1";
+            source: "e.dragable.slider";
+            action: STATE_SET "default" 0.0;
+            target: "button";
+         }
+         program {
+            name: "show_label";
+            signal: "e,action,show,label";
+            source: "e";
+            action: STATE_SET "active" 0.0;
+            target: "base";
+            target: "label";
+            target: "label_base";
+            target: "e.text.label";
+         }
+         program {
+            name: "hide_label";
+            signal: "e,action,hide,label";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "base";
+            target: "label";
+            target: "label_base";
+            target: "e.text.label";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "clip";
+            target: "event";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "clip";
+            target: "event";
+         }
+      }
+   }
+   group {
+      name: "e/widgets/slider_horizontal";
+      images {
+         image: "slider.png" COMP;
+         image: "slider_clicked.png" COMP;
+         image: "sb_runnerh.png" COMP;
+         image: "inset_sunk.png" COMP;
+      }
+      parts {
+         part {
+            name: "base";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               min: 0 22;
+               rel1.offset: 2 2;
+               rel2.offset: -3 -3;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  to_x: "label";
+                  relative: 0.0  1.0;
+                  offset: -1   -3;
+               }
+            }
+         }
+         part {
+            name: "runner";
+            mouse_events: 0;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               max: 99999 3;
+               rel1.to: "base";
+               rel2.to: "base";
+               image {
+                  normal: "sb_runnerh.png";
+                  border: 4 4 0 0;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "label_base";
+            clip_to: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0;
+               visible: 0;
+               rel1.to: "label";
+               rel1.offset: 1 1;
+               rel2.to: "label";
+               rel2.offset: -2 -2;
+            }
+            description {
+               state: "active" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "label";
+            mouse_events: 0;
+            clip_to: "clip";
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "active" 0.0;
+               min: 20 0;
+               rel1 {
+                  to: "e.text.label";
+                  offset: -4 -2;
+               }
+               rel2 {
+                  to: "e.text.label";
+                  offset: 2   1;
+               }
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            clip_to: "clip";
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+            }
+            description {
+               state: "active" 0.0;
+               align: 1.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: -8   7;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset: -8 -8;
+               }
+               color_class: "slider_text";
+               text {
+                  text: "0.0";
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "slider";
+               }
+            }
+         }
+         part {
+            name: "sld_p1";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel2 {
+                  relative: 0.0 1.0;
+                  to: "e.dragable.slider";
+               }
+            }
+         }
+         part {
+            name: "sld_p2";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "e.dragable.slider";
+               }
+            }
+         }
+         part {
+            name: "e.swallow.bar";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               rel1 {
+                  to_x: "base";
+                  to_y: "e.dragable.slider";
+                  offset: 5 0;
+               }
+               rel2 {
+                  to_x: "base";
+                  to_y: "e.dragable.slider";
+                  offset: -6 -1;
+               }
+            }
+         }
+         part {
+            name: "e.dragable.slider";
+            type: RECT;
+            mouse_events: 1;
+            scale: 1;
+            dragable {
+               x: 1 1 0;
+               y: 0 0 0;
+               confine: "base";
+            }
+            description {
+               state: "default" 0.0;
+               min: 11 11;
+               fixed: 1 1;
+               rel1 {
+                  relative: 0.5  0.5;
+                  to: "base";
+               }
+               rel2 {
+                  relative: 0.5  0.5;
+                  offset: 0    0;
+                  to: "base";
+               }
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "slider";
+            mouse_events: 0;
+            clip_to: "clip";
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 22 22;
+               fixed: 1 1;
+               rel1.to: "e.dragable.slider";
+               rel2.to: "e.dragable.slider";
+               image.normal: "slider.png";
+            }
+            description {
+               state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "slider_clicked.png";
+            }
+         }
+         part {
+            name: "clip";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 128;
+            }
+         }
+         part {
+            name: "event";
+            type: RECT;
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "sld_p1_down";
+            signal: "mouse,down,1";
+            source: "sld_p1";
+            action: DRAG_VAL_PAGE -1.0 0.0;
+            target: "e.dragable.slider";
+         }
+         program {
+            name: "sld_p2_down";
+            signal: "mouse,down,1";
+            source: "sld_p2";
+            action: DRAG_VAL_PAGE  1.0 0.0;
+            target: "e.dragable.slider";
+         }
+         program {
+            name: "sld_down";
+            signal: "mouse,down,1";
+            source: "e.dragable.slider";
+            action: STATE_SET "clicked" 0.0;
+            target: "slider";
+         }
+         program {
+            name: "sld_up";
+            signal: "mouse,up,1";
+            source: "e.dragable.slider";
+            action: STATE_SET "default" 0.0;
+            target: "slider";
+         }
+         program {
+            name: "show_label";
+            signal: "e,action,show,label";
+            source: "e";
+            action: STATE_SET "active" 0.0;
+            target: "base";
+            target: "label";
+            target: "label_base";
+            target: "e.text.label";
+         }
+         program {
+            name: "hide_label";
+            signal: "e,action,hide,label";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "base";
+            target: "label";
+            target: "label_base";
+            target: "e.text.label";
+         }
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "clip";
+            target: "event";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "clip";
+            target: "event";
+         }
+      }
+   }
+   /* e/widgets/frame is used in the Config Dialog
+      to outline the content                       */
+   group {
+      name: "e/widgets/frame";
+      images {
+         image: "frame_1.png" COMP;
+         image: "frame_2.png" COMP;
+         image: "dia_grad.png" COMP;
+      }
+      parts {
+         part {
+            name: "base0";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color_class: "frame_base";
+               image.normal: "dia_grad.png";
+               rel1.to: "over";
+               rel2.to: "over";
+               fill {
+                  smooth: 0;
+                  size {
+                     relative: 0.0 1.0;
+                     offset: 64 0;
+                  }
+               }
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "frame_2.png";
+                  border: 5 5 32 26;
+                  middle: 0;
+               }
+               fill.smooth : 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_y: "e.text.label";
+                  relative: 0.0 1.0;
+                  offset: 8 2;
+               }
+               rel2.offset: -9 -9;
+            }
+         }
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               fixed: 0 1;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: 6 6;
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  offset: -7 6;
+               }
+               color: 0 0 0 64;
+               text {
+                  font: "Sans:style=Bold";
+                  size: 10;
+                  min: 1 1;
+                  max: 1 1;
+                  align: 0.0 0.0;
+                  text_class: "frame";
+               }
+            }
+         }
+         part {
+            name: "over";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 4 4;
+               rel2.offset: -5 -5;
+               image {
+                  normal: "frame_1.png";
+                  border: 2 2 28 22;
+                  middle: 0;
+               }
+               fill.smooth : 0;
+            }
+         }
+      }
+   }
+   group {
+      name: "e/widgets/label";
+      parts {
+         part {
+            name: "e.text.label";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 2 2;
+               rel2.offset: -3 -3;
+               color_class: "label_text";
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text_class: "label";
+               }
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "label_text_disabled";
+            }
+         }
+      }
+      programs {
+         program {
+            name: "disable";
+            signal: "e,state,disabled";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "e.text.label";
+         }
+         program {
+            name: "enable";
+            signal: "e,state,enabled";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "e.text.label";
+         }
+      }
+   }
+
+   /* e/widgets/textblock is used in the description
+      of modules in Module Config dialog             */
+   group {
+      name: "e/widgets/textblock";
+      styles {
+         style {
+            name: "textblock_style";
+            base: "font=Sans font_size=10 align=left color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+            tag: "title" "+ font=Sans:style=Bold font_size=12 style=soft_shadow color=#fff shadow_color=#00000021";
+            tag: "hilight" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#333333be glow_color=#0000005a";
+            tag: "urgent" "+ font=Sans:style=Bold style=glow color=#fff glow2_color=#333 glow_color=#b01010";
+            tag: "b" "+ font=Sans:style=Bold";
+            tag: "br" "\n";
+         }
+      }
+      parts {
+         part {
+            name: "e.textblock.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 4 4;
+               rel2.offset: -5 -5;
+               text {
+                  style: "textblock_style";
+                  min: 1 1;
+               }
+            }
+         }
+      }
+   }
 
-        part { name: "e.event.icon";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "icon_area";
-              rel2.to: "icon_area";
-              color: 0 0 0 0;
-           }
-        }
+/////////////////////////////////////////////////////////////////////////////
+/*** GADMAN ***/
 
-        part { name: "e.event.close";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "bt_close";
-              rel2.to: "bt_close";
-              color: 0 0 0 0;
-           }
-        }
-        part { name: "e.event.minimize";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "bt_min";
-              rel2.to: "bt_min";
-              color: 0 0 0 0;
-           }
-        }
-        part { name: "e.event.maximize";
-           type: RECT;
-           description { state: "default" 0.0;
-              rel1.to: "bt_max";
-              rel2.to: "bt_max";
-              color: 0 0 0 0;
-           }
-        }
+   group {
+      name: "e/gadman/popup";
+      images.image: "base_bg.png" COMP;
+      parts {
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "base_bg.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               rel1.offset: 3 3;
+               rel2.offset: -4 -4;
+            }
+         }
+      }
+   }
+   group {
+      name: "e/gadman/full_bg";
+      parts {
+         part {
+            name: "bg";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description {
+               state: "visible" 0.0;
+               color: 0 0 0 128;
+            }
+         }
+         part {
+            name: "custom_bg";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 0;
+            }
+            description {
+               state: "visible" 0.0;
+               color: 255 255 255 200;
+            }
+         }
+         part {
+            name: "e.swallow.bg";
+            type: SWALLOW;
+            clip_to: "custom_bg";
+            description {
+               state: "default" 0.0;
+            }
+         }
+         part {
+            name: "grabber";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program {
+            name: "show";
+            signal: "e,state,visibility,show";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.4;
+            target: "bg";
+         }
+         program {
+            name: "show_now";
+            signal: "e,state,visibility,show,now";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.0;
+            target: "bg";
+         }
+         program {
+            name: "hide";
+            signal: "e,state,visibility,hide";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.4;
+            target: "bg";
+            after: "hide_stop";
+         }
+         program {
+            name: "hide_now";
+            signal: "e,state,visibility,hide,now";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.0;
+            target: "bg";
+            after: "hide_stop";
+         }
+         program {
+            name: "show_custom";
+            signal: "e,state,visibility,show,custom";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.4;
+            target: "custom_bg";
+         }
+         program {
+            name: "show_custom_now";
+            signal: "e,state,visibility,show,custom,now";
+            source: "e";
+            action: STATE_SET "visible" 0.0;
+            transition: LINEAR 0.0;
+            target: "custom_bg";
+         }
+         program {
+            name: "hide_custom";
+            signal: "e,state,visibility,hide,custom";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.4;
+            target: "custom_bg";
+            after: "hide_stop";
+         }
+         program {
+            name: "hide_custom_now";
+            signal: "e,state,visibility,hide,custom,now";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.0;
+            target: "custom_bg";
+            after: "hide_stop";
+         }
+         program {
+            name: "hide_stop";
+            action: SIGNAL_EMIT "e,action,hide,stop" "";
+         }
+      }
+   }
+   group {
+      name: "e/gadman/frame";
+      images.image: "inset_raised.png" COMP;
+      parts {
+         part {
+            name: "bg_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1.to: "overlay";
+               rel2.to: "overlay";
+               color: 255 255 255 255;
+            }
+            description {
+               state: "plain" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         part {
+            name: "items_clip";
+            type: RECT;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "overlay";
+                  offset: 4  4;
+               }
+               rel2 {
+                  to: "overlay";
+                  offset: -5  -5;
+               }
+               color: 255 255 255 255;
+            }
+            description {
+               state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "e.swallow.content";
+            type: SWALLOW;
+            clip_to: "items_clip";
+            description {
+               state: "default" 0.0;
+               rel1.offset: 4  4;
+               rel2.offset: -5  -5;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "hidden" 0.0;
+               rel1.relative: 0.5 0.5;
+               rel2.relative: 0.5 0.5;
+               color: 255 255 255 0;
+            }
+         }
+         part {
+            name: "overlay";
+            mouse_events: 0;
+            clip_to: "bg_clip";
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "inset_raised.png";
+                  border: 7 7 7 7;
+                  middle: 0;
+               }
+               fill.smooth: 0;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.5 0.5;
+               rel2.relative: 0.5 0.5;
+               color: 255 255 255 0;
+            }
+         }
       }
-      /* programs - these are basically snippets of simple logic to respond to
-       * incoming signals (generated by signal emisions by code or events) */
       programs {
-        program { name: "focus_in"; /* name of the program. must be unique
-                                     * within the list of programs attached
-                                     * to a group of parts */
-           signal: "e,state,focused"; /* what signal triggers this program,
-                                       * if any. this can also be a glob like
-                                       * "mouse,down,*" for example. note
-                                       * that globs are slower to match
-                                       * and empty strings are literal matches
-                                       * too */
-           source: "e"; /* the source of the signal - this must also match for
-                         * the program to be run */
-           action: STATE_SET "focused" 0.0; /* the action the program will
-                                             * perform. in this case
-                                             * it will set the state to
-                                             * "focused" @ value 0.0 */
-           target: "e.text.title";
-        }
-        program { name: "focus_out"; /* this program is run when focus is
-                                      * removed from a window border */
-           signal: "e,state,unfocused";
-           source: "e";
-           action: STATE_SET "default" 0.0;
-           target: "e.text.title";
-        }
-
-        program { name: "max_full"; /* run on fullscreen maximize */
-           signal: "e,action,maximize,fullscreen";
-           source: "e";
-           action: STATE_SET "max" 0.0;
-           target: "bottom";
-           target: "e.swallow.client";
-        }
-        program { name: "unmax_full"; /* run on unmaximize from fullscreen */
-           signal: "e,action,unmaximize,fullscreen";
-           source: "e";
-           action: STATE_SET "default" 0.0;
-           target: "bottom";
-           target: "e.swallow.client";
-        }
-
-// don't have any animation or stat change to do at the start of shading
-//      program { name: "xx";
-//         signal: "e,state,shading";
-//         source: "e";
-//      }
-        program { name: "shade_end"; /* run when the window finishes its
-                                      * shading animation */
-           signal: "e,state,shaded";
-           source: "e";
-           action: STATE_SET "shaded" 0.0;
-           target: "bottom";
-           target: "e.swallow.client";
-           target: "e.event.resize.tl";
-           target: "e.event.resize.tr";
-           target: "e.event.resize.bl";
-           target: "e.event.resize.br";
-           target: "e.event.resize.t";
-           target: "e.event.resize.b";
-        }
-        program { name: "unshade_start"; /* run when the window starts
-                                          * unshading itself */
-           signal: "e,state,unshading";
-           source: "e";
-           action: STATE_SET "default" 0.0;
-           target: "bottom";
-           target: "e.swallow.client";
-           target: "e.event.resize.tl";
-           target: "e.event.resize.tr";
-           target: "e.event.resize.bl";
-           target: "e.event.resize.br";
-           target: "e.event.resize.t";
-           target: "e.event.resize.b";
-        }
-// don't have any animation or stat change to do at the end of unshading
-//      program { name: "xx";
-//         signal: "e,state,unshaded";
-//         source: "e";
-//      }
-        program { name: "resize_b_on";
-           signal: "mouse,in"; /* on mouse enter... */
-           source: "e.event.resize.b"; /* in this named part */
-           action: ACTION_STOP; /* stop the following programs */
-           target: "resize_b_on2";
-           target: "resize_b_on3";
-           after: "resize_b_on2"; /* then run... */
-        }
-        program { name: "resize_b_on2";
-           action: STATE_SET "default" 0.0;
-           target: "resize_b";
-           after: "resize_b_on3";
-        }
-        program { name: "resize_b_on3";
-           action: STATE_SET "past" 0.0;
-           transition: LINEAR 0.5;
-           target: "resize_b";
-           after: "resize_b_on2";
-        }
-        program { name: "resize_b_off";
-           signal: "mouse,out"; /* on mouse leave... */
-           source: "e.event.resize.b";
-           action: ACTION_STOP;
-           target: "resize_b_on";
-           target: "resize_b_on2";
-           target: "resize_b_on3";
-        }
+         program {
+            name: "inset";
+            signal: "e,state,visibility,inset";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "bg_clip";
+         }
+         program {
+            name: "plain";
+            signal: "e,state,visibility,plain";
+            source: "e";
+            action: STATE_SET "plain" 0.0;
+            target: "bg_clip";
+         }
+         program {
+            name: "hide";
+            signal: "e,state,visibility,hide";
+            source: "e";
+            action: STATE_SET "hidden" 0.0;
+            transition: ACCELERATE 0.4;
+            target: "items_clip";
+            target: "overlay";
+            target: "e.swallow.content";
+         }
+         program {
+            name: "hide_now";
+            signal: "e,state,visibility,hide,now";
+            source: "e";
+            action: STATE_SET "hidden" 0.0;
+            transition: LINEAR 0.0;
+            target: "items_clip";
+            target: "overlay";
+            target: "e.swallow.content";
+         }
+         program {
+            name: "show";
+            signal: "e,state,visibility,show";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: DECELERATE 0.4;
+            target: "items_clip";
+            target: "overlay";
+            target: "e.swallow.content";
+         }
+         program {
+            name: "show_now";
+            signal: "e,state,visibility,show,now";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            transition: LINEAR 0.0;
+            target: "items_clip";
+            target: "overlay";
+            target: "e.swallow.content";
+         }
       }
    }
-
-/////////////////////////////////////////////////////////////////////////////
-/*** DIALOG ***/
-/* Used in all dialogs eg; Wallpaper selector */
-
    group {
-      name: "e/widgets/dialog/main";
+      name: "e/gadman/control";
       images {
-         image: "dia_grad.png" COMP;
-         image: "dia_topshad.png" COMP;
-         image: "dia_botshad.png" COMP;
-         image: "menu_sep.png" COMP;
+         image: "gadman_frame.png" COMP;
+         image: "gadman_border.png" COMP;
+         image: "gadman_top.png" COMP;
+         image: "gadman_bottom.png" COMP;
+         image: "gadman_left.png" COMP;
+         image: "gadman_right.png" COMP;
       }
       parts {
          part {
-            name: "base";
+            name: "hclip";
             mouse_events: 0;
+            type: RECT;
             description {
                state: "default" 0.0;
-               color_class: "dialog_base";
-               image.normal: "dia_grad.png";
-               fill {
-                  smooth: 0;
-                  size {
-                     relative: 0.0 1.0;
-                     offset: 64 0;
-                  }
-               }
+               visible: 1;
+               rel1.offset: -85 -85;
+               rel2.offset: 74 74;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible : 0;
             }
          }
          part {
-            name: "shadow";
+            name: "vclip";
             mouse_events: 0;
+            type: RECT;
             description {
                state: "default" 0.0;
-               rel2.relative: 1.0 0.0;
-               rel2.offset: -1 31;
-               image.normal: "dia_topshad.png";
-               fill {
-                  smooth: 0;
-                  size {
-                     relative: 0.0 1.0;
-                     offset: 64 0;
-                  }
+               visible: 1;
+               rel1.offset: -85 -85;
+               rel2.offset: 84 84;
+            }
+            description {
+               state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible : 0;
+            }
+         }
+         part {
+            name: "overlay";
+            mouse_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "border";
+                  offset: 4 4;
+               }
+               rel2 {
+                  to: "border";
+                  offset: -5 -5;
                }
+               image.normal: "gadman_frame.png";
+               fill.size.relative: 0 0;
+               fill.size.offset: 24 24;
             }
          }
          part {
-            name: "shadow2";
-            mouse_events: 0;
+            name: "left_arrow1";
             description {
                state: "default" 0.0;
-               rel1.relative: 0.0 1.0;
-               rel1.offset: 0 -4;
-               image.normal: "dia_botshad.png";
-               fill {
-                  smooth: 0;
-                  size {
-                     relative: 0.0 1.0;
-                     offset: 64 0;
-                  }
+               aspect: 1.0 1.0;
+               max: 12 24;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: 3 0;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: 3 -1;
+               }
+               image.normal: "gadman_left.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: -32 -12;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: -18 11;
+               }
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: -24 -6;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: -10 5;
                }
             }
          }
          part {
-            name: "e.swallow.icon";
-            type: SWALLOW;
+            name: "left_arrow2";
             description {
                state: "default" 0.0;
-               align: 0.0 0.5;
-               fixed: 1 0;
+               aspect: 1.0 1.0;
+               max: 12 24;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: 3 0;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: 3 -1;
+               }
+               image.normal: "gadman_left.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: -32 -12;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: -18 11;
+               }
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.0 0.5;
+                  offset: -24 -6;
+               }
+               rel2 {
+                  relative: 0.0 0.5;
+                  offset: -10 5;
+               }
+            }
+         }
+         part {
+            name: "right_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               max: 12 24;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: -3 0;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -3 -1;
+               }
+               image.normal: "gadman_right.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: 32 -12;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: 18 11;
+               }
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: 24 -6;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: 10 5;
+               }
+            }
+         }
+         part {
+            name: "right_arrow2";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               max: 12 24;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: -3 0;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -3 -1;
+               }
+               image.normal: "gadman_right.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: 32 -12;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: 18 11;
+               }
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: 24 -6;
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: 10 5;
+               }
+            }
+         }
+         part {
+            name: "top_arrow1";
+            description {
+               state: "default" 0.0;
+               aspect: 1.0 1.0;
+               max: 24 12;
+               rel1 {
+                  relative: 0.5 0.0;
+                  offset: 0 3;
+               }
+               rel2 {
+                  relative: 0.5 0.0;
+                  offset: -1 3;
+               }
+               image.normal: "gadman_top.png";
+            }
+            description {
+               state: "1" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  relative: 0.5 0.0;
+                  offset: -12 -32;
+               }
+               rel2 {
+                  relative: 0.5 0.0;
+                  offset: 11 -18;
+               }
+            }
+            description {
+               state: "2" 0.0;
+               inherit: "default" 0.0;
                rel1 {
-                  relative: 0.0 0.0;
-                  offset: 2  2;
+                  relative: 0.5 0.0;
+                  offset: -6 -24;
                }
                rel2 {
-                  relative: 0.0 0.0;
-                  offset: 2  -5;
-                  to_y: "e.swallow.buttons";
+                  relative: 0.5 0.0;
+                  offset: 5 -9;
                }
             }
          }
          part {
-            name: "e.swallow.content";
-            type: SWALLOW;
+            name: "top_arrow2";
             description {
                state: "default" 0.0;
+               aspect: 1.0 1.0;
+               max: 24 12;
                rel1 {
-                  relative: 1.0 0.0;
-                  offset: 2   2;
-                  to_x: "e.swallow.icon";
+                  relative: 0.5 0.0;
+                  offset: 0 3;
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  offset: -3  -5;
-                  to_y: "e.swallow.buttons";
+                  relative: 0.5 0.0;
+                  offset: -1 3;
                }
+               image.normal: "gadman_top.png";
             }
-         }
-         part {
-            name: "separator";
-            mouse_events: 0;
             description {
-               state: "default" 0.0;
-               min: 16 2;
+               state: "1" 0.0;
+               inherit: "default" 0.0;
                rel1 {
-                  relative: 0.0  1.0;
-                  offset: 4    -1;
-                  to_y: "e.swallow.content";
+                  relative: 0.5 0.0;
+                  offset: -12 -32;
                }
                rel2 {
-                  relative: 1.0  1.0;
-                  offset: -5   0;
-                  to_y: "e.swallow.content";
-               }
-               image {
-                  normal: "menu_sep.png";
-                  border: 2 2 0 0;
+                  relative: 0.5 0.0;
+                  offset: 11 -18;
                }
-               fill.smooth: 0;
             }
-         }
-         part {
-            name: "e.swallow.buttons";
-            type: SWALLOW;
             description {
-               state: "default" 0.0;
-               align: 0.5 1.0;
-               fixed: 0 1;
+               state: "2" 0.0;
+               inherit: "default" 0.0;
                rel1 {
-                  relative: 0.0 1.0;
-                  offset: 4   -5;
+                  relative: 0.5 0.0;
+                  offset: -6 -24;
                }
                rel2 {
-                  relative: 1.0 1.0;
-                  offset: -5  -5;
+                  relative: 0.5 0.0;
+                  offset: 5 -9;
                }
             }
          }
-      }
-   }
-   group {
-      name: "e/widgets/dialog/text";
-      styles {
-         style {
-            name: "dialog_style";
-            base: "font=Sans font_size=10 text_class=tb_plain align=center color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
-            tag: "br" "\n";
-            tag: "hilight" "+ font=Sans:style=Bold text_class=tb_light";
-         }
-      }
-      parts {
          part {
-            name: "e.textblock.message";
-            type: TEXTBLOCK;
-            mouse_events: 0;
-            scale: 1;
+            name: "bottom_arrow1";
             description {
                state: "default" 0.0;
-               rel1.offset: 4 4;
-               rel2.offset: -5 -5;
-               text {
-                  style: "dialog_style";
-                  min: 1 1;
+               aspect: 1.0 1.0;
+               max: 24 12;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: 0 -3;
                }
-            }
-         }
-      }
-   }
-
-   group {
-      name: "e/widgets/button";
-      images {
-         image: "bt_base1.png" COMP;
-         image: "bt_base2.png" COMP;
-         image: "bt_hilight.png" COMP;
-         image: "bt_shine.png" COMP;
-         image: "bt_glow.png" COMP;
-         image: "bt_dis_base.png" COMP;
-         image: "bt_dis_hilight.png" COMP;
-      }
-      parts {
-         part {
-            name: "button_image";
-            mouse_events: 1;
-            description {
-               state: "default" 0.0;
-               min: 32 16;
-               image {
-                  normal: "bt_base2.png";
-                  border: 7 7 7 7;
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: -1 -3;
                }
+               image.normal: "gadman_bottom.png";
             }
             description {
-               state: "clicked" 0.0;
+               state: "1" 0.0;
                inherit: "default" 0.0;
-               image.normal: "bt_base1.png";
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: -12 18;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 11 31;
+               }
             }
             description {
-               state: "disabled" 0.0;
+               state: "2" 0.0;
                inherit: "default" 0.0;
-               image {
-                  normal: "bt_dis_base.png";
-                  border: 4 4 4 4;
+               rel1 {
+                  relative: 0.5 1.0;
+                  offset: -6 10;
+               }
+               rel2 {
+                  relative: 0.5 1.0;
+                  offset: 5 24;
                }
             }
          }
          part {
-            name: "e.swallow.icon";
-            type: SWALLOW;
-            mouse_events: 0;
+            name: "bottom_arrow2";
             description {
                state: "default" 0.0;
-               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               max: 24 12;
                rel1 {
-                  relative: 0.0 0.0;
-                  offset: 3   3;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: 0 -3;
                }
                rel2 {
-                  relative: 0.0 1.0;
-                  offset: 3  -4;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: -1 -3;
                }
+               image.normal: "gadman_bottom.png";
             }
             description {
-               state: "combo" 0.0;
+               state: "1" 0.0;
                inherit: "default" 0.0;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               align: 0.0 0.5;
                rel1 {
-                  relative: 0.0 0.0;
-                  offset: 3  3;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: -12 18;
                }
                rel2 {
-                  relative: 0.0 1.0;
-                  offset: 3   -4;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: 11 31;
                }
             }
             description {
-               state: "icon" 0.0;
+               state: "2" 0.0;
                inherit: "default" 0.0;
-               aspect: 1.0 1.0;
-               aspect_preference: BOTH;
-               align: 0.5 0.5;
                rel1 {
-                  relative: 0.0 0.0;
-                  offset: 3  3;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: -6 10;
                }
                rel2 {
-                  relative: 1.0 1.0;
-                  offset: -4   -4;
-                  to: "button_image";
+                  relative: 0.5 1.0;
+                  offset: 5 24;
                }
             }
          }
          part {
-            name: "e.text.label";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            mouse_events: 0;
-            scale: 1;
+            name: "v1";
+            mouse_events: 1;
+            clip_to: "vclip";
             description {
                state: "default" 0.0;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset: 2    3;
-                  to_x: "e.swallow.icon";
-                  to_y: "button_image";
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset: -4   -4;
-                  to: "button_image";
-               }
-               color_class: "button_text";
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 0.5 0.5;
-                  text_class: "button";
-               }
+               rel2.relative: 1.0 0.0;
+               rel2.offset: -1 9;
             }
+         }
+         part {
+            name: "v2";
+            mouse_events: 1;
+            clip_to: "vclip";
             description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color_class: "button_text_disabled";
+               state: "default" 0.0;
+               rel1.relative: 0.0 1.0;
+               rel1.offset: 0 -8;
             }
+         }
+         part {
+            name: "h1";
+            mouse_events: 1;
+            clip_to: "hclip";
             description {
-               state: "icon" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
+               state: "default" 0.0;
+               rel2.relative: 0.0 1.0;
+               rel2.offset: 9 -1;
             }
          }
          part {
-            name: "over1";
-            mouse_events: 0;
+            name: "h2";
+            mouse_events: 1;
+            clip_to: "hclip";
             description {
                state: "default" 0.0;
-               rel2.relative: 1.0 0.5;
-               image {
-                  normal: "bt_hilight.png";
-                  border: 7 7 7 0;
-               }
+               rel1.relative: 1.0 0.0;
+               rel1.offset: -8 0;
             }
+         }
+         part {
+            name: "border";
+            mouse_events: 1;
+            repeat_events: 1;
             description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
+               state: "default" 0.0;
                image {
-                  normal: "bt_dis_hilight.png";
-                  border: 4 4 4 0;
+                  normal: "gadman_border.png";
+                  border: 10 10 10 10;
+                  middle: 0;
                }
+               fill.smooth: 0;
             }
          }
-         part {
-            name: "over2";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "bt_shine.png";
-                  border: 7 7 7 7;
-               }
-            }
-            description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
+      }
+      programs {
+         program {
+            name: "api_hsize_on";
+            signal: "e,state,hsize,on";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "hclip";
+         }
+         program {
+            name: "api_hsize_off";
+            signal: "e,state,hsize,off";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "hclip";
+         }
+         program {
+            name: "api_vsize_on";
+            signal: "e,state,vsize,on";
+            source: "e";
+            action: STATE_SET "default" 0.0;
+            target: "vclip";
+         }
+         program {
+            name: "api_vsize_off";
+            signal: "e,state,vsize,off";
+            source: "e";
+            action: STATE_SET "disabled" 0.0;
+            target: "vclip";
+         }
+         /*
+         program {
+            name: "api_move_on";
+            signal: "e,state,move,on";
+            source: "e";
+         }
+         program {
+            name: "api_move_off";
+            signal: "e,state,move,off";
+            source: "e";
+         }
+         program {
+            name: "api_active";
+            signal: "e,state,focused";
+            source: "e";
+         }
+         program {
+            name: "api_inactive";
+            signal: "e,state,unfocused";
+            source: "e";
+         }
+         */
+         // MOVE PROGRAMS
+         program {
+            name: "mv_down";
+            signal: "mouse,down,1";
+            source: "overlay";
+            action: SIGNAL_EMIT "e,action,move,start" "";
+         }
+         program {
+            name: "mv_up";
+            signal: "mouse,up,1";
+            source: "overlay";
+            action: SIGNAL_EMIT "e,action,move,stop" "";
+         }
+         program {
+            name: "mv_move";
+            signal: "mouse,move";
+            source: "overlay";
+            action: SIGNAL_EMIT "e,action,move,go" "";
+         }
+         program {
+            name: "h1_down1";
+            signal: "mouse,down,1";
+            source: "h1";
+            action: STATE_SET "clicked" 0.0;
+            target: "h1";
+         }
+         program {
+            name: "h1_up1";
+            signal: "mouse,up,1";
+            source: "h1";
+            action: STATE_SET "default" 0.0;
+            target: "h1";
+         }
+         program {
+            name: "h1_down2";
+            signal: "mouse,down,1";
+            source: "h1";
+            action: SIGNAL_EMIT "e,action,resize,left,start" "";
+         }
+         program {
+            name: "h1_up2";
+            signal: "mouse,up,1";
+            source: "h1";
+            action: SIGNAL_EMIT "e,action,resize,left,stop" "";
+         }
+         program {
+            name: "h1_move";
+            signal: "mouse,move";
+            source: "h1";
+            action: SIGNAL_EMIT "e,action,resize,left,go" "";
+         }
+         program {
+            name: "h2_down1";
+            signal: "mouse,down,1";
+            source: "h2";
+            action: STATE_SET "clicked" 0.0;
+            target: "h2";
+         }
+         program {
+            name: "h2_up1";
+            signal: "mouse,up,1";
+            source: "h2";
+            action: STATE_SET "default" 0.0;
+            target: "h2";
+         }
+         program {
+            name: "h2_down2";
+            signal: "mouse,down,1";
+            source: "h2";
+            action: SIGNAL_EMIT "e,action,resize,right,start" "";
          }
-         part {
-            name: "over3";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               image {
-                  normal: "bt_glow.png";
-                  border: 7 7 9 9;
-               }
-               fill.smooth : 0;
-            }
-            description {
-               state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
+         program {
+            name: "h2_up2";
+            signal: "mouse,up,1";
+            source: "h2";
+            action: SIGNAL_EMIT "e,action,resize,right,stop" "";
          }
-         part {
-            name: "disabler";
-            type: RECT;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-               visible: 0;
-            }
-            description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
+         program {
+            name: "h2_move";
+            signal: "mouse,move";
+            source: "h2";
+            action: SIGNAL_EMIT "e,action,resize,right,go" "";
          }
-      }
-      programs {
          program {
-            name: "button_click";
+            name: "v1_down1";
             signal: "mouse,down,1";
-            source: "button_image";
+            source: "v1";
             action: STATE_SET "clicked" 0.0;
-            target: "button_image";
-            target: "over3";
+            target: "v1";
          }
          program {
-            name: "button_unclick";
+            name: "v1_up1";
             signal: "mouse,up,1";
-            source: "button_image";
+            source: "v1";
             action: STATE_SET "default" 0.0;
-            target: "button_image";
-            target: "over3";
+            target: "v1";
          }
          program {
-            name: "button_unclick2";
-            signal: "mouse,clicked,1";
-            source: "button_image";
-            action: SIGNAL_EMIT "e,action,click" "";
+            name: "v1_down2";
+            signal: "mouse,down,1";
+            source: "v1";
+            action: SIGNAL_EMIT "e,action,resize,up,start" "";
          }
          program {
-            name: "text_state";
-            signal: "e,state,text";
-            source: "e";
+            name: "v1_up2";
+            signal: "mouse,up,1";
+            source: "v1";
+            action: SIGNAL_EMIT "e,action,resize,up,stop" "";
+         }
+         program {
+            name: "v1_move";
+            signal: "mouse,move";
+            source: "v1";
+            action: SIGNAL_EMIT "e,action,resize,up,go" "";
+         }
+         program {
+            name: "v2_down1";
+            signal: "mouse,down,1";
+            source: "v2";
+            action: STATE_SET "clicked" 0.0;
+            target: "v2";
+         }
+         program {
+            name: "v2_up1";
+            signal: "mouse,up,1";
+            source: "v2";
             action: STATE_SET "default" 0.0;
-            target: "e.swallow.icon";
-            target: "e.text.label";
+            target: "v2";
          }
          program {
-            name: "icon_state";
-            signal: "e,state,icon";
-            source: "e";
-            action: STATE_SET "icon" 0.0;
-            target: "e.swallow.icon";
-            target: "e.text.label";
+            name: "v2_down2";
+            signal: "mouse,down,1";
+            source: "v2";
+            action: SIGNAL_EMIT "e,action,resize,down,start" "";
          }
          program {
-            name: "combo_state";
-            signal: "e,state,combo";
-            source: "e";
-            action: STATE_SET "combo" 0.0;
-            target: "e.swallow.icon";
-            target: "e.text.label";
+            name: "v2_up2";
+            signal: "mouse,up,1";
+            source: "v2";
+            action: SIGNAL_EMIT "e,action,resize,down,stop" "";
          }
          program {
-            name: "disable";
-            signal: "e,state,disabled";
-            source: "e";
-            action: STATE_SET "disabled" 0.0;
-            target: "button_image";
-            target: "over1";
-            target: "e.text.label";
-            target: "disabler";
+            name: "v2_move";
+            signal: "mouse,move";
+            source: "v2";
+            action: SIGNAL_EMIT "e,action,resize,down,go" "";
          }
+         // LEFT ARROW
          program {
-            name: "enable";
-            signal: "e,state,enabled";
-            source: "e";
+            name: "start_left1";
+            signal: "mouse,in";
+            source: "h1";
+            after: "left1_1";
+         }
+         program {
+            name: "start_left2";
+            signal: "mouse,in";
+            source: "h1";
+            in: 0.4 0.0;
+            after: "left2_1";
+         }
+         program {
+            name: "left1_1";
+            action: STATE_SET "1" 0.0;
+            target: "left_arrow1";
+            transition: LINEAR 0.4;
+            after: "left1_2";
+         }
+         program {
+            name: "left1_2";
+            action: STATE_SET "2" 0.0;
+            target: "left_arrow1";
+            transition: LINEAR 0.4;
+            after: "left1_r";
+         }
+         program {
+            name: "left1_r";
             action: STATE_SET "default" 0.0;
-            target: "button_image";
-            target: "over1";
-            target: "e.text.label";
-            target: "disabler";
+            target: "left_arrow1";
+            after: "left1_1";
          }
-      }
-   }
-
-   group {
-      name: "e/widgets/label";
-      parts {
-         part {
-            name: "e.text.label";
-            type: TEXT;
-            mouse_events: 0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               rel1.offset: 2 2;
-               rel2.offset: -3 -3;
-               color: 0 0 0 255;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 0.0 0.5;
-                  text_class: "label";
-               }
-            }
-            description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 0 0 0 128;
-            }
+         program {
+            name: "left2_1";
+            action: STATE_SET "1" 0.0;
+            target: "left_arrow2";
+            transition: LINEAR 0.4;
+            after: "left2_2";
          }
-      }
-      programs {
          program {
-            name: "disable";
-            signal: "e,state,disabled";
-            source: "e";
-            action: STATE_SET "disabled" 0.0;
-            target: "e.text.label";
+            name: "left2_2";
+            action: STATE_SET "2" 0.0;
+            target: "left_arrow2";
+            transition: LINEAR 0.4;
+            after: "left2_r";
          }
          program {
-            name: "enable";
-            signal: "e,state,enabled";
-            source: "e";
+            name: "left2_r";
             action: STATE_SET "default" 0.0;
-            target: "e.text.label";
+            target: "left_arrow2";
+            after: "left2_1";
+         }
+         program {
+            name: "stop_left1";
+            signal: "mouse,out";
+            source: "h1";
+            action: ACTION_STOP;
+            target: "left1_1";
+            target: "left1_2";
+            target: "left1_r";
+            target: "left2_1";
+            target: "left2_2";
+            target: "left2_r";
+            target: "start_left2";
+            after: "stop_left2";
+         }
+         program {
+            name: "stop_left2";
+            action: STATE_SET "default" 0.0;
+            target: "left_arrow1";
+            target: "left_arrow2";
+         }
+         // RIGHT ARROW
+         program {
+            name: "start_right1";
+            signal: "mouse,in";
+            source: "h2";
+            after: "right1_1";
+         }
+         program {
+            name: "start_right2";
+            signal: "mouse,in";
+            source: "h2";
+            in: 0.4 0.0;
+            after: "right2_1";
+         }
+         program {
+            name: "right1_1";
+            action: STATE_SET "1" 0.0;
+            target: "right_arrow1";
+            transition: LINEAR 0.4;
+            after: "right1_2";
+         }
+         program {
+            name: "right1_2";
+            action: STATE_SET "2" 0.0;
+            target: "right_arrow1";
+            transition: LINEAR 0.4;
+            after: "right1_r";
+         }
+         program {
+            name: "right1_r";
+            action: STATE_SET "default" 0.0;
+            target: "right_arrow1";
+            after: "right1_1";
+         }
+         program {
+            name: "right2_1";
+            action: STATE_SET "1" 0.0;
+            target: "right_arrow2";
+            transition: LINEAR 0.4;
+            after: "right2_2";
+         }
+         program {
+            name: "right2_2";
+            action: STATE_SET "2" 0.0;
+            target: "right_arrow2";
+            transition: LINEAR 0.4;
+            after: "right2_r";
+         }
+         program {
+            name: "right2_r";
+            action: STATE_SET "default" 0.0;
+            target: "right_arrow2";
+            after: "right2_1";
+         }
+         program {
+            name: "stop_right1";
+            signal: "mouse,out";
+            source: "h2";
+            action: ACTION_STOP;
+            target: "right1_1";
+            target: "right1_2";
+            target: "right1_r";
+            target: "right2_1";
+            target: "right2_2";
+            target: "right2_r";
+            target: "start_right2";
+            after: "stop_right2";
+         }
+         program {
+            name: "stop_right2";
+            action: STATE_SET "default" 0.0;
+            target: "right_arrow1";
+            target: "right_arrow2";
+         }
+         // TOP ARROW
+         program {
+            name: "start_top1";
+            signal: "mouse,in";
+            source: "v1";
+            after: "top1_1";
+         }
+         program {
+            name: "start_top2";
+            signal: "mouse,in";
+            source: "v1";
+            in: 0.4 0.0;
+            after: "top2_1";
+         }
+         program {
+            name: "top1_1";
+            action: STATE_SET "1" 0.0;
+            target: "top_arrow1";
+            transition: LINEAR 0.4;
+            after: "top1_2";
+         }
+         program {
+            name: "top1_2";
+            action: STATE_SET "2" 0.0;
+            target: "top_arrow1";
+            transition: LINEAR 0.4;
+            after: "top1_r";
+         }
+         program {
+            name: "top1_r";
+            action: STATE_SET "default" 0.0;
+            target: "top_arrow1";
+            after: "top1_1";
+         }
+         program {
+            name: "top2_1";
+            action: STATE_SET "1" 0.0;
+            target: "top_arrow2";
+            transition: LINEAR 0.4;
+            after: "top2_2";
+         }
+         program {
+            name: "top2_2";
+            action: STATE_SET "2" 0.0;
+            target: "top_arrow2";
+            transition: LINEAR 0.4;
+            after: "top2_r";
+         }
+         program {
+            name: "top2_r";
+            action: STATE_SET "default" 0.0;
+            target: "top_arrow2";
+            after: "top2_1";
+         }
+         program {
+            name: "stop_top1";
+            signal: "mouse,out";
+            source: "v1";
+            action: ACTION_STOP;
+            target: "top1_1";
+            target: "top1_2";
+            target: "top1_r";
+            target: "top2_1";
+            target: "top2_2";
+            target: "top2_r";
+            target: "start_top2";
+            after: "stop_top2";
+         }
+         program {
+            name: "stop_top2";
+            action: STATE_SET "default" 0.0;
+            target: "top_arrow1";
+            target: "top_arrow2";
+         }
+         // BOTTOM ARROW
+         program {
+            name: "start_bottom1";
+            signal: "mouse,in";
+            source: "v2";
+            after: "bottom1_1";
+         }
+         program {
+            name: "start_bottom2";
+            signal: "mouse,in";
+            source: "v2";
+            in: 0.4 0.0;
+            after: "bottom2_1";
+         }
+         program {
+            name: "bottom1_1";
+            action: STATE_SET "1" 0.0;
+            target: "bottom_arrow1";
+            transition: LINEAR 0.4;
+            after: "bottom1_2";
+         }
+         program {
+            name: "bottom1_2";
+            action: STATE_SET "2" 0.0;
+            target: "bottom_arrow1";
+            transition: LINEAR 0.4;
+            after: "bottom1_r";
+         }
+         program {
+            name: "bottom1_r";
+            action: STATE_SET "default" 0.0;
+            target: "bottom_arrow1";
+            after: "bottom1_1";
+         }
+         program {
+            name: "bottom2_1";
+            action: STATE_SET "1" 0.0;
+            target: "bottom_arrow2";
+            transition: LINEAR 0.4;
+            after: "bottom2_2";
+         }
+         program {
+            name: "bottom2_2";
+            action: STATE_SET "2" 0.0;
+            target: "bottom_arrow2";
+            transition: LINEAR 0.4;
+            after: "bottom2_r";
+         }
+         program {
+            name: "bottom2_r";
+            action: STATE_SET "default" 0.0;
+            target: "bottom_arrow2";
+            after: "bottom2_1";
+         }
+         program {
+            name: "stop_bottom1";
+            signal: "mouse,out";
+            source: "v2";
+            action: ACTION_STOP;
+            target: "bottom1_1";
+            target: "bottom1_2";
+            target: "bottom1_r";
+            target: "bottom2_1";
+            target: "bottom2_2";
+            target: "bottom2_r";
+            target: "start_bottom2";
+            after: "stop_bottom2";
+         }
+         program {
+            name: "stop_bottom2";
+            action: STATE_SET "default" 0.0;
+            target: "bottom_arrow1";
+            target: "bottom_arrow2";
          }
       }
    }
-   
-   group { name: "e/widgets/slidesel";
+
+   group {
+      name: "e/widgets/slidesel";
       alias: "e/pointer/enlightenment/default/mono";
-      alias: "e/widgets/toolbar";
-      alias: "e/widgets/menu/default/submenu_bg";
       alias: "e/modules/connman/network";
-      alias: "e/modules/ibar/icon";
-      alias: "e/modules/ibar/icon_overlay";
-      alias: "e/modules/ibar/drop";
-      alias: "e/modules/ibar/drop_overlay";
       alias: "e/fileman/default/list/drop_between";
       alias: "e/fileman/desktop/list/drop_in";
       alias: "e/fileman/desktop/list/drop_between";
@@ -1268,24 +13929,6 @@ collections { /* begin the collection of edje groups that are in this file */
       alias: "e/sys/suspend";
       alias: "e/sys/hibernate";
       alias:  "e/widgets/gradpreview";
-      alias: "e/widgets/toolbar/item";
-      alias: "e/widgets/menu/default/background";
-      alias: "e/widgets/menu/default/separator";
-      alias: "e/widgets/menu/default/item_bg";
-      alias: "e/widgets/menu/default/icon";
-      alias: "e/widgets/menu/default/label";
-      alias: "e/widgets/menu/default/submenu";
-      alias: "e/widgets/menu/default/check";
-      alias: "e/widgets/menu/default/radio";
-      alias: "e/shelf/default/base";
-      alias: "e/shelf/default/inset";
-      alias: "e/shelf/default/plain";
-      alias: "e/shelf/invisible/base";
-      alias: "e/shelf/invisible/inset";
-      alias: "e/shelf/invisible/plain";
-      alias: "e/shelf/alternate/base";
-      alias: "e/shelf/alternate/inset";
-      alias: "e/shelf/alternate/plain";
       alias: "e/modules/connman/main";
       alias: "e/modules/conf_edgebindings/selection";
       alias: "e/modules/start/main";
@@ -1297,10 +13940,6 @@ collections { /* begin the collection of edje groups that are in this file */
       alias: "e/modules/temperature/main";
       alias: "e/modules/clock/main";
       alias: "e/modules/cpufreq/main";
-      alias: "e/modules/ibox/icon";
-      alias: "e/modules/ibox/icon_overlay";
-      alias: "e/modules/ibox/drop";
-      alias: "e/modules/ibox/drop_overlay";
       alias: "e/widgets/winlist/main";
       alias: "e/widgets/winlist/item";
       alias: "e/widgets/exebuf/main";
@@ -1324,23 +13963,10 @@ collections { /* begin the collection of edje groups that are in this file */
       alias: "e/fileman/default/list/fixed";
       alias: "e/fileman/default/list_odd/fixed";
       alias: "e/sys/logout";
-      alias: "e/widgets/configure/main";
-      alias: "e/widgets/border/default/move";
-      alias: "e/widgets/border/default/resize";
-      alias: "e/toolbar/default/base";
       alias: "e/transpreview/0";
       alias: "e/transpreview/1";
       alias: "e/transitions/crossfade";
       alias: "e/transitions/vswipe";
-      alias: "e/widgets/check";
-      alias: "e/widgets/check_icon";
-      alias: "e/widgets/radio";
-      alias: "e/widgets/radio_icon";
-      alias: "e/widgets/scrollframe";
-      alias: "e/widgets/ilist";
-      alias: "e/widgets/ilist_odd";
-      alias: "e/widgets/ilist_header";
-      alias: "e/widgets/ilist_header_odd";
       alias: "e/widgets/entry";
       alias: "e/widgets/entry/text";
       alias: "e/widgets/entry/cursor";
@@ -1349,18 +13975,9 @@ collections { /* begin the collection of edje groups that are in this file */
       alias: "e/widgets/deskpreview/desk";
       alias: "e/widgets/color_well";
       alias: "e/widgets/spectrum";
-      alias: "e/widgets/cslider";
-      alias: "e/widgets/slider_vertical";
-      alias: "e/widgets/slider_horizontal";
-      alias: "e/widgets/frame";
       alias: "e/widgets/fontpreview";
-      alias: "e/widgets/textblock";
       alias: "e/desklock/background";
       alias: "e/desklock/login_box";
-      alias: "e/gadman/popup";
-      alias: "e/gadman/full_bg";
-      alias: "e/gadman/frame";
-      alias: "e/gadman/control";
       alias: "e/wizard/extra";
       alias: "e/wizard/main";
       alias: "e/widgets/about/main";
@@ -1385,13 +14002,15 @@ collections { /* begin the collection of edje groups that are in this file */
       alias: "e/widgets/everything/main";
       alias: "e/widgets/everything/item";
       parts {
-        part { name: "base";
-           mouse_events: 0;
+         part {
+            name: "base";
+            mouse_events: 0;
             type: RECT;
-           description { state: "default" 0.0;
+            description {
+               state: "default" 0.0;
                color: 0 0 0 0;
-           }
-        }
+            }
+         }
       }
    }
 }