// 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";
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";
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";
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";
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";
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;
- }
- }
+ }
+ }
}
}
}