// -*- Mode: C; indent-tabs-mode: nil; tab-width: 1 -*-

#include "default_sliders_programs.edc"

styles
{
 style {
  name: "app_label_style";
  base: "font=Sans font_size=14 align=center valign=center color=#fff wrap=word";
 }

 style {
  name: "cat_label_style";
  base: "font=Sans font_size=12 align=left valign=center color=#fff";
 }

 style {
  name: "cat_select_label_style";
  base: "font=Sans font_size=12 style=Bold align=left valign=center color=#fff";
 }
}

collections {
 group {
  name: "e/netbook/launcher/main";

  images {
   image: "sidebar_shadow.png" COMP;
  }

  data {
   item: "contents_anim" "1";
  }

  parts {
   part {
    name: "clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
    description {
     state: "inactive" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 64;
    }
   }

   part {
    name: "e.swallow.background";
    type: SWALLOW;
    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;
     }
    }
   }

   part {
    name: "bg";
    type: RECT;
    mouse_events: 0;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 35;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -15;
     }
    }
   }

   part {
    name: "top-bar";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "bg";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 0;
      to: "bg";
     }
    }
   }

   programs {
    program {
     name: "gui,action,focus,out";
     signal: "gui,action,focus,out";
     source: "e";
     action: STATE_SET "inactive" 0.0;
     transition: DECELERATE 0.5;
     target: "clipper";
    }

    program {
     name: "gui,action,focus,in";
     signal: "gui,action,focus,in";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: ACCELERATE 0.5;
     target: "clipper";
    }
   }

   part {
    name: "sidebar-bg";
    type: RECT;
    mouse_events: 0;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     color: 184 184 184 32;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to_x: "bg";
     }
     rel2 {
      relative: 0.0 1.0;
      offset: 201 -1;
      to_x: "bg";
     }
    }
   }

   part {
    name: "sidebar-shadow";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     min: 8 10;
     max: 8 9999;
     rel1 {
      relative: 1.0 0.0;
      offset: 0 0;
      to: "sidebar-bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 7 -1;
      to: "sidebar-bg";
     }
     image.normal: "sidebar_shadow.png";
    }
   }

   part {
    name: "e.swallow.sidebar";
    type: SWALLOW;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     min: 200 200;
     max: 200 9999;
     step: 0 45;
     align: 0.0 0.5;
     rel1 {
      relative: 0.0 1.0;
      offset: 1 5;
      to_y: "top-bar";
      to_x: "bg";
     }
     rel2 {
      relative: 0.0 1.0;
      offset: 200 -1;
      to: "bg";
     }
    }
   }

   part {
    name: "apps-clipper";
    type: RECT;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "e.swallow.apps";
    type: SWALLOW;
    clip_to: "apps-clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 1.0 0.0;
      offset: 0 0;
      to: "e.swallow.sidebar";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to_y: "e.swallow.sidebar";
     }
    }
   }

   programs {
    program {
     name: "gui,action,apps,set";
     signal: "gui,action,apps,set";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "places-clipper";
     target: "e.swallow.places";
     target: "preferences-clipper";
     target: "e.swallow.preferences";
     after: "gui,action,apps,set,2";
    }
    program {
     name: "gui,action,apps,set,2";
     action: STATE_SET "default" 0.0;
     target: "apps-clipper";
     target: "e.swallow.apps";
    }

    program {
     name: "gui,action,apps,enter";
     signal: "gui,action,apps,enter";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     transition: ACCELERATE 0.2;
     target: "places-clipper";
     target: "e.swallow.places";
     target: "preferences-clipper";
     target: "e.swallow.preferences";
     after: "gui,action,apps,enter,2";
    }
    program {
     name: "gui,action,apps,enter,2";
     action: STATE_SET "default" 0.0;
     transition: DECELERATE 0.4;
     target: "apps-clipper";
     target: "e.swallow.apps";
     after: "gui,action,apps,enter,3";
    }
    program {
     name: "gui,action,apps,enter,3";
     action: SIGNAL_EMIT "gui,action,anim,end" "e";
    }
   }

   part {
    name: "places-clipper";
    type: RECT;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "e.swallow.places";
    type: SWALLOW;
    clip_to: "places-clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 1.0 0.0;
      offset: 0 0;
      to: "e.swallow.sidebar";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to_y: "e.swallow.sidebar";
     }
    }
   }

   programs {
    program {
     name: "gui,action,places,set";
     signal: "gui,action,places,set";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "apps-clipper";
     target: "e.swallow.apps";
     target: "preferences-clipper";
     target: "e.swallow.preferences";
     after: "gui,action,places,set,2";
    }
    program {
     name: "gui,action,places,set,2";
     action: STATE_SET "default" 0.0;
     target: "places-clipper";
     target: "e.swallow.places";
    }

    program {
     name: "gui,action,places,enter";
     signal: "gui,action,places,enter";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     transition: ACCELERATE 0.2;
     target: "apps-clipper";
     target: "e.swallow.apps";
     target: "preferences-clipper";
     target: "e.swallow.preferences";
     after: "gui,action,places,enter,2";
    }
    program {
     name: "gui,action,places,enter,2";
     action: STATE_SET "default" 0.0;
     transition: DECELERATE 0.4;
     target: "places-clipper";
     target: "e.swallow.places";
     after: "gui,action,places,enter,3";
    }
    program {
     name: "gui,action,places,enter,3";
     action: SIGNAL_EMIT "gui,action,anim,end" "e";
    }
   }


   part {
    name: "preferences-clipper";
    type: RECT;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "e.swallow.preferences";
    type: SWALLOW;
    clip_to: "preferences-clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 1.0 0.0;
      offset: 0 0;
      to: "e.swallow.sidebar";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to_y: "e.swallow.sidebar";
     }
    }
   }

   programs {
    program {
     name: "gui,action,preferences,set";
     signal: "gui,action,preferences,set";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "apps-clipper";
     target: "e.swallow.apps";
     target: "places-clipper";
     target: "e.swallow.places";
     after: "gui,action,preferences,set,2";
    }
    program {
     name: "gui,action,preferences,set,2";
     action: STATE_SET "default" 0.0;
     target: "preferences-clipper";
     target: "e.swallow.preferences";
    }

    program {
     name: "gui,action,preferences,enter";
     signal: "gui,action,preferences,enter";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     transition: ACCELERATE 0.2;
     target: "apps-clipper";
     target: "e.swallow.apps";
     target: "places-clipper";
     target: "e.swallow.places";
     after: "gui,action,preferences,enter,2";
    }
    program {
     name: "gui,action,preferences,enter,2";
     action: STATE_SET "default" 0.0;
     transition: DECELERATE 0.4;
     target: "preferences-clipper";
     target: "e.swallow.preferences";
     after: "gui,action,preferences,enter,3";
    }
    program {
     name: "gui,action,preferences,enter,3";
     action: SIGNAL_EMIT "gui,action,anim,end" "e";
    }
   }

   part {
    name: "eventblocker";
    type: RECT;
    mouse_events: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "active" 0.0;
     color: 255 255 255 0;
     visible: 1;
    }
   }

   programs {
    program {
     signal: "load";
     action: STATE_SET "hidden" 0.0;
     target: "apps-clipper";
     target: "e.swallow.apps";
     target: "places-clipper";
     target: "e.swallow.places";
    }

    program {
     signal: "gui,action,focus,out";
     source: "e";
     action: STATE_SET "active" 0.0;
     target: "eventblocker";
    }
    program {
     signal: "gui,action,focus,in";
     source: "e";
     action: STATE_SET "default" 0.0;
     target: "eventblocker";
    }
   }
  }
 }

 group {
  name: "elm/scroller/base/apps";
  alias: "elm/scroller/base/places";
  alias: "elm/scroller/base/preferences";

  images {
   image: "scrollbar-bg.png" COMP;
   image: "scrollbar-knob.png" COMP;
  }

  parts {
   part {
    name: "bg";
    type: RECT;
    description {
     state: "default" 0.0;
     rel1.offset: 1 1;
     rel2.offset: -1 -1;
     color: 255 255 255 0;
    }
   }
   part {
    name: "clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     rel1 {
      offset: -1000 -1000;
     }
     rel2 {
      offset: 1000 1000;
     }
    }
   }

   part {
    name: "sb_all_clip";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     visible: 1;
     rel1 {
      relative: 0.0 0.0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 17 0;
     }
    }
   }

   part {
    name: "sb_vbar_clip";
    type: RECT;
    mouse_events: 0;
    clip_to: "sb_all_clip";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 17 0;
     }
    }
    description {
     state: "hidden" 0.0;
     visible: 0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 17 0;
     }
    }
   }

   part {
    name: "sb_vbar";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
     fixed: 1 1;
     visible: 1;
     min: 11 11;
     align: 1.0 0.0;
     rel1 {
      relative: 1.0 0.0;
      offset: 15 0;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: 15 -1;
      to_y: "sb_hbar";
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     min: 0 0;
     visible: 0;
     rel1 {
      relative: 1.0 0.0;
      offset: 0 0;
     }
     rel1 {
      relative: 1.0 0.0;
      offset: -1 -1;
      to_y: "sb_hbar";
     }
    }
   }

   part {
    name: "sb_vbar_bg";
    clip_to: "sb_vbar_clip";
    mouse_events: 0;
    description {
     state: "default" 0.0;
     fixed: 1 1;
     min: 11 11;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "sb_vbar";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "sb_vbar";
     }
     image {
      normal: "scrollbar-bg.png";
      border: 4 4 4 4;
     }
    }
   }

   part {
    name: "elm.dragable.vbar";
    clip_to: "sb_vbar_clip";
    mouse_events: 0;
    dragable {
     x: 0 0 0;
     y: 1 1 0;
     confine: "sb_vbar";
    }
    description {
     state: "default" 0.0;
     fixed: 1 1;
     min: 11 11;
     rel1 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_vbar";
     }
     rel2 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_vbar";
     }
     image {
      normal: "scrollbar-knob.png";
      border: 4 4 4 4;
     }
    }
   }

   part {
    name: "sb_hbar_clip";
    type: RECT;
    mouse_events: 0;
    clip_to: "sb_all_clip";
    description {
     state: "default" 0.0;
    }
    description {
     state: "hidden" 0.0;
     visible: 0;
     color: 255 255 255 0;
    }
   }

   part {
    name: "sb_hbar";
    type: RECT;
    mouse_events: 0;
    description { state: "default" 0.0;
     fixed: 1 1;
     color: 0 0 0 0;
     visible: 1;
     min: 11 11;
     align: 0.0 1.0;
     rel1 {
      relative: 0.0 1.0;
      offset: 0 -2;
     }
     rel2 {
      relative: 0.0 1.0;
      offset: -1 -2;
      to_x: "sb_vbar";
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     min: 0 0;
     visible: 0;
     rel1 {
      relative: 0.0 1.0;
      offset: 0 0;
     }
     rel2 {
      relative: 0.0 1.0;
      offset: -1 -1;
      to_x: "sb_vbar";
     }
    }
   }

   part {
    name: "elm.dragable.hbar";
    clip_to: "sb_hbar_clip";
    mouse_events: 0;
    dragable {
     x: 1 1 0;
     y: 0 0 0;
     confine: "sb_hbar";
    }
    description {
     state: "default" 0.0;
     fixed: 1 1;
     min: 11 11;
     rel1 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_hbar";
     }
     rel2 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_hbar";
     }
     image {
      normal: "scrollbar-knob.png";
      border: 4 4 4 4;
     }
    }
   }

   part {
    name: "elm.swallow.content";
    clip_to: "clipper";
    type: SWALLOW;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 16 -1;
     }
    }
   }
  }

  programs {
   program { name: "load";
    signal: "load";
    source: "";
    action: STATE_SET "hidden" 0.0;
    target: "sb_hbar_clip";
    target: "sb_vbar_clip";
   }

   program { name: "elm,action,show,vbar";
    signal: "elm,action,show,vbar";
    source: "elm";
    action: STATE_SET "default" 0.0;
    target: "sb_vbar_clip";
    target: "sb_vbar";
   }

   program { name: "elm,action,hide,vbar";
    signal: "elm,action,hide,vbar";
    source: "elm";
    action: STATE_SET "hidden" 0.0;
    target: "sb_vbar_clip";
    target: "sb_vbar";
   }

   program { name: "elm,action,show,hbar";
    signal: "elm,action,show,hbar";
    source: "elm";
    action: STATE_SET "default" 0.0;
    target: "sb_hbar_clip";
    target: "sb_hbar";
   }

   program { name: "elm,action,hide,hbar";
    signal: "elm,action,hide,hbar";
    source: "elm";
    action: STATE_SET "hidden" 0.0;
    target: "sb_hbar_clip";
    target: "sb_hbar";
   }
  }

  // (POS == 1) ==> Y axis
  SLIDER_PROGRAMS("sb_vbar", "elm.dragable.vbar", 1);
 }

 group {
  name: "elm/scroller/base/sidebar";

  images {
   image: "arrow-up.png" COMP;
   image: "arrow-down.png" COMP;
  }

  script {
   public arrows_apply() {
    new Float:x, Float:y;

    get_drag(PART:"elm.dragable.vbar", x, y);
    if (y == 0.0)
     set_state(PART:"sb_vbar_up_clip", "hidden", 0.0);
    else
     set_state(PART:"sb_vbar_up_clip", "default", 0.0);

    if (y == 1.0)
     set_state(PART:"sb_vbar_down_clip", "hidden", 0.0);
    else
     set_state(PART:"sb_vbar_down_clip", "default", 0.0);
   }
  }

  parts {
   part {
    name: "bg";
    type: RECT;
    description {
     state: "default" 0.0;
     rel1.offset: 1 1;
     rel2.offset: -1 -1;
     color: 255 255 255 0;
    }
   }

   part {
    name: "clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     rel1 {
      offset: 0 0;
     }
     rel2 {
      offset: 30 -1;
     }
    }
   }

   part {
    name: "sb_vbar_clip";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     rel1.offset: 0 -16;
     rel2.offset: 0 16;
    }
    description {
     state: "hidden" 0.0;
     visible: 0;
     color: 255 255 255 0;
    }
   }

   part {
    name: "sb_vbar";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
     fixed: 1 1;
     visible: 0;
     min: 1 1;
     align: 1.0 0.0;
     rel1 {
      relative: 1.0 0.0;
      offset: -2 0;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 -1;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
    }
   }

   part {
    name: "elm.dragable.vbar";
    type: RECT;
    clip_to: "sb_vbar_clip";
    mouse_events: 0;
    dragable {
     x: 0 0 0;
     y: 1 1 0;
     confine: "sb_vbar";
    }
    description {
     state: "default" 0.0;
     fixed: 1 1;
     rel1 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_vbar";
     }
     rel2 {
      relative: 0.5 0.5;
      offset: 0 0;
      to: "sb_vbar";
     }
    }
   }

   part {
    name: "elm.swallow.content";
    clip_to: "clipper";
    type: SWALLOW;
    description {
     state: "default" 0.0;
    }
   }

   part {
    name: "sb_vbar_up_clip";
    type: RECT;
    clip_to: "sb_vbar_clip";
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     rel1.to: "sb_vbar_up";
     rel2.to: "sb_vbar_up";
    }
    description {
     state: "hidden" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "sb_vbar_up";
    type: IMAGE;
    mouse_events: 1;
    clip_to: "sb_vbar_up_clip";
    description {
     state: "default" 0.0;
     min: 70 16;
     max: 70 16;
     rel1 {
      relative: 0.5 0.0;
      offset: -35 -16;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 34 -1;
     }
     image.normal: "arrow-up.png";
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 128;
    }
   }

   part {
    name: "sb_vbar_down_clip";
    type: RECT;
    clip_to: "sb_vbar_clip";
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     rel1.to: "sb_vbar_down";
     rel2.to: "sb_vbar_down";
    }
    description {
     state: "hidden" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "sb_vbar_down";
    type: IMAGE;
    mouse_events: 1;
    clip_to: "sb_vbar_down_clip";
    description {
     state: "default" 0.0;
     min: 70 16;
     max: 70 16;
     rel1 {
      relative: 0.5 1.0;
      offset: -35 0;
     }
     rel2 {
      relative: 0.5 1.0;
      offset: 34 15;
     }
     image.normal: "arrow-down.png";
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 128;
    }
   }

   programs {
    program {
     name: "load-arrows";
     signal: "load";
     script {
      arrows_apply();
     }
    }

    program {
     name: "drag";
     signal: "drag,set";
     source: "elm.dragable.vbar";
     script {
      arrows_apply();
     }
    }

    program {
     name: "sb_vbar_up,pulse";
     signal: "mouse,clicked,1";
     source: "sb_vbar_up";
     action: STATE_SET "clicked" 0.0;
     transition: LINEAR 0.07;
     target: "sb_vbar_up";
     after: "sb_vbar_up,unpulse";
    }

    program {
     name: "sb_vbar_up,unpulse";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.07;
     target: "sb_vbar_up";
    }

    program {
     name: "sb_vbar_down,pulse";
     signal: "mouse,clicked,1";
     source: "sb_vbar_down";
     action: STATE_SET "clicked" 0.0;
     transition: LINEAR 0.07;
     target: "sb_vbar_down";
     after: "sb_vbar_down,unpulse";
    }

    program {
     name: "sb_vbar_down,unpulse";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.07;
     target: "sb_vbar_down";
    }

    program {
     name: "sb_vbar_up,clicked";
     signal: "mouse,clicked,1";
     source: "sb_vbar_up";
     script {
      new Float:x, Float:y, Float:px, Float:py;

      get_drag(PART:"elm.dragable.vbar", x, y);
      if (y == 0.0) {
       set_state(PART:"sb_vbar_up_clip", "hidden", 0.0);
      } else {
       get_drag_page(PART:"elm.dragable.vbar", px, py);
       if (py == 0.0)
        py = 0.1;

       y = y - py;
       if (y < 0)
        y = 0;
       set_drag(PART:"elm.dragable.vbar", x, y);
       emit("drag", "elm.dragable.vbar");
      }
     }
    }

    program {
     name: "sb_vbar_down,clicked";
     signal: "mouse,clicked,1";
     source: "sb_vbar_down";
     script {
      new Float:x, Float:y, Float:px, Float:py;

      get_drag(PART:"elm.dragable.vbar", x, y);
      if (y == 1.0)
       set_state(PART:"sb_vbar_down_clip", "hidden", 0.0);
      else {
       get_drag_page(PART:"elm.dragable.vbar", px, py);
       if (py == 0.0)
        py = 0.1;

       y = y + py;
       if (y > 1.0)
        y = 1.0;
       set_drag(PART:"elm.dragable.vbar", x, y);
       emit("drag", "elm.dragable.vbar");
      }
     }
    }
   }
  }

  programs {
   program { name: "load";
    signal: "load";
    source: "";
    action: STATE_SET "hidden" 0.0;
    target: "sb_vbar_clip";
   }

   program { name: "elm,action,show,vbar";
    signal: "elm,action,show,vbar";
    source: "elm";
    action: STATE_SET "default" 0.0;
    target: "sb_vbar_clip";
    target: "sb_vbar";
   }

   program { name: "elm,action,hide,vbar";
    signal: "elm,action,hide,vbar";
    source: "elm";
    action: STATE_SET "hidden" 0.0;
    target: "sb_vbar_clip";
    target: "sb_vbar";
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/grid";
  alias: "e/netbook/launcher/main/apps/grid";

  data {
   item: "scroll_horizontal" "off";
  }

  parts {
   part {
    name: "e.box.contents";
    type: BOX;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
     box {
      layout: "horizontal_flow";
      align: 0.0 0.0;
      //padding: 10 10;
     }
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/apps/layout";

  images {
   image: "iconviewbg.png" COMP;
  }

  parts {
   part {
    name: "bg-fill";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 100;
     rel1 {
      relative: 0.0 0.0;
      offset: 10 10;
      to: "bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -11 -11;
      to: "bg";
     }
    }
   }

   part {
    name: "bg";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 40 0;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -49 -1;
      to_y: "quit-y";
     }
     image {
      normal: "iconviewbg.png";
      border: 10 10 10 10;
      middle: 0;
     }
    }
   }

   part {
    name: "scroller-clipper";
    type: RECT;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: -1000 7;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: 1000 -8;
      to_y: "quit-y";
     }
    }
   }

   part {
    name: "e.swallow.scroller";
    type: SWALLOW;
    clip_to: "scroller-clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 66 0;
      to_y: "scroller-clipper";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -34 -1;
      to_y: "scroller-clipper";
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     rel1 {
      relative: 0.0 -1.0;
      offset: 66 0;
      to_y: "scroller-clipper";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -34 -1;
      to_y: "scroller-clipper";
     }
    }
   }

   programs {
    program {
     name: "gui,action,enter";
     signal: "gui,action,enter";
     source: "e";
     action: STATE_SET "default" 0.0;
     target: "e.swallow.scroller";
     transition: DECELERATE 0.4;
     after: "gui,action,enter,end";
    }
    program {
     name: "gui,action,enter,end";
     action: SIGNAL_EMIT "gui,action,enter,end" "e";
    }

    program {
     name: "gui,action,exit";
     signal: "gui,action,exit";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "e.swallow.scroller";
     transition: ACCELERATE 0.2;
     after: "gui,action,exit,end";
    }
    program {
     name: "gui,action,exit,end";
     action: SIGNAL_EMIT "gui,action,exit,end" "e";
    }
   }

   part {
    name: "quit-clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
     rel1.relative: -10.0 -10.0;
     rel2.relative: 10.0 10.0;
    }
    description {
     state: "visible" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "quit-y";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 1.0 1.0;
      offset: -64 -1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -64 -1;
     }
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     rel1 {
      relative: 1.0 1.0;
      offset: -64 -64;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -64 -64;
     }
    }
   }

   part {
    name: "e.swallow.quit";
    type: SWALLOW;
    mouse_events: 1;
    clip_to: "quit-clipper";
    description {
     state: "default" 0.0;
     min: 64 64;
     max: 64 64;
     visible: 0;
     rel1 {
      relative: 1.0 1.0;
      offset: 0 -64;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 63 -1;
     }
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     visible: 1;
     rel1 {
      relative: 1.0 1.0;
      offset: -64 -64;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
   }

   part {
    name: "quit-eventarea";
    type: RECT;
    mouse_events: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1.to: "e.swallow.quit";
     rel2.to: "e.swallow.quit";
    }
   }

   programs {
    program {
     name: "gui,action,quit,favorites,enter";
     signal: "gui,action,quit,favorites,enter";
     source: "e";
     action: STATE_SET "visible" 0.0;
     target: "e.swallow.quit";
     target: "quit-clipper";
     target: "quit-y";
     transition: LINEAR 0.5;
    }

    program {
     name: "gui,action,quit,favorites,exit";
     signal: "gui,action,quit,favorites,exit";
     source: "e";
     action: STATE_SET "default" 0.0;
     target: "e.swallow.quit";
     target: "quit-clipper";
     target: "quit-y";
     transition: LINEAR 0.5;
    }

    program {
     name: "gui,action,quit,executed";
     signal: "mouse,clicked,1";
     source: "quit-eventarea";
     action: SIGNAL_EMIT "gui,action,quit,executed" "e";
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/places/grid";
  alias: "e/netbook/launcher/main/preferences/grid";

  data {
   item: "scroll_horizontal" "off";
  }

  parts {
   part {
    name: "e.box.contents";
    type: BOX;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
     box {
      layout: "vertical";
      align: 0.0 0.0;
      //padding: 0 10;
     }
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/places/layout";
  alias: "e/netbook/launcher/main/preferences/layout";

  parts {
   part {
    name: "e.swallow.scroller";
    type: SWALLOW;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 40 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -34 -7;
     }
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/grid/item";
  alias: "e/netbook/launcher/main/places/folders/item";
  alias: "e/netbook/launcher/main/places/recent/item";

  min: 169 140;

  data {
   item: "scale_min" "on";
   item: "scale_icon" "on";
   item: "selectraise" "on";
   item: "icon_size" "90";
  }

  images {
   image: "text-bg.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;
  }

  parts {
   part {
    name: "eventarea";
    type: RECT;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 5 5;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -6 -6;
     }
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    mouse_events: 0;
    scale: 0;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -45 10;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 44 99;
     }
    }
    description {
     state: "big" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -50 5;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 49 104;
     }
    }
   }

   part {
    name: "e.text.label";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 110;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 129;
     }
     text {
      text_class: "grid_font";
      font: "Sans";
      size: 12;
      min: 0 1;
      text: "label";
      align: 0.5 0.5;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 0;
    }
   }

   part {
    name: "label-full-clipper";
    type: RECT;
    effect: SHADOW;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     color3: 0 0 0 255;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "label-full-bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "label-full-bg";
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "label-full-bg";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "label-full-clipper";
    description {
     state: "default" 0.0;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to: "label-full";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 4;
      to: "label-full";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "label-full";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     visible: 0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 110;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 129;
     }
     text {
      text_class: "grid_font";
      text_source: "e.text.label";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "label";
      align: 0.5 0.5;
      min: 1 1;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "busy_clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "busy";
    clip_to: "busy_clipper";
    mouse_events:  0;
    description {
     state: "default" 0.0;
     aspect: 1.0 1.0;
     aspect_preference: BOTH;
     min: 24 24;
     max: 24 24;
     rel1 {
      relative: 1.0 0.0;
      offset: -24 -5;
      to: "e.swallow.icon";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 18;
      to: "e.swallow.icon";
     }
     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";
     }
    }
   }

   programs {
    program {
     name: "gui,action,win,open";
     signal: "gui,action,win,open";
     source: "e";
     action: STATE_SET "visible" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
    }

    program {
     name: "gui,action,win,close";
     signal: "gui,action,win,close";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
     after: "busy_anim_stop";
    }

    program {
     name: "busy_anim";
     signal: "gui,action,win,open";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.5;
     target: "busy";
     after: "busy_anim";
    }

    program {
     name: "busy_anim_stop";
     action: ACTION_STOP;
     target: "busy_anim";
    }

    program {
     name: "grow-anim";
     action: STATE_SET "big" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }

    program {
     name: "grow-immediate";
     action: STATE_SET "big" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "grow-anim";
    }

    program {
     name: "notify-in";
     signal: "mouse,in";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,in" "e";
    }

    program {
     name: "shrink-anim";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }

    program {
     name: "shrink-immediate";
     action: STATE_SET "default" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "shrink-anim";
    }

    program {
     name: "notify-out";
     signal: "mouse,out";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,out" "e";
    }

    program {
     signal: "gui,action,select";
     source: "e";
     after: "grow-immediate";
    }

    program {
     signal: "gui,action,unselect";
     source: "e";
     after: "shrink-immediate";
    }

    program {
     signal: "mouse,clicked,1";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,executed" "e";
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/apps/item";

  min: 169 155;

  data {
   item: "scale_min" "on";
   item: "scale_icon" "on";
   item: "selectraise" "on";
   item: "icon_size" "90";
  }

  images {
   image: "text-bg.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: "favorite_add.png" COMP;
   image: "favorite_del.png" COMP;
  }

  script {
   public fav_action_mode;

   public fav_action() {
    new mode = get_int(fav_action_mode);
    if (mode == 1) {
     emit("gui,action,favorite,add", "e");
    } else if (mode == 2)
     emit("gui,action,favorite,del", "e");
   }
  }

  parts {
   part {
    name: "eventarea";
    type: RECT;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 25 5;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -26 -6;
     }
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    mouse_events: 0;
    scale: 0;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -45 10;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 44 99;
     }
    }
    description {
     state: "big" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -50 5;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 49 104;
     }
    }
   }

   part {
    name: "e.text.label";
    type: TEXTBLOCK;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 130;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 130;
     }
     text {
      text_class: "grid_font";
      min: 0 1;
      text: "label";
      style: "app_label_style";
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 0;
    }
   }

   part {
    name: "label-full-clipper";
    type: RECT;
    effect: SHADOW;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     color3: 0 0 0 255;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "label-full-bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "label-full-bg";
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "label-full-bg";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "label-full-clipper";
    description {
     state: "default" 0.0;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to: "label-full";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 4;
      to: "label-full";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "label-full";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     visible: 0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 110;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 129;
     }
     text {
      text_class: "grid_font";
      text_source: "e.text.label";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "label";
      align: 0.5 0.5;
      min: 1 1;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "busy_clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "busy";
    clip_to: "busy_clipper";
    mouse_events:  0;
    description {
     state: "default" 0.0;
     aspect: 1.0 1.0;
     aspect_preference: BOTH;
     min: 24 24;
     max: 24 24;
     rel1 {
      relative: 1.0 0.0;
      offset: -24 -5;
      to: "e.swallow.icon";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 18;
      to: "e.swallow.icon";
     }
     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";
     }
    }
   }

   part {
    name: "favorite-added-icon";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
     min: 22 22;
     max: 22 22;
     rel1 {
      relative: 1.0 0.0;
      offset: -22 -6;
      to: "e.swallow.icon";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 17;
      to: "e.swallow.icon";
     }
     image.normal: "favorite_add.png";
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "favorite-added-icon-pulser";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: -12 -12;
      to: "favorite-added-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 11 11;
      to: "favorite-added-icon";
     }
     image.normal: "favorite_add.png";
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "favorite-added-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "favorite-added-icon";
     }
    }
   }

   part {
    name: "favorite-action-clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1.relative: -10 -10;
     rel2.relative: 10 10;
     visible: 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "favorite-action-eventarea";
    type: RECT;
    mouse_events: 1;
    clip_to: "favorite-action-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
    }
   }

   part {
    name: "favorite-action-bg";
    type: IMAGE;
    mouse_events: 1;
    repeat_events: 1;
    clip_to: "favorite-action-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to_x: "favorite-action-icon";
      to_y: "e.text.favorite_action";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 8;
      to: "e.text.favorite_action";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
    }
   }

   part {
    name: "favorite-action-icon";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "favorite-action-clipper";
    description {
     state: "default" 0.0;
     visible: 0;
     min: 22 22;
     max: 22 22;
     rel1 {
      relative: 0.0 0.5;
      offset: 20 -11;
      to_y: "e.swallow.icon";
     }
     rel2 {
      relative: 0.0 0.5;
      offset: 41 10;
      to_y: "e.swallow.icon";
     }
     image.normal: "favorite_add.png";
    }
    description {
     state: "add" 0.0;
     inherit: "default" 0.0;
     visible: 1;
     image.normal: "favorite_add.png";
    }
    description {
     state: "del" 0.0;
     inherit: "default" 0.0;
     visible: 1;
     image.normal: "favorite_del.png";
    }
   }

   part {
    name: "e.text.favorite_action";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    clip_to: "favorite-action-clipper";
    description {
     state: "default" 0.0;
     color: 224 224 224 255;
     color3: 0 0 0 128;
     align: 0.0 0.5;
     fixed: 1 1;
     rel1 {
      relative: 1.0 0.5;
      offset: 5 -10;
      to: "favorite-action-icon";
     }
     rel2 {
      relative: 1.0 0.5;
      offset: -10 9;
      to_y: "favorite-action-icon";
     }
     text {
      text_class: "grid_font";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "favorite action";
      align: 0.0 0.5;
     }
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
    }
   }

   programs {
    program {
     name: "gui,action,win,open";
     signal: "gui,action,win,open";
     source: "e";
     action: STATE_SET "visible" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
    }

    program {
     name: "gui,action,win,close";
     signal: "gui,action,win,close";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
     after: "busy_anim_stop";
    }

    program {
     name: "busy_anim";
     signal: "gui,action,win,open";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.5;
     target: "busy";
     after: "busy_anim";
    }

    program {
     name: "busy_anim_stop";
     action: ACTION_STOP;
     target: "busy_anim";
    }

    program {
     name: "grow-anim";
     action: STATE_SET "big" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }
    program {
     name: "grow-immediate";
     action: STATE_SET "big" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "grow-anim";
    }

    program {
     name: "notify-in";
     signal: "mouse,in";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,in" "e";
    }

    program {
     name: "shrink-anim";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }
    program {
     name: "shrink-immediate";
     action: STATE_SET "default" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "shrink-anim";
    }

    program {
     name: "notify-out";
     signal: "mouse,out";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,out" "e";
    }

    program {
     signal: "mouse,clicked,1";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,executed" "e";
    }

    program {
     signal: "gui,action,select";
     source: "e";
     after: "grow-immediate";
    }

    program {
     signal: "gui,action,unselect";
     source: "e";
     after: "shrink-immediate";
    }

    program {
     signal: "mouse,clicked,3";
     source: "eventarea";
     action: STATE_SET "visible" 0.0;
     target: "favorite-action-clipper";
     transition: LINEAR 0.3;
    }

    program {
     name: "hide-favorite-action";
     signal: "mouse,out";
     source: "favorite-action-eventarea";
     action: STATE_SET "default" 0.0;
     target: "favorite-action-clipper";
     transition: SINUSOIDAL 0.5;
    }

    program {
     signal: "mouse,in";
     source: "favorite-action-bg";
     action: STATE_SET "active" 0.0;
     transition: SINUSOIDAL 0.2;
     target: "e.text.favorite_action";
     target: "favorite-action-bg";
    }

    program {
     signal: "mouse,out";
     source: "favorite-action-bg";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.2;
     target: "e.text.favorite_action";
     target: "favorite-action-bg";
    }

    program {
     signal: "gui,state,favorite,can_add";
     source: "e";
     script {
      set_int(fav_action_mode, 1);
     }
     after: "favorite_icon_add";
    }
    program {
     name: "favorite_icon_add";
     action: STATE_SET "add" 0.0;
     target: "favorite-action-icon";
    }

    program {
     signal: "gui,state,favorite,can_del";
     source: "e";
     script {
      set_int(fav_action_mode, 2);
     }
     after: "favorite_icon_del";
    }
    program {
     name: "favorite_icon_del";
     action: STATE_SET "del" 0.0;
     target: "favorite-action-icon";
    }

    program {
     name: "show-favorite-added";
     signal: "gui,state,favorite,added";
     source: "e";
     action: STATE_SET "visible" 0.0;
     transition: SINUSOIDAL 0.6;
     target: "favorite-added-icon";
     after: "show-favorite-added,1";
    }
    program {
     name: "show-favorite-added,1";
     action: STATE_SET "visible" 0.0;
     target: "favorite-added-icon-pulser";
     transition: LINEAR 0.4;
     after: "show-favorite-added,2";
    }
    program {
     name: "show-favorite-added,2";
     action: STATE_SET "default" 0.0;
     target: "favorite-added-icon-pulser";
     transition: LINEAR 0.4;
     after: "show-favorite-added,3";
    }
    program {
     name: "show-favorite-added,3";
     action: STATE_SET "visible" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,4";
    }
    program {
     name: "show-favorite-added,4";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,5";
    }
    program {
     name: "show-favorite-added,5";
     action: STATE_SET "visible" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,6";
    }
    program {
     name: "show-favorite-added,6";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,7";
    }
    program {
     name: "show-favorite-added,7";
     action: STATE_SET "visible" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,8";
    }
    program {
     name: "show-favorite-added,8";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.4;
     target: "favorite-added-icon-pulser";
     after: "show-favorite-added,9";
    }
    program {
     name: "show-favorite-added,9";
     action: STATE_SET "default" 0.0;
     transition: SINUSOIDAL 0.6;
     target: "favorite-added-icon";
    }

    program {
     signal: "mouse,clicked,1";
     source: "favorite-action-bg";
     script {
      fav_action();
     }
     after: "hide-favorite-action";
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/places/storage/item";

  min: 169 140;

  data {
   item: "scale_min" "on";
   item: "scale_icon" "on";
   item: "selectraise" "on";
   item: "icon_size" "90";
  }

  images {
   image: "text-bg.png" COMP;
   image: "open.png" COMP;
   image: "eject.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;
  }

  parts {
   part {
    name: "eventarea";
    type: RECT;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 5 5;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -6 -6;
     }
    }
   }

   part {
    name: "icon-clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 64;
    }
    description {
     state: "mounted" 0.0;
     color: 255 255 255 255;
    }
   }

   programs {
    program {
     name: "gui,state,mounted";
     signal: "gui,state,mounted";
     source: "e";
     action: STATE_SET "mounted" 0.0;
     transition: LINEAR 0.2;
     target: "icon-clipper";
    }

    program {
     name: "gui,state,unmounted";
     signal: "gui,state,unmounted";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.2;
     target: "icon-clipper";
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    mouse_events: 0;
    scale: 0;
    clip_to: "icon-clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -45 10;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 44 99;
     }
    }
    description {
     state: "big" 0.0;
     rel1 {
      relative: 0.5 0.0;
      offset: -50 5;
     }
     rel2 {
      relative: 0.5 0.0;
      offset: 49 104;
     }
    }
   }

   part {
    name: "overlay-clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "visible" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   programs {
    program {
     signal: "mouse,in";
     source: "eventarea";
     action: STATE_SET "visible" 0.0;
     transition: LINEAR 0.1;
     target: "overlay-clipper";
    }
    program {
     signal: "mouse,out";
     source: "eventarea";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.1;
     target: "overlay-clipper";
    }
   }

   part {
    name: "action-clipper";
    type: RECT;
    mouse_events: 0;
    clip_to: "overlay-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
    }
    description {
     state: "hidden" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "action-bg";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "action-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 128;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to: "action-eventarea";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 4;
      to: "action-eventarea";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
    }
   }

   part {
    name: "action-icon";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "action-clipper";
    description {
     state: "default" 0.0;
     min: 22 22;
     max: 22 22;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 30;
     }
     rel2 {
      relative: 0.0 0.0;
      offset: 41 51;
     }
     image.normal: "open.png";
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
     min: 0 0;
     rel2 {
      relative: 0.0 0.0;
      offset: 20 20;
     }
    }
   }

   part {
    name: "e.text.action";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    clip_to: "action-clipper";
    description {
     state: "default" 0.0;
     color: 224 224 224 255;
     color3: 0 0 0 128;
     rel1 {
      relative: 1.0 0.0;
      offset: 10 0;
      to: "action-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -21 -1;
      to_y: "action-icon";
     }
     text {
      text_class: "grid_font";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "action";
      align: 0.0 0.5;
     }
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
     text {
      min: 0 0;
     }
    }
   }

   part {
    name: "action-eventarea";
    type: RECT;
    repeat_events: 1;
    clip_to: "action-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "action-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "e.text.action";
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
    }
   }

   programs {
    program {
     signal: "mouse,in";
     source: "action-eventarea";
     action: STATE_SET "active" 0.0;
     transition: LINEAR 0.2;
     target: "e.text.action";
     target: "action-bg";
    }

    program {
     signal: "mouse,out";
     source: "action-eventarea";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.2;
     target: "e.text.action";
     target: "action-bg";
    }

    program {
     signal: "mouse,clicked,1";
     source: "action-eventarea";
     action: SIGNAL_EMIT "gui,action,executed" "e";
    }
   }

   part {
    name: "eject-clipper";
    type: RECT;
    mouse_events: 0;
    clip_to: "overlay-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
    }
    description {
     state: "hidden" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "eject-bg";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "eject-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 128;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to: "eject-eventarea";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 4;
      to: "eject-eventarea";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
    }
   }

   part {
    name: "eject-icon";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "eject-clipper";
    description {
     state: "default" 0.0;
     min: 22 22;
     max: 22 22;
     rel1 {
      relative: 0.0 1.0;
      offset: 20 6;
      to_y: "action-eventarea";
     }
     rel2 {
      relative: 0.0 1.0;
      offset: 41 27;
      to_y: "action-eventarea";
     }
     image.normal: "eject.png";
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
     min: 0 0;
     rel2 {
      relative: 0.0 0.0;
      offset: 20 20;
     }
    }
   }

   part {
    name: "e.text.eject";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    clip_to: "eject-clipper";
    description {
     state: "default" 0.0;
     color: 224 224 224 255;
     color3: 0 0 0 128;
     rel1 {
      relative: 1.0 0.0;
      offset: 10 0;
      to: "eject-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -21 -1;
      to_y: "eject-icon";
     }
     text {
      text_class: "grid_font";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "eject";
      align: 0.0 0.5;
     }
    }
    description {
     state: "active" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
     text {
      min: 0 0;
     }
    }
   }

   part {
    name: "eject-eventarea";
    type: RECT;
    repeat_events: 1;
    clip_to: "eject-clipper";
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "eject-icon";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "e.text.eject";
     }
    }
    description {
     state: "hidden" 0.0;
     inherit: "default" 0.0;
     visible: 0;
    }
   }

   programs {
    program {
     signal: "mouse,in";
     source: "eject-eventarea";
     action: STATE_SET "active" 0.0;
     transition: LINEAR 0.2;
     target: "e.text.eject";
     target: "eject-bg";
    }

    program {
     signal: "mouse,out";
     source: "eject-eventarea";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.2;
     target: "e.text.eject";
     target: "eject-bg";
    }

    program {
     signal: "gui,state,can_eject";
     source: "e" ;
     action: STATE_SET "default" 0.0;
     target: "eject-clipper";
     target: "eject-eventarea";
     target: "eject-icon";
     target: "e.text.eject";
     target: "eject-bg";
    }

    program {
     signal: "gui,state,cannot_eject";
     source: "e" ;
     action: STATE_SET "hidden" 0.0;
     target: "eject-clipper";
     target: "eject-eventarea";
     target: "eject-icon";
     target: "e.text.eject";
     target: "eject-bg";
    }

    program {
     signal: "mouse,clicked,1";
     source: "eject-eventarea";
     action: SIGNAL_EMIT "gui,action,ejected" "e";
    }
   }

   part {
    name: "e.text.label";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 110;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 129;
     }
     text {
      text_class: "grid_font";
      font: "Sans";
      size: 12;
      min: 0 1;
      text: "label";
      align: 0.5 0.5;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 0;
    }
   }

   part {
    name: "label-full-clipper";
    type: RECT;
    effect: SHADOW;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     color3: 0 0 0 255;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "label-full-bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to: "label-full-bg";
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "label-full-bg";
    type: IMAGE;
    mouse_events: 0;
    clip_to: "label-full-clipper";
    description {
     state: "default" 0.0;
     visible: 0;
     rel1 {
      relative: 0.0 0.0;
      offset: -5 -5;
      to: "label-full";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 4 4;
      to: "label-full";
     }
     image {
      normal: "text-bg.png";
      border: 5 10 5 10;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "label-full";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     visible: 0;
     color: 255 255 255 255;
     color3: 0 0 0 255;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 20 110;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -21 129;
     }
     text {
      text_class: "grid_font";
      text_source: "e.text.label";
      font: "Sans:style=Bold";
      size: 12;
      min: 1 1;
      text: "label";
      align: 0.5 0.5;
      min: 1 1;
     }
    }
    description {
     state: "big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "busy_clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     visible: 1;
    }
   }

   part {
    name: "busy";
    clip_to: "busy_clipper";
    mouse_events:  0;
    description {
     state: "default" 0.0;
     aspect: 1.0 1.0;
     aspect_preference: BOTH;
     min: 24 24;
     max: 24 24;
     rel1 {
      relative: 1.0 0.0;
      offset: -24 -5;
      to: "e.swallow.icon";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 18;
      to: "e.swallow.icon";
     }
     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";
     }
    }
   }

   programs {
    program {
     name: "gui,busy,on";
     signal: "gui,busy,on";
     source: "e";
     action: STATE_SET "visible" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
    }

    program {
     name: "gui,busy,off";
     signal: "gui,busy,off";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: SINUSOIDAL 1.0;
     target: "busy_clipper";
     after: "busy_anim_stop";
    }

    program {
     name: "busy_anim";
     signal: "gui,action,win,open";
     source: "e";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.5;
     target: "busy";
     after: "busy_anim";
    }

    program {
     name: "busy_anim_stop";
     action: ACTION_STOP;
     target: "busy_anim";
    }

    program {
     name: "grow-anim";
     action: STATE_SET "big" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }

    program {
     name: "grow-immediate";
     action: STATE_SET "big" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "grow-anim";
    }

    program {
     name: "notify-in";
     signal: "mouse,in";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,in" "e";
    }

    program {
     name: "shrink-anim";
     action: STATE_SET "default" 0.0;
     transition: LINEAR 0.1;
     target: "e.swallow.icon";
     target: "label-full-clipper";
    }

    program {
     name: "shrink-immediate";
     action: STATE_SET "default" 0.0;
     target: "e.text.label";
     target: "label-full";
     target: "label-full-bg";
     after: "shrink-anim";
    }

    program {
     name: "notify-out";
     signal: "mouse,out";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,focus,out" "e";
    }

    program {
     signal: "gui,action,select";
     source: "e";
     after: "grow-immediate";
    }

    program {
     signal: "gui,action,unselect";
     source: "e";
     after: "shrink-immediate";
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/sidebar";

  data {
   item: "scroll_horizontal" "off";
  }

  parts {
   part {
    name: "e.box.contents";
    type: BOX;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
     box {
      //layout: "vertical_max";
      layout: "vertical";
      align: 0.0 0.0;
     }
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/sidebar/item";
  min: 200 45;
  max: 9999 45;

  data {
   item: "scale_min" "on";
   item: "scale_icon" "on";
   item: "selectraise" "on";
   item: "icon_size" "32";
  }

  images {
   image: "sidebar_item_normal.png" COMP;
   image: "sidebar_item_active_base.png" COMP;
   image: "sidebar_item_active_tip_normal.png" COMP;
   image: "sidebar_item_active_tip_pointer.png" COMP;
  }

  script {
   public is_clicked, is_over, was_clicked, was_over;

   public apply() {
    if (get_int(is_clicked)) {
     if (!get_int(was_clicked)) {
      set_int(was_clicked, 1);

      if (get_int(was_over))
       run_program(PROGRAM:"go_clicked_from_over");
      else
       run_program(PROGRAM:"go_clicked");
     }
    } else if (get_int(is_over)) {
     if (!get_int(was_over)) {
      set_int(was_over, 1);

      if (get_int(was_clicked))
       run_program(PROGRAM:"go_over_from_clicked");
      else
       run_program(PROGRAM:"go_over");
     }
    } else {
     set_int(was_over, 0);
     set_int(was_clicked, 0);
     run_program(PROGRAM:"go_passive");
    }
   }

   public clicked(val) {
    if (val == get_int(is_clicked))
     return;
    set_int(is_clicked, val);
    apply();
   }

   public over(val) {
    if (val == get_int(is_over))
     return;
    set_int(is_over, val);
    apply();
   }
  }

  parts {
   part {
    name: "bg-fill";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 48 48 48 100;
     min: 184 29;
     max: 9999 29;
     rel1 {
      relative: 0.0 0.0;
      offset: 8 8;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -9 -9;
     }
    }
    description {
     state: "over" 0.0;
     inherit: "default" 0.0;
     color: 0 0 0 100;
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     color: 0 0 0 100;
    }
   }

   part {
    name: "bg";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     min: 198 43;
     max: 9999 43;
     rel1 {
      relative: 0.0 0.0;
      offset: 1 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -2 -2;
     }
     image {
      normal: "sidebar_item_normal.png";
      border: 7 7 7 7;
      middle: 0;
      scale_hint: STATIC;
     }
     fill.smooth: 0;
    }
    description {
     state: "over" 0.0;
     inherit: "default" 0.0;
     min: 191 43;
     max: 9999 43;
     rel1 {
      relative: 0.0 0.0;
      offset: 1 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -9 -2;
     }
     image {
      normal: "sidebar_item_active_base.png";
      border: 7 0 7 7;
      middle: 0;
      scale_hint: STATIC;
     }
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     min: 191 43;
     max: 9999 43;
     rel1 {
      relative: 0.0 0.0;
      offset: 1 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -9 -2;
     }
     image {
      normal: "sidebar_item_active_base.png";
      border: 7 0 7 7;
      middle: 0;
      scale_hint: STATIC;
     }
    }
   }

   part {
    name: "bg-tip-over";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     visible: 0;
     min: 7 43;
     max: 7 43;
     rel1 {
      relative: 1.0 0.0;
      offset: -8 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -2 -2;
     }
     image {
      normal: "sidebar_item_active_tip_normal.png";
     }
    }
    description {
     state: "over" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
   }

   part {
    name: "bg-tip-clicked";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     visible: 0;
     min: 7 43;
     max: 27 43;
     rel1 {
      relative: 1.0 0.0;
      offset: -8 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -2 -2;
     }
     image {
      normal: "sidebar_item_active_tip_pointer.png";
      border: 7 0 7 7;
     }
     fill.smooth: 1;
    }
    description {
     state: "clicked-small" 0.0;
     inherit: "default" 0.0;
     visible: 1;
    }
    description {
     state: "clicked-big" 0.0;
     inherit: "default" 0.0;
     visible: 1;
     min: 7 43;
     max: 27 43;
     rel1 {
      relative: 1.0 0.0;
      offset: -8 1;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: 18 -2;
     }
    }
   }

   part {
    name: "icon-clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 224 224 224 255;
    }
    description {
     state: "over" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    scale: 0;
    clip_to: "icon-clipper";
    description {
     state: "default" 0.0;
     fixed: 1 1;
     align: 0.0 0.5;
     min: 32 32;
     max: 32 32;
     rel1 {
      relative: 0.0 0.5;
      offset: 16 -24;
     }
     rel2 {
      relative: 0.0 0.5;
      offset: 63 23;
     }
    }
   }

   part {
    name: "e.text.label";
    type: TEXTBLOCK;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     align: 0.0 0.5;
     rel1 {
      relative: 0.0 0.0;
      offset: 56 16;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -16 -15;
     }
     color: 224 224 224 255;
     color3: 0 0 0 0;
     text {
      text_class: "list_font";
      min: 0 1;
      style: "cat_label_style";
     }
    }
    description {
     state: "over" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     text {
      text_class: "list_font";
      min: 0 1;
      style: "cat_select_label_style";
     }
    }
    description {
     state: "clicked" 0.0;
     inherit: "default" 0.0;
     color: 255 255 255 255;
     text {
      text_class: "list_font";
      min: 0 1;
      style: "cat_select_label_style";
     }
    }
   }

   part {
    name: "event";
    type: RECT;
    repeat_events: 1;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
    }
   }
  }

  programs {
   program {
    name: "go_over";
    action: STATE_SET "over" 0.0;
    target: "e.text.label";
    target: "bg";
    target: "bg-fill";
    target: "bg-tip-over";
    target: "icon-clipper";
   }

   program {
    name: "go_clicked";
    action: STATE_SET "clicked" 0.0;
    target: "e.text.label";
    target: "bg";
    target: "bg-fill";
    target: "icon-clipper";
    after: "go_clicked_anim";
   }

   program {
    name: "go_passive";
    action: STATE_SET "default" 0.0;
    target: "e.text.label";
    target: "bg";
    target: "bg-fill";
    target: "bg-tip-over";
    target: "bg-tip-clicked";
    target: "icon-clipper";
   }

   program {
    name: "go_clicked_from_over";
    action: STATE_SET "default"  0.0;
    target: "bg-tip-over";
    after: "go_clicked_anim";
   }
   program {
    name: "go_clicked_anim";
    action: STATE_SET "clicked-small" 0.0;
    target: "bg-tip-clicked";
    after: "go_clicked_anim_2";
   }
   program {
    name: "go_clicked_anim_2";
    action: STATE_SET "clicked-big" 0.0;
    target: "bg-tip-clicked";
    transition: LINEAR 0.2;
   }

   program {
    name: "go_over_from_clicked";
    action: STATE_SET "default"  0.0;
    target: "bg-tip-clicked";
    transition: LINEAR 0.2;
    after: "go_over_from_clicked_2";
   }
   program {
    name: "go_over_from_clicked_2";
    action: STATE_SET "over" 0.0;
    target: "bg-tip-over";
   }

   program {
    signal: "gui,action,focus,in";
    source: "e";
    script { over(1); }
   }

   program {
    signal: "gui,action,focus,out";
    source: "e";
    script { over(0); }
   }

   program {
    signal: "gui,action,select";
    source: "e";
    script { clicked(1); }
   }

   program {
    signal: "gui,action,unselect";
    source: "e";
    script { clicked(0); }
   }

   program {
    signal: "mouse,in";
    source: "event";
    script { over(1); }
   }
   program {
    signal: "mouse,out";
    source: "event";
    script { over(0); }
   }

   program {
    signal: "mouse,clicked,1";
    source: "event";
    action: SIGNAL_EMIT "gui,action,executed" "e";
   }
  }
 }

 group {
  name: "elm/win/inwin/error";

  images {
   image: "error-bg.png" COMP;
  }

  parts {
   part {
    name: "base";
    type: RECT;
    mouse_events: 1;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 1.0;
     color: 0 0 0 64;
    }
   }

   part {
    name: "pop";
    mouse_events: 1;
    description { state: "default" 0.0;
     rel1.to: "elm.swallow.content";
     rel1.offset: -34 -27;
     rel2.to: "elm.swallow.content";
     rel2.offset: 26 33;
     image {
      normal: "error-bg.png";
      border: 33 26 26 33;
      middle: SOLID;
     }
    }
   }

   part {
    name: "elm.swallow.content";
    type: SWALLOW;
    description {
     state: "default" 0.0;
     fixed: 1 1;
     rel1.relative: 0.5 0.5;
     rel2.relative: 0.5 0.5;
    }
   }
  }

  programs {
   program { name: "show";
    signal: "elm,action,show";
    source: "elm";
    action: STATE_SET "visible" 0.0;
    transition: DECELERATE 1.0;
    target: "base";
   }

   program { name: "hide";
    signal: "elm,action,hide";
    source: "elm";
    action: STATE_SET "default" 0.0;
    transition: DECELERATE 1.0;
    target: "base";
   }
  }
 }

 group {
  name: "elm/frame/base/error";

  parts {
   part {
    name: "elm.text";
    type: TEXT;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 128 128 128 255;
     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;
     }
     text {
      text_class: "frame_font";
      font: "Sans:style=Bold,Edje-Vera-Bold";
      size: 12;
      min: 1 1;
      max: 1 1;
      align: 0.0 0.0;
     }
    }
   }

   part {
    name: "elm.swallow.content";
    type: SWALLOW;
    description {
     state: "default" 0.0;
     rel1 {
      to_y: "elm.text";
      relative: 0.0 1.0;
      offset: 8 8;
     }
     rel2.offset: -9 -9;
    }
   }
  }
 }

 group {
  name: "elm/win/inwin/launchfeedback";

  images {
   image: "launch-bg.png" COMP;
  }

  parts {
   part {
    name: "base";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 0;
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 1.0;
     color: 0 0 0 128;
    }
   }

   part {
    name: "pop";
    mouse_events: 1;
    description {
     state: "default" 0.0;
     visible: 0;
     rel1 {
      relative: 0.5 0.5;
      offset: -16 -33;
     }
     rel2 {
      relative: 0.5 0.5;
      offset: 15 15;
     }
     image {
      normal: "launch-bg.png";
      border: 16 16 33 16;
     }
    }
    description {
     state: "visible" 0.0;
     inherit: "default" 0.0;
     visible: 1;
     rel1 {
      to: "elm.swallow.content";
      relative: 0.0 0.0;
      offset: -20 -4;
     }
     rel2 {
      to: "elm.swallow.content";
      relative: 1.0 1.0;
      offset: 19 19;
     }
    }
   }

   part {
    name: "content_clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
    }
    description {
     state: "visible" 0.0;
     color: 255 255 255 255;
    }
   }

   part {
    name: "elm.swallow.content";
    type: SWALLOW;
    clip_to: "content_clipper";
    description {
     state: "default" 0.0;
     fixed: 1 1;
     rel1.relative: 0.5 0.5;
     rel2.relative: 0.5 0.5;
    }
   }
  }

  programs {
   program {
    name: "show";
    signal: "elm,action,show";
    source: "elm";
    action: STATE_SET "visible" 0.0;
    target: "base";
    target: "pop";
    target: "content_clipper";
   }

   program {
    name: "hide";
    signal: "elm,action,hide";
    source: "elm";
    action: STATE_SET "default" 0.0;
    target: "base";
    target: "pop";
    target: "content_clipper";
   }
  }
 }

 group {
  name: "e/netbook/launcher/launchfeedback";
  min: 68 200;

  parts {
   part {
    name: "e.size";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
      to: "e.text.title";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
      to_y: "e.swallow.icon";
      to_x: "e.text.label";
     }
    }
   }

   part {
    name: "e.text.title";
    type: TEXT;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
     min: 100 30;
     align: 0.0 0.0;
     fixed: 0 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 3;
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -1 0;
     }
     text {
      text_class: "dialog_font";
      font: "Sans:style=Bold";
      text: "title";
      size: 12;
      min: 1 1;
      align: 0.0 0.0;
     }
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     min: 48 48;
     max: 48 48;
     rel1 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 10 10;
     }
     rel2 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 57 57;
     }
    }
   }

   part {
    name: "icon2_clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 200;
     rel1.relative: -10 -10;
     rel2.relative: 10 10;
    }
    description {
     state: "big" 0.0;
     color: 255 255 255 0;
     visible: 0;
     rel1.relative: -10 -10;
     rel2.relative: 10 10;
    }
   }

   part {
    name: "e.swallow.icon2";
    type: SWALLOW;
    clip_to: "icon2_clipper";
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     rel1 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 10 10;
     }
     rel2 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 57 57;
     }
    }
    description {
     state: "big" 0.0;
     rel1 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 0 0;
     }
     rel2 {
      to_y: "e.text.title";
      relative: 0.0 1.0;
      offset: 77 77;
     }
    }
   }

   part {
    name: "e.text.label";
    type: TEXT;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     align: 0.0 0.5;
     fixed: 1 1;
     rel1 {
      to: "e.swallow.icon";
      relative: 1.0 0.0;
      offset: 10 0;
     }
     rel2 {
      to: "e.swallow.icon";
      relative: 1.0 1.0;
      offset: 0 -1;
     }
     text {
      text_class: "dialog_font";
      font: "Sans";
      size: 12;
      align: 0.0 0.5;
      min: 1 1;
      max: 1 1;
      text: "label";
     }
    }
   }

   part {
    name: "eventarea";
    type: RECT;
    mouse_events: 1;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel1.offset: -10000 -10000;
     rel2.offset:  10000  10000;
    }
   }

   programs {
    program {
     name: "eventarea,clicked";
     signal: "mouse,down,*";
     source: "eventarea";
     action: SIGNAL_EMIT "gui,action,dismiss" "e";
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/places/section";
  alias: "e/netbook/launcher/main/preferences/section";
  min: 300 100;

  images {
   image: "iconviewbg.png" COMP;
  }

  parts {
   part {
    name: "bg-fill";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 0 0 0 100;
     rel1 {
      relative: 0.0 0.0;
      offset: 10 10;
      to: "bg";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -11 -11;
      to: "bg";
     }
    }
   }

   part {
    name: "bg";
    type: IMAGE;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -34 -1;
     }
     image {
      normal: "iconviewbg.png";
      border: 10 10 10 10;
      middle: 0;
     }
    }
   }

   part {
    name: "e.text.label";
    type: TEXT;
    effect: SHADOW;
    mouse_events: 0;
    scale: 1;
    description {
     state: "default" 0.0;
     color: 224 224 224 200;
     color3: 0 0 0 128;
     align: 0.5 0.0;
     fixed: 1 1;
     rel1 {
      relative: 0.0 0.0;
      offset: 10 10;
      to_x: "bg";
     }
     rel2 {
      relative: 1.0 0.0;
      offset: -11 20;
      to_x: "bg";
     }
     text {
      text_class: "grid_font";
      font: "Sans:style=Bold";
      size: 12;
      min: 0 1;
      text: "label";
      align: 0.5 0.5;
     }
    }
   }

   part {
    name: "e.size";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 0;
     rel2 {
      relative: 1.0 1.0;
      offset: 19 9;
      to: "e.box.contents";
     }
    }
   }

   part {
    name: "e.box.contents";
    type: BOX;
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 1.0;
      offset: 30 10;
      to_y: "e.text.label";
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -21 -11;
     }
     box {
      layout: "horizontal_flow";
      align: 0.0 0.0;
      //padding: 10 10;
      min: 1 1;
     }
    }
   }
  }
 }

 group {
  name: "e/netbook/launcher/main/icon_async";

  parts {
   part {
    name: "clipper";
    type: RECT;
    mouse_events: 0;
    description {
     state: "default" 0.0;
     color: 255 255 255 255;
    }
    description {
     state: "hidden" 0.0;
     color: 255 255 255 0;
     visible: 0;
    }
   }

   part {
    name: "e.swallow.icon";
    type: SWALLOW;
    mouse_events: 0;
    clip_to: "clipper";
    description {
     state: "default" 0.0;
     rel1 {
      relative: 0.0 0.0;
      offset: 0 0;
     }
     rel2 {
      relative: 1.0 1.0;
      offset: -1 -1;
     }
    }
   }

   programs {
    program {
     name: "empty";
     signal: "gui,action,empty";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "clipper";
    }

    program {
     name: "loading";
     signal: "gui,action,loading";
     source: "e";
     action: STATE_SET "hidden" 0.0;
     target: "clipper";
    }

    program {
     name: "loaded";
     signal: "gui,action,loaded";
     source: "e";
     action: STATE_SET "default" 0.0;
     target: "clipper";
     transition: LINEAR 0.5;
    }
   }
  }
 }
}
