//// the background and general container for the terminal group { name: "terminology/background"; images { image: "bg_bevel.png" COMP; image: "bg_glint.png" COMP; image: "bg_glow_in.png" COMP; image: "bg_led_glow.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; image: "pm_shadow.png" COMP; image: "pm_overlay.png" COMP; image: "pm_fill.png" COMP; image: "cr_glow.png" COMP; image: "cr_pulse.png" COMP; image: "tab_base_bottom.png" COMP; image: "tab_base_l0.png" COMP; image: "tab_base_l1.png" COMP; image: "tab_base_m.png" COMP; image: "tab_base_r0.png" COMP; image: "tab_base_r1.png" COMP; image: "tab_bg_l0.png" COMP; image: "tab_bg_l1.png" COMP; image: "tab_bg_r0.png" COMP; image: "tab_bg_r1.png" COMP; image: "tab_shad_l0.png" COMP; image: "tab_shad_l1.png" COMP; image: "tab_shad_r0.png" COMP; image: "tab_shad_r1.png" COMP; image: "media_busy_knob.png" COMP; image: "media_busy_spinner.png" COMP; image: "icon_split_h.png" COMP; image: "icon_split_v.png" COMP; } set { name: "bg_shadow"; image { image: "bg_shadow.png" COMP; size: 0 0 200 150; } image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; } image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; } } set { name: "bg_shine"; image { image: "bg_shine5.png" COMP; size: 0 0 256 120; } image { image: "bg_shine4.png" COMP; size: 256 120 512 240; } image { image: "bg_shine3.png" COMP; size: 512 240 1024 480; } image { image: "bg_shine2.png" COMP; size: 1024 480 2048 960; } image { image: "bg_shine.png" COMP; size: 2048 960 99999 99999; } } set { name: "tab_close"; image { image: "tab_close_8.png" COMP; size: 0 0 8 8; } image { image: "tab_close_16.png" COMP; size: 8 8 99999 99999; } } set { name: "tab_grouped"; image { image: "tab_grouped_8.png" COMP; size: 0 0 8 8; } image { image: "tab_grouped_16.png" COMP; size: 8 8 16 16; } image { image: "tab_grouped_32.png" COMP; size: 16 16 99999 99999; } } sounds { sample { name: "bell" LOSSY 64; source: "bell.wav"; } } script { public message(Msg_Type:type, id, ...) { new r, g, b, a, v; if (type != MSG_INT) return; if (id == 1) { v = (getarg(2) * 255) / 100; custom_state(PART:"shadow", "default", 0.0); get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a); set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v); set_state(PART:"shadow", "custom", 0.0); custom_state(PART:"base", "default", 0.0); get_state_val(PART:"base", STATE_COLOR, r, g, b, a); set_state_val(PART:"base", STATE_COLOR, r, g, b, v); set_state(PART:"base", "custom", 0.0); } else if (id == 2) { v = getarg(2); custom_state(PART:"shine_focused", "focused", 0.0); get_state_val(PART:"shine_focused", STATE_COLOR, r, g, b, a); set_state_val(PART:"shine_focused", STATE_COLOR, r, g, b, v); set_state(PART:"shine_focused", "custom", 0.0); custom_state(PART:"shine_unfocused", "default", 0.0); get_state_val(PART:"shine_unfocused", STATE_COLOR, r, g, b, a); set_state_val(PART:"shine_unfocused", STATE_COLOR, r, g, b, v/8); set_state(PART:"shine_unfocused", "custom", 0.0); } } } parts { //////////////////////////////////////////////////////////////////// // background handling part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; image.normal: "bg_shadow"; fill.smooth: 0; } } part { name: "base"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color_class: "BG"; } } //////////////////////////////////////////////////////////////////// // actual text grid for chars, cursors, selectiond etc. goes here // and has a background layered behind it inside the swallowed // child edje. Swallow `terminology/core` part { name: "terminology.content"; type: SWALLOW; description { state: "default" 0.0; } } //////////////////////////////////////////////////////////////////// // indicator of other tabs and control {{{ part { name: "tabcount_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "terminology.tabmissed.label"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.label"; rel2.to: "terminology.tabcount.label"; rel1.offset: -4 0; rel2.relative: 0.0 1.0; rel2.offset: -5 -1; color: 255 255 255 64; color2: 255 255 255 18; color3: 255 255 255 8; color_class: "TAB_MISSED"; align: 1.0 0.5; text { font: "Sans"; size: 8; align: 1.0 0.5; min: 1 1; ellipsis: 0; } } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color2: 255 255 255 128; color3: 255 255 255 20; color_class: "TAB_MISSED_OVER"; } } part { name: "terminology.tabcount.label"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; rel1.relative: -0.2 0.0; rel2.relative: -0.2 1.0; color: 255 255 255 64; color2: 255 255 255 18; color3: 255 255 255 8; color_class: "GLOW_TXT"; align: 1.0 0.5; text { font: "Sans"; size: 8; align: 1.0 0.5; min: 1 1; ellipsis: 0; } } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color2: 255 255 255 128; color3: 255 255 255 20; color_class: "GLOW_TXT_HIGHLIGHT"; } } part { name: "tabcount_glow_r0"; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tabcount_r0"; rel2.to: "tabcount_r0"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tabcount_glow_r1"; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tabcount_r1"; rel2.to: "tabcount_r1"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tabcount_glow_r2"; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tabcount_r2"; rel2.to: "tabcount_r2"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tabcount_glow_r3"; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tabcount_r3"; rel2.to: "tabcount_r3"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tabcount_r0"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; rel1.relative: 0.05 0.05; rel2.relative: 0.45 0.45; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tabcount_r1"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; rel1.relative: 0.55 0.05; rel2.relative: 0.95 0.45; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tabcount_r2"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; rel1.relative: 0.05 0.55; rel2.relative: 0.45 0.95; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tabcount_r3"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; rel1.relative: 0.55 0.55; rel2.relative: 0.95 0.95; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "terminology.tabcount.control"; type: SWALLOW; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: -3 2; rel1.to: "viewregion"; rel2.relative: 1.0 0.0; rel2.offset: -3 2; rel2.to: "viewregion"; align: 1.0 0.0; min: 16 16; } } part { name: "tabcount_ev"; type: RECT; repeat_events: 1; clip_to: "tabcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tabcount.control"; rel2.to: "terminology.tabcount.control"; color: 0 0 0 0; } } part { name: "terminology.tabregion"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "viewregion"; rel2.relative: 1.0 0.0; } } part { name: "viewregion"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "terminology.content"; } description { state: "tab" 0.0; inherit: "default" 0.0; rel1.to_y: "tabmiddle"; rel1.relative: 0.0 1.0; } } program { signal: "mouse,in"; source: "tabcount_ev"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.5; target: "tabcount_r0"; target: "tabcount_r1"; target: "tabcount_r2"; target: "tabcount_r3"; target: "tabcount_glow_r0"; target: "tabcount_glow_r1"; target: "tabcount_glow_r2"; target: "tabcount_glow_r3"; target: "terminology.tabcount.label"; target: "terminology.tabmissed.label"; } program { signal: "mouse,out"; source: "tabcount_ev"; action: STATE_SET "default" 0.0; transition: DECELERATE 2.0; target: "tabcount_r0"; target: "tabcount_r1"; target: "tabcount_r2"; target: "tabcount_r3"; target: "tabcount_glow_r0"; target: "tabcount_glow_r1"; target: "tabcount_glow_r2"; target: "tabcount_glow_r3"; target: "terminology.tabcount.label"; target: "terminology.tabmissed.label"; } program { signal: "mouse,clicked,1"; source: "tabcount_ev"; action: SIGNAL_EMIT "tab,go" "terminology"; } program { signal: "mouse,clicked,3"; source: "tabcount_ev"; action: SIGNAL_EMIT "tab,new" "terminology"; } program { signal: "mouse,wheel,0,1"; source: "tabcount_ev"; action: SIGNAL_EMIT "tab,prev" "terminology"; } program { signal: "mouse,wheel,0,-1"; source: "tabcount_ev"; action: SIGNAL_EMIT "tab,next" "terminology"; } program { signal: "tabcount,off"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "tabcount_clip"; } program { signal: "tabcount,on"; source: "terminology"; action: STATE_SET "on" 0.0; transition: DECELERATE 0.5; target: "tabcount_clip"; } program { signal: "tabmissed,off"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "terminology.tabmissed.label"; } program { signal: "tabmissed,on"; source: "terminology"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.2; target: "terminology.tabmissed.label"; after: "tabmissed2"; } program { name: "tabmissed2"; signal: "tabmissed,on"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 3.0; target: "terminology.tabmissed.label"; } // }}} //////////////////////////////////////////////////////////////////// // sendfile request {{{ part { name: "sendfile_request_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "sendfile_request_shadow"; mouse_events: 0; clip_to: "sendfile_request_clip"; description { state: "default" 0.0; fixed: 1 1; rel.to: "sendfile_request_bg"; rel1.offset: -32 -32; rel2.offset: 31 31; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; fill.smooth: 0; } } part { name: "sendfile_request_bg"; type: RECT; clip_to: "sendfile_request_clip"; description { state: "default" 0.0; fixed: 1 1; color: 255 255 255 255; color_class: "BG_SENDFILE"; rel1.relative: 0.0 -1.0; rel2.relative: 1.0 0.0; } description { state: "on" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } part { name: "terminology.sendfile.request"; type: SWALLOW; clip_to: "sendfile_request_clip"; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel.to: "sendfile_request_bg"; rel1.offset: 4 4; rel2.offset: -5 -5; #if HAS_OFFSCALE offscale; #endif } description { state: "on" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } program { signal: "sendfile,request,on"; source: "terminology"; action: ACTION_STOP; target: "sendfile_request_on"; target: "sendfile_request_off"; } program { signal: "sendfile,request,off"; source: "terminology"; action: ACTION_STOP; target: "sendfile_request_on"; target: "sendfile_request_off"; } program { name: "sendfile_request_on"; signal: "sendfile,request,on"; source: "terminology"; in: 0.5 0.0; action: STATE_SET "on" 0.0; transition: DECELERATE 0.5; target: "sendfile_request_clip"; target: "sendfile_request_bg"; } program { name: "sendfile_request_off"; signal: "sendfile,request,off"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "sendfile_request_clip"; target: "sendfile_request_bg"; } // }}} //////////////////////////////////////////////////////////////////// // sendfile progress {{{ part { name: "sendfile_progress_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "sendfile_progress_shadow"; mouse_events: 0; clip_to: "sendfile_progress_clip"; description { state: "default" 0.0; fixed: 1 1; rel.to: "sendfile_progress_bg"; rel1.offset: -32 -32; rel2.offset: 31 31; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; fill.smooth: 0; } } part { name: "sendfile_progress_bg"; type: RECT; clip_to: "sendfile_progress_clip"; scale : 1; description { state: "default" 0.0; fixed: 1 1; color: 255 255 255 255; color_class: "BG_SENDFILE"; rel.to: "terminology.sendfile.progress"; rel1.offset: -4 -4; rel2.offset: 4 4; #if HAS_OFFSCALE offscale; #endif } } part { name: "terminology.sendfile.progress"; type: SWALLOW; clip_to: "sendfile_progress_clip"; scale : 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.0; rel1.offset: 4 -5; rel2.relative: 1.0 0.0; rel2.offset: -5 -5; align: 0.5 1.0; #if HAS_OFFSCALE offscale; #endif } description { state: "on" 0.0; inherit: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 4; align: 0.5 0.0; } } program { signal: "sendfile,progress,on"; source: "terminology"; action: ACTION_STOP; target: "sendfile_progress_on"; target: "sendfile_progress_off"; } program { signal: "sendfile,progress,off"; source: "terminology"; action: ACTION_STOP; target: "sendfile_progress_on"; target: "sendfile_progress_off"; } program { name: "sendfile_progress_on"; signal: "sendfile,progress,on"; source: "terminology"; in: 0.5 0.0; action: STATE_SET "on" 0.0; transition: DECELERATE 0.5; target: "sendfile_progress_clip"; target: "terminology.sendfile.progress"; } program { name: "sendfile_progress_off"; signal: "sendfile,progress,off"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "sendfile_progress_clip"; target: "terminology.sendfile.progress"; } // }}} //////////////////////////////////////////////////////////////////// // miniview {{{ part { name: "terminology.miniview"; type: SWALLOW; description { state: "default" 0.0; rel1.to_x: "terminology.content"; rel1.to_y: "viewregion"; rel2.to: "terminology.content"; visible: 0; fixed: 1 1; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "miniview,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "terminology.miniview"; } program { signal: "miniview,on"; source: "terminology"; action: STATE_SET "on" 0.0; target: "terminology.miniview"; } // }}} //////////////////////////////////////////////////////////////////// // overlayed prettiness {{{ part { name: "glow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "bg_glow_in.png"; image.border: 7 7 7 7; image.middle: 0; fill.smooth: 0; color: 255 255 255 0; color_class: "GLOW"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } description { state: "focused2" 0.0; inherit: "default" 0.0; color: 255 255 255 16; color_class: "GLOW"; } } part { name: "bevel"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "bg_bevel.png"; image.border: 3 3 3 3; image.middle: 0; fill.smooth: 0; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "shine_focused"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.offset: 0 0; rel2.offset: -1 -1; image.normal: "bg_shine"; fill.smooth: 0; align: 0.5 0.0; aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; color: 255 255 255 0; color_class: "SHINE"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "SHINE"; } } part { name: "shine_unfocused"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.offset: 0 0; rel2.offset: -1 -1; image.normal: "bg_shine"; fill.smooth: 0; align: 0.5 0.0; aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; color: 255 255 255 64; color_class: "SHINE"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 0; color_class: "SHINE"; } } part { name: "glintclip"; type: RECT; description { state: "default" 0.0; } description { state: "tab" 0.0; inherit: "default" 0.0; } } part { name: "glint"; mouse_events: 0; clip_to: "glintclip"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { relative: 1.0 0.0; offset: -1 0; } image.normal: "bg_glint.png"; color: 255 255 255 128; color_class: "SHINE"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "SHINE"; } } // }}} //////////////////////////////////////////////////////////////////// // tabs {{{ part { name: "tab_bevel_bottom"; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "tabmiddle"; rel1.relative: 0.0 1.0; image.normal: "tab_base_bottom.png"; image.border: 2 2 0 2; image.middle: 0; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top0"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tableft"; rel2.to_y: "tableft"; rel2.to_x: "tab_bevel_top1"; rel2.relative: 0.0 1.0; image.normal: "tab_base_l0.png"; image.border: 0 0 0 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top1"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tabmiddle"; rel1.offset: -4 0; rel2.to: "tabmiddle"; align: 0.0 0.0; max: 12 99999; min: 12 0; image.normal: "tab_base_l1.png"; image.border: 0 0 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top2"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel1.relative: 1.0 0.0; rel2.to: "tab_bevel_top3"; rel2.relative: 0.0 1.0; image.normal: "tab_base_m.png"; image.border: 0 0 4 0; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top3"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tabmiddle"; rel2.to: "tabmiddle"; rel2.offset: 3 -1; align: 1.0 0.0; max: 12 99999; min: 12 0; image.normal: "tab_base_r1.png"; image.border: 0 0 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top4"; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "tabright"; rel1.to_x: "tab_bevel_top3"; rel1.relative: 1.0 0.0; rel2.to: "tabright"; image.normal: "tab_base_r0.png"; image.border: 0 0 0 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg0"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top0"; rel2.to: "tab_bevel_top0"; image.normal: "tab_bg_l0.png"; image.border: 2 0 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg1"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image.normal: "tab_bg_l1.png"; image.border: 0 0 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg3"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image.normal: "tab_bg_r1.png"; image.border: 0 0 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg4"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top4"; rel2.to: "tab_bevel_top4"; image.normal: "tab_bg_r0.png"; image.border: 0 2 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "terminology.tabl.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "tableft"; rel2.to: "tableft"; fixed: 1 1; } } part { name: "terminology.tabr.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "tabright"; rel2.to: "tabright"; fixed: 1 1; } } part { name: "tab_bevel_shad0"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top0"; rel2.to: "tab_bevel_top0"; image.normal: "tab_shad_l0.png"; image.border: 0 0 0 10; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad1"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image.normal: "tab_shad_l1.png"; image.border: 0 0 10 10; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad3"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image.normal: "tab_shad_r1.png"; image.border: 0 0 10 10; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad4"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top4"; rel2.to: "tab_bevel_top4"; image.normal: "tab_shad_r0.png"; image.border: 0 0 0 10; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "focus,in"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "glint"; target: "glow"; target: "shine_unfocused"; target: "shine_focused"; after: "focus_in2"; sequence { action: STATE_SET "custom" 0.0; target: "shine_focused"; } } program { signal: "focused,set"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "glint"; target: "shine_focused"; target: "shine_unfocused"; sequence { action: STATE_SET "focused2" 0.0; target: "glow"; } sequence { action: STATE_SET "custom" 0.0; target: "shine_focused"; } } program { name: "focus_in2"; action: STATE_SET "focused2" 0.0; transition: DECELERATE 0.5; target: "glow"; } program { signal: "focus,out"; source: "terminology"; action: STATE_SET "default" 0.0; target: "glint"; target: "glow"; target: "shine_focused"; target: "shine_unfocused"; sequence { action: STATE_SET "custom" 0.0; target: "shine_unfocused"; } } program { signal: "tabbar,on"; source: "terminology"; action: STATE_SET "tab" 0.0; target: "viewregion"; target: "tableft"; target: "tabmiddle"; target: "tabright"; target: "bevel"; target: "glintclip"; target: "tab_bevel_bottom"; target: "tab_bevel_top0"; target: "tab_bevel_top1"; target: "tab_bevel_top2"; target: "tab_bevel_top3"; target: "tab_bevel_top4"; target: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; target: "tab_bevel_shad0"; target: "tab_bevel_shad1"; target: "tab_bevel_shad3"; target: "tab_bevel_shad4"; target: "tabtitle"; target: "tabclose"; } program { signal: "tabbar,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "viewregion"; target: "tableft"; target: "tabmiddle"; target: "tabright"; target: "bevel"; target: "glintclip"; target: "tab_bevel_bottom"; target: "tab_bevel_top0"; target: "tab_bevel_top1"; target: "tab_bevel_top2"; target: "tab_bevel_top3"; target: "tab_bevel_top4"; target: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; target: "tab_bevel_shad0"; target: "tab_bevel_shad1"; target: "tab_bevel_shad3"; target: "tab_bevel_shad4"; target: "tabtitle"; target: "tabclose"; } program { signal: "tab_btn,on"; source: "terminology"; action: STATE_SET "on" 0.0; target: "tab_btn_clip"; target: "tab_btn_bg"; target: "terminology.tab_btn"; } program { signal: "tab_btn,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "tab_btn_clip"; target: "tab_btn_bg"; target: "terminology.tab_btn"; } part { name: "tab_btn_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "tab_btn_bg"; mouse_events: 0; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; image.normal: "tab_bg_r0.png"; image.border: 0 2 4 4; fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_btn_glow_r0"; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tab_btn_r0"; rel2.to: "tab_btn_r0"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tab_btn_glow_r1"; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tab_btn_r1"; rel2.to: "tab_btn_r1"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tab_btn_glow_r2"; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tab_btn_r2"; rel2.to: "tab_btn_r2"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tab_btn_glow_r3"; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "tab_btn_r3"; rel2.to: "tab_btn_r3"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 32; color_class: "GLOW"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } part { name: "tab_btn_r0"; type: RECT; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; rel1.relative: 0.05 0.05; rel2.relative: 0.45 0.45; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tab_btn_r1"; type: RECT; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; rel1.relative: 0.55 0.05; rel2.relative: 0.95 0.45; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tab_btn_r2"; type: RECT; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; rel1.relative: 0.05 0.55; rel2.relative: 0.45 0.95; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "tab_btn_r3"; type: RECT; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; rel1.relative: 0.55 0.55; rel2.relative: 0.95 0.95; color: 255 255 255 32; color_class: "HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "HIGHLIGHT"; } } part { name: "terminology.tab_btn"; type: SWALLOW; clip_to: "tab_btn_clip"; mouse_events: 0; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel2.to_y: "tabmiddle"; visible: 0; align: 1.0 0.0; fixed: 1 1; } description { state: "on" 0.0; inherit: "default" 0.0; min: 16 16; visible: 1; } } part { name: "tab_btn_ev"; type: RECT; repeat_events: 1; clip_to: "tab_btn_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.tab_btn"; rel2.to: "terminology.tab_btn"; color: 0 0 0 0; } } program { signal: "mouse,in"; source: "tab_btn_ev"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.5; target: "tab_btn_r0"; target: "tab_btn_r1"; target: "tab_btn_r2"; target: "tab_btn_r3"; target: "tab_btn_glow_r0"; target: "tab_btn_glow_r1"; target: "tab_btn_glow_r2"; target: "tab_btn_glow_r3"; } program { signal: "mouse,out"; source: "tab_btn_ev"; action: STATE_SET "default" 0.0; transition: DECELERATE 2.0; target: "tab_btn_r0"; target: "tab_btn_r1"; target: "tab_btn_r2"; target: "tab_btn_r3"; target: "tab_btn_glow_r0"; target: "tab_btn_glow_r1"; target: "tab_btn_glow_r2"; target: "tab_btn_glow_r3"; } program { signal: "mouse,clicked,1"; source: "tab_btn_ev"; action: SIGNAL_EMIT "tab,go" "terminology"; } program { signal: "mouse,clicked,3"; source: "tab_btn_ev"; action: SIGNAL_EMIT "tab,new" "terminology"; } program { signal: "mouse,wheel,0,1"; source: "tab_btn_ev"; action: SIGNAL_EMIT "tab,prev" "terminology"; } program { signal: "mouse,wheel,0,-1"; source: "tab_btn_ev"; action: SIGNAL_EMIT "tab,next" "terminology"; } part { name: "terminology.tab"; type: SWALLOW; mouse_events: 0; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "terminology.tabl"; rel2.relative: 0.0 0.0; rel2.to_x: "terminology.tabr"; align: 0.5 0.0; visible: 0; fixed: 1 1; } } // some slot for dragable parts to stay in along top edge of bg part { name: "tabdrag"; type: SPACER; description { state: "default" 0.0; rel2.relative: 0.0 0.0; rel2.to_x: "terminology.tab_btn"; fixed: 1 1; } description { state: "hdrag,off" 0.0; inherit: "default" 0.0; } description { state: "drag_over" 0.0; inherit: "default" 0.0; rel1.relative: 0.3 0.0; rel2.to_x: "terminology.tabregion"; rel2.relative: 0.7 0.0; } } program { name: "drag_over_tabs,on"; signal: "drag_over_tabs,on"; source: "terminology"; action: STATE_SET "drag_over" 0.0; target: "tabdrag"; after: "drag_over_tabs,pulse"; } program { name: "drag_over_tabs,pulse"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "tabdrag"; after: "drag_over_tabs,pulse2"; } program { name: "drag_over_tabs,pulse2"; transition: ACCELERATE 0.5; action: STATE_SET "drag_over" 0.0; target: "tabdrag"; after: "drag_over_tabs,pulse"; } program { signal: "drag_over_tabs,off"; source: "terminology"; action: ACTION_STOP; target: "drag_over_tabs,on"; target: "drag_over_tabs,pulse"; target: "drag_over_tabs,pulse2"; after: "drag_over_tabs,off2"; } program { name: "drag_over_tabs,off2"; action: STATE_SET "default" 0.0; target: "tabdrag"; } program { signal: "hdrag,on"; source: "terminology"; action: STATE_SET "default" 0.0; target: "tabdrag"; target: "drag_left_pulse"; target: "drag_left_outline"; target: "drag_left_glow"; target: "drag_left_icon"; target: "drag_left_rect"; target: "drag_right_pulse"; target: "drag_right_outline"; target: "drag_right_glow"; target: "drag_right_icon"; target: "drag_right_rect"; target: "drag_top_pulse"; target: "drag_top_outline"; target: "drag_top_glow"; target: "drag_top_icon"; target: "drag_top_rect"; target: "drag_bottom_pulse"; target: "drag_bottom_outline"; target: "drag_bottom_glow"; target: "drag_bottom_icon"; target: "drag_bottom_rect"; } program { signal: "hdrag,off"; source: "terminology"; action: STATE_SET "hdrag,off" 0.0; target: "tabdrag"; target: "drag_left_pulse"; target: "drag_left_outline"; target: "drag_left_glow"; target: "drag_left_rect"; target: "drag_left_icon"; target: "drag_right_pulse"; target: "drag_right_outline"; target: "drag_right_glow"; target: "drag_right_rect"; target: "drag_right_icon"; target: "drag_top_pulse"; target: "drag_top_outline"; target: "drag_top_rect"; target: "drag_top_glow"; target: "drag_top_icon"; target: "drag_bottom_pulse"; target: "drag_bottom_outline"; target: "drag_bottom_glow"; target: "drag_bottom_rect"; target: "drag_bottom_icon"; } // left boundary of the active tab (dragable 0.0 -> 1.0) part { name: "terminology.tabl"; type: SPACER; dragable.x: 1 1 0; dragable.confine: "tabdrag"; description { state: "default" 0.0; rel2.relative: 1.0 0.0; max: 1 1; fixed: 1 1; } } // right boundary of the active tab (dragable 0.0 -> 1.0) part { name: "terminology.tabr"; type: SPACER; dragable.x: 1 1 0; dragable.confine: "tabdrag"; description { state: "default" 0.0; rel2.relative: 0.0 0.0; rel2.to_x: "tabdrag"; max: 1 1; fixed: 1 1; } } part { name: "tabgrouped"; type: IMAGE; scale: 1; description { state: "default" 0.0; aspect: 1.0 1.0; aspect_preference: BOTH; align: 0.0 0.5; min: 0 0; max: 0 0; fixed: 1 1; rel1 { to_x: "tab_bevel_top2"; to_y: "tabmiddle"; relative: 0.0 0.3; } rel2 { to_x: "tab_bevel_top2"; to_y: "tabmiddle"; relative: 1.0 0.7; } visible: 0; } description { state: "grouped" 0.0; inherit: "default" 0.0; min: 8 8; max: 32 32; image.normal: "tab_grouped"; rel1 { to_y: "tabmiddle"; to_x: "tab_bevel_top2"; relative: 0.0 0.3; } rel2 { to_y: "tabmiddle"; to_x: "tab_bevel_top2"; relative: 1.0 0.7; } color: 255 255 255 255; color_class: "FG"; visible: 1; } } program { signal: "grouped,on"; source: "terminology"; action: STATE_SET "grouped" 0.0; target: "tabgrouped"; } program { signal: "grouped,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "tabgrouped"; } part { name: "terminology.tab.title"; type: TEXT; mouse_events: 0; scale: 1; effect: SOFT_SHADOW BOTTOM; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; color3: 0 0 0 18; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.0; min: 0 1; } align: 0.5 0.0; rel1.to_x: "tab_bevel_top2"; rel1.offset: 0 2; rel2.to_x: "tab_bevel_top2"; rel2.offset: -1 2; rel2.relative: 1.0 0.0; visible: 0; fixed: 1 1; } } part { name: "tabtitle"; type: TEXT; mouse_events: 0; scale: 1; effect: SOFT_SHADOW BOTTOM; description { state: "default" 0.0; color: 255 255 255 255; color2: 255 255 255 255; color3: 255 255 255 18; color_class: "TAB_TITLE"; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.5; min: 0 1; text_source: "terminology.tab.title"; } align: 0.5 0.5; rel1 { to_x: "tabgrouped"; to_y: "tabmiddle"; relative: 1.0 0.0; offset: 2 0; } rel2 { to_x: "tabclose"; to_y: "tabmiddle"; relative: 0.0 1.0; } visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "bell" 0.0; inherit: "tab" 0.0; } } program { name: "tab,bell,on"; signal: "tab,bell,on"; source: "terminology"; action: STATE_SET "bell" 0.0; target: "tabtitle"; } program { name: "tab,bell,off"; signal: "tab,bell,off"; source: "terminology"; action: STATE_SET "tab" 0.0; target: "tabtitle"; } part { name: "tablimit0"; type: SPACER; description { state: "default" 0.0; rel1.to_y: "terminology.tab"; rel1.relative: 0.0 1.0; rel2.to_y: "terminology.tab.title"; align: 0.0 0.0; fixed: 1 1; } } part { name: "tableft"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel2.to_x: "terminology.tab"; rel2.to_y: "tabmiddle"; rel2.relative: 0.0 1.0; color: 0 0 0 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabright"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "terminology.tab"; rel1.relative: 1.0 0.0; //rel2.to_x: "terminology.tab_btn"; rel2.to_y: "tabmiddle"; //rel2.relative: 0.0 1.0; color: 0 0 0 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabmiddle"; type: RECT; description { state: "default" 0.0; rel1.to: "terminology.tab"; rel2.to_x: "terminology.tab"; rel2.to_y: "tablimit0"; rel2.offset: -1 0; color: 0 0 0 0; align: 0.0 0.0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabclose"; type: IMAGE; scale: 1; description { state: "default" 0.0; aspect: 1.0 1.0; aspect_preference: BOTH; align: 1.0 0.5; image.normal: "tab_close"; rel1 { to_y: "tabmiddle"; to_x: "tab_bevel_top3"; relative: 0.0 0.3; } rel2 { to_y: "tabmiddle"; to_x: "tab_bevel_top3"; relative: 0.0 0.7; } min: 8 8; max: 16 16; fixed: 1 1; visible: 0; } description { state: "tab" 0.0; inherit: "default" 0.0; color: 255 255 255 80; color_class: "FG"; visible: 1; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "FG"; visible: 1; } } program { signal: "mouse,in"; source: "tabclose"; action: STATE_SET "over" 0.0; target: "tabclose"; } program { signal: "mouse,out"; source: "tabclose"; action: STATE_SET "tab" 0.0; target: "tabclose"; } program { signal: "mouse,clicked,1"; source: "tabclose"; action: SIGNAL_EMIT "tab,close" "terminology"; } program { signal: "mouse,move"; source: "tabmiddle"; script { new y, h, drag_x, drag_w; new state[31]; \ new Float:vl; if (!get_mouse_buttons()) return; get_state(PART:"tabdrag", state, 30, vl); if (!strcmp(state, "hdrag,off")) { emit("tab,drag,move", "terminology"); return } get_geometry(PART:"tabdrag", drag_x, y, drag_w, h); if (drag_w > 0) { new m_x, m_y; new Float:mid; new Float:d; new Float:v1; new Float:v2; new Float:n; get_mouse(m_x, m_y); mid = m_x - drag_x; mid = mid / drag_w; get_drag(PART:"terminology.tabl", v1, n); get_drag(PART:"terminology.tabr", v2, n); d = (v2 - v1) / 2; set_drag(PART:"terminology.tabl", mid - d, 0.0); set_drag(PART:"terminology.tabr", mid + d, 0.0); emit("tab,hdrag", "terminology"); } } } program { signal: "mouse,down,1,double"; source: "tabmiddle"; action: SIGNAL_EMIT "tab,title" "terminology"; } program { signal: "mouse,down,1"; source: "tabmiddle"; action: SIGNAL_EMIT "tab,mouse,down" "terminology"; } program { signal: "mouse,up,1"; source: "tabmiddle"; action: SIGNAL_EMIT "tab,drag,stop" "terminology"; } // }}} //////////////////////////////////////////////////////////////////// // visual bell - spinning red siren light {{{ part { name: "bell_glow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; rel1.to: "bell_base"; rel2.to: "bell_base"; min: 1600 1600; fill.smooth: 0; image.normal: "bg_led_glow.png"; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } description { state: "done" 0.0; inherit: "default" 0.0; visible: 0; color: 255 255 255 0; min: 0 0; } } part { name: "bell_base"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; min: 32 32; max: 32 32; rel2.offset: -1 -1; align: 1.0 1.0; image.normal: "bg_led_base.png"; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "bell"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; rel1.to: "bell_base"; rel2.to: "bell_base"; image.normal: "bg_led.png"; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "bell_strobe"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; rel1.to: "bell"; rel2.to: "bell"; image.normal: "bg_led_strobe.png"; map { on: 1; smooth: 1; rotation.center: "bell"; } } description { state: "spin" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; map.rotation.z: 36.0; } description { state: "spin_done" 0.0; inherit: "default" 0.0; map.rotation.z: 720.0; } } program { signal: "bell,ring"; source: "terminology"; action: PLAY_SAMPLE "bell" 1.0 ALERT; } program { signal: "bell"; source: "terminology"; action: STATE_SET "default" 0.0; target: "bell_base"; target: "bell"; target: "bell_strobe"; target: "bell_glow"; after: "bell"; } program { name: "bell"; action: STATE_SET "visible" 0.0; target: "bell_base"; target: "bell_glow"; after: "bell2"; } program { name: "bell2"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.1; target: "bell"; target: "bell_glow"; after: "bell3"; after: "bell3.1"; } program { name: "bell3"; action: STATE_SET "spin" 0.0; transition: LINEAR 0.1; target: "bell_strobe"; after: "bell4.0"; after: "bell4.1"; after: "bell4.2"; } program { name: "bell3.1"; action: STATE_SET "done" 0.0; transition: DECELERATE 0.5; target: "bell_glow"; } program { name: "bell4.0"; action: STATE_SET "default" 0.0; transition: ACCELERATE 1.2; target: "bell"; } program { name: "bell4.1"; action: STATE_SET "default" 0.0; transition: ACCELERATE 1.6; target: "bell_base"; } program { name: "bell4.2"; action: STATE_SET "spin_done" 0.0; transition: LINEAR 0.9; target: "bell_strobe"; } // }}} //////////////////////////////////////////////////////////////////// // Drag target areas {{{ #define DRAG_TARGET(DIR, ICON, REL_ONE, REL_TWO) \ part { name: "drag_"##DIR##"_rect"; \ type: RECT; \ description { state: "default" 0.0; \ rel1.to: "drag_"##DIR##"_outline"; \ rel2.to: "drag_"##DIR##"_outline"; \ color: 255 255 255 40; \ color_class: "FG"; \ visible: 0; \ } \ description { state: "hdrag,off" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ part { name: "drag_"##DIR##"_pulse"; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1.offset: -4 -4; \ rel1.to: "drag_"##DIR##"_outline"; \ rel2.offset: 3 3; \ rel2.to: "drag_"##DIR##"_outline"; \ image { \ normal: "cr_pulse.png"; \ border: 4 4 4 4; \ } \ color: 255 255 255 0; \ color_class: "GLOW"; \ visible: 0; \ } \ description { state: "hdrag,off" 0.0; \ inherit: "default" 0.0; \ } \ description { state: "on" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 255; \ color_class: "GLOW"; \ visible: 1; \ } \ description { state: "out" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 0; \ color_class: "GLOW"; \ rel1.offset: -8 -8; \ rel2.offset: 7 7; \ visible: 1; \ } \ } \ part { name: "drag_"##DIR##"_glow"; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1.offset: -4 -4; \ rel1.to: "drag_"##DIR##"_outline"; \ rel2.offset: 3 3; \ rel2.to: "drag_"##DIR##"_outline"; \ image { \ normal: "cr_glow.png"; \ border: 9 9 9 9; \ } \ color: 255 255 255 40; \ color_class: "GLOW"; \ visible: 0; \ } \ description { state: "hdrag,off" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ description { state: "active" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 255; \ color_class: "GLOW"; \ visible: 1; \ } \ } \ part { name: "drag_"##DIR##"_outline"; \ mouse_events: 0; \ description { state: "default" 0.0; \ rel1.to: "viewregion"; \ rel1.relative: REL_ONE; \ rel2.to: "viewregion"; \ rel2.relative: REL_TWO; \ image { \ normal: "cr_out.png"; \ border: 3 3 3 3; \ } \ color: 255 255 255 80; \ color_class: "GLOW"; \ visible: 0; \ } \ description { state: "hdrag,off" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ description { state: "active" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 255; \ color_class: "HIGHLIGHT"; \ visible: 1; \ } \ } \ part { name: "drag_"##DIR##"_icon"; \ description { state: "default" 0.0; \ aspect: 1.0 1.0; aspect_preference: BOTH; \ align: 0.5 0.5; \ rel1.to: "drag_"##DIR##"_outline"; \ rel2.to: "drag_"##DIR##"_outline"; \ max: 80 80; \ image.normal: "icon_split_"##ICON##".png"; \ visible: 0; \ } \ description { state: "hdrag,off" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ program { \ name: "drag_"##DIR##",on"; \ signal: "drag_"##DIR##",on"; source: "terminology"; \ action: STATE_SET "active" 0.0; \ target: "drag_"##DIR##"_glow"; \ target: "drag_"##DIR##"_outline"; \ after: "drag_"##DIR##",on2"; \ after: "drag_"##DIR##"_pulse"; \ } \ program { name: "drag_"##DIR##",on2"; \ in: 0.5 0.0; \ action: STATE_SET "default" 0.0; \ transition: DECELERATE 0.2; \ target: "drag_"##DIR##"_glow"; \ target: "drag_"##DIR##"_outline"; \ after: "drag_"##DIR##",on3"; \ } \ program { name: "drag_"##DIR##",on3"; \ in: 0.5 0.0; \ action: STATE_SET "active" 0.0; \ target: "drag_"##DIR##"_glow"; \ target: "drag_"##DIR##"_outline"; \ after: "drag_"##DIR##",on2"; \ after: "drag_"##DIR##"_pulse"; \ } \ program { name: "drag_"##DIR##"_pulse"; \ action: STATE_SET "on" 0.0; \ target: "drag_"##DIR##"_pulse"; \ after: "drag_"##DIR##"_pulse2"; \ } \ program { name: "drag_"##DIR##"_pulse2"; \ action: STATE_SET "out" 0.0; \ transition: DECELERATE 0.4; \ target: "drag_"##DIR##"_pulse"; \ } \ program { \ signal: "drag_"##DIR##",off"; source: "terminology"; \ action: ACTION_STOP; \ target: "drag_"##DIR##",on"; \ target: "drag_"##DIR##",on2"; \ target: "drag_"##DIR##",on3"; \ target: "drag_"##DIR##"_pulse"; \ target: "drag_"##DIR##"_pulse2"; \ after: "drag_"##DIR##",off2"; \ } \ program { name: "drag_"##DIR##",off2"; \ action: STATE_SET "default" 0.0; \ target: "drag_"##DIR##"_glow"; \ target: "drag_"##DIR##"_outline"; \ } DRAG_TARGET(left, v, 0.0 0.2, 0.15 0.8) DRAG_TARGET(right, v, 0.85 0.2, 1.0 0.8) DRAG_TARGET(top, h, 0.2 0.0, 0.8 0.2) DRAG_TARGET(bottom, h, 0.2 0.8, 0.8 1.0) // }}} //////////////////////////////////////////////////////////////////// // popup media over the terminal (until dismissed) {{{ part { name: "popmedia_clip"; type: RECT; mouse_events: 1; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "popmedia_shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.popmedia"; rel2.to: "terminology.popmedia"; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; image.border_scale_by: 0.1; fill.smooth: 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.offset: -32 -32; rel2.offset: 31 31; image.border_scale_by: 1.0; visible: 1; } } part { name: "popmedia_fill"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.popmedia"; rel2.to: "terminology.popmedia"; image.normal: "pm_fill.png"; fill { size.relative: 0.0 0.0; size.offset: 64 64; } } } part { name: "terminology.popmedia"; type: SWALLOW; clip_to: "popmedia_clip"; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; visible: 0; } description { state: "image" 0.0; inherit: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; visible: 1; } description { state: "scale" 0.0; inherit: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; visible: 1; } description { state: "edje" 0.0; inherit: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; visible: 1; } description { state: "movie" 0.0; inherit: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; visible: 1; } } part { name: "popmedia_overlay"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.popmedia"; rel2.to: "terminology.popmedia"; image.normal: "pm_overlay.png"; fill.smooth: 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "popmedia_bevel"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.popmedia"; rel2.to: "terminology.popmedia"; image.normal: "bg_bevel.png"; image.border: 3 3 3 3; image.middle: 0; fill.smooth: 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "popmedia_glintclip"; type: RECT; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "popmedia_glint"; mouse_events: 0; clip_to: "popmedia_glintclip"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel1 { to: "terminology.popmedia"; relative: 0.0 0.0; offset: 0 0; } rel2 { to: "terminology.popmedia"; relative: 1.0 0.0; offset: -1 0; } image.normal: "bg_glint.png"; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "popmedia_shine"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.popmedia"; rel2.to: "terminology.popmedia"; image.normal: "bg_shine"; fill.smooth: 0; align: 0.5 0.0; aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "popmedia_dismiss"; type: RECT; mouse_events: 1; description { state: "default" 0.0; fixed: 1 1; color: 0 0 0 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "mouse,clicked,*"; source: "popmedia_dismiss"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "terminology.popmedia"; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; after: "popmedia_dismiss2"; } program { name: "popmedia_dismiss2"; action: SIGNAL_EMIT "popmedia,done" "terminology"; } program { signal: "popmedia,off"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; after: "popmedia_dismiss2"; } program { signal: "popmedia,image"; source: "terminology"; action: STATE_SET "image" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { signal: "popmedia,scale"; source: "terminology"; action: STATE_SET "scale" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { signal: "popmedia,edje"; source: "terminology"; action: STATE_SET "edje" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { signal: "popmedia,movie"; source: "terminology"; action: STATE_SET "movie" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { signal: "popmedia,image"; source: "terminology"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; } program { signal: "popmedia,scale"; source: "terminology"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; } program { signal: "popmedia,edje"; source: "terminology"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; } program { signal: "popmedia,movie"; source: "terminology"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "popmedia_clip"; target: "popmedia_dismiss"; target: "popmedia_shadow"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; } /* media busy */ part { name: "media"; 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; visible: 1; color: 255 255 255 255; } } part { name: "knob"; clip_to: "media"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "media_busy_knob.png"; min: 40 40; max: 40 40; align: 1.0 1.0; } } part { name: "knob_spinner"; clip_to: "media"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; color: 255 255 255 255; color_class: "GLOW"; rel1.to: "knob"; rel2.to: "knob"; image.normal: "media_busy_spinner.png"; map { on: 1; smooth: 1; rotation.center: "knob"; } } description { state: "spin" 0.0; inherit: "default" 0.0; visible: 1; map.rotation.z: 360; } } program { signal: "busy"; source: "terminology"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "media"; } program { name: "spin1"; signal: "busy"; source: "terminology"; action: STATE_SET "spin" 0.0; transition: LINEAR 0.5; target: "knob_spinner"; after: "spin2"; } program { name: "spin2"; action: STATE_SET "default" 0.0; target: "knob_spinner"; after: "spin1"; } program { signal: "done"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 1.5; target: "media"; } // }}} } }