/* overlay to default to make theme easier on the eyes, less effects */ #ifndef BG_COLOR_NO_ALPHA #define BG_COLOR_NO_ALPHA 48 48 48 #endif #ifndef BG_COLOR #define BG_COLOR BG_COLOR_NO_ALPHA 255 #endif #ifndef FG_COLOR_NO_ALPHA #define FG_COLOR_NO_ALPHA 170 170 170 #endif #ifndef FG_COLOR #define FG_COLOR FG_COLOR_NO_ALPHA 255 #endif #ifndef BG_COLOR_TRANSLUCENT #define BG_COLOR_TRANSLUCENT BG_COLOR_NO_ALPHA 200 #endif #ifndef BG_COLOR_BELL_NO_ALPHA #define BG_COLOR_BELL_NO_ALPHA BG_COLOR_NO_ALPHA #endif #ifndef FG_COLOR_BELL_NO_ALPHA #define FG_COLOR_BELL_NO_ALPHA 255 153 51 #endif collections { group { name: "terminology/background"; #ifndef INHERIT_PROVIDE_OWN_COLORS color_classes { #define PROVIDE_CURSOR color_class { name: "CURSOR"; color: 220 220 220 255; } #include "default/colors.edc" #undef PROVIDE_CURSOR } #endif images { image: "bg_bevel.png" COMP; image: "bg_shine.png" COMP; image: "bg_glint.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; image: "cr_out.png" COMP; image: "pm_shadow.png" COMP; image: "pm_overlay.png" COMP; image: "pm_fill.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: "cr_glow.png" COMP; image: "cr_pulse.png" COMP; } 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) || (id != 1)) return; v = (getarg(2) * 255) / 100; 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); } } parts { //////////////////////////////////////////////////////////////////// // background handling part { name: "focusclip"; type: RECT; clip_to: "bellclip"; description { state: "default" 0.0; } description { state: "unfocused" 0.0; color: 255 255 255 200; color_class: "FG"; } } program { signal: "focus,in"; source: "terminology"; action: STATE_SET "default" 0.0; transition: ACCELERATE 0.1; target: "focusclip"; } program { signal: "focused,set"; source: "terminology"; action: STATE_SET "default" 0.0; target: "focusclip"; } program { signal: "focus,out"; source: "terminology"; action: STATE_SET "unfocused" 0.0; transition: ACCELERATE 0.1; target: "focusclip"; } part { name: "base"; type: RECT; mouse_events: 1; clip_to: "focusclip"; description { state: "default" 0.0; color: 255 255 255 255; color_class: "BG"; } } //////////////////////////////////////////////////////////////////// // actual text grid for chars, cursors, selectiond etc. goes here 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; 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; color_class: "GLOW_HIGHLIGHT"; 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; color_class: "GLOW_HIGHLIGHT"; } } part { name: "tabcount_r0"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; 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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_HIGHLIGHT"; } } part { name: "tabcount_r1"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; 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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_HIGHLIGHT"; } } part { name: "tabcount_r2"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; 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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_HIGHLIGHT"; } } part { name: "tabcount_r3"; type: RECT; clip_to: "tabcount_clip"; description { state: "default" 0.0; 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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_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: "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: "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"; } // }}} //////////////////////////////////////////////////////////////////// // tabs {{{ part { name: "tab_bevel_bg0"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tableft"; rel2.to_y: "tableft"; rel2.to_x: "tab_bevel_bg1"; rel2.relative: 0.0 1.0; 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: "tabmiddle"; rel1.offset: -4 0; rel2.to: "tabmiddle"; align: 0.0 0.0; max: 12 99999; min: 12 0; 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_bg2"; type: SPACER; description { state: "default" 0.0; rel1.to: "tab_bevel_bg1"; rel1.relative: 1.0 0.0; rel2.to: "tab_bevel_bg3"; rel2.relative: 0.0 1.0; fixed: 1 1; } } part { name: "tab_bevel_bg3"; 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_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_y: "tabright"; rel1.to_x: "tab_bevel_bg3"; rel1.relative: 1.0 0.0; rel2.to: "tabright"; 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; } } program { signal: "tabbar,on"; source: "terminology"; action: STATE_SET "tab" 0.0; target: "viewregion"; target: "tableft"; target: "tabmiddle"; target: "tabright"; target: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; 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: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; 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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_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: "GLOW_HIGHLIGHT"; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_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"; color: 250 0 250 255; 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 stayt 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.2 0.0; rel2.to_x: "terminology.tabregion"; rel2.relative: 0.8 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.6; target: "tabdrag"; after: "drag_over_tabs,pulse2"; } program { name: "drag_over_tabs,pulse2"; transition: ACCELERATE 0.6; 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_rect"; target: "drag_right_pulse"; target: "drag_right_outline"; target: "drag_right_rect"; target: "drag_top_pulse"; target: "drag_top_outline"; target: "drag_top_rect"; target: "drag_bottom_pulse"; target: "drag_bottom_outline"; 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_rect"; target: "drag_right_pulse"; target: "drag_right_outline"; target: "drag_right_rect"; target: "drag_top_pulse"; target: "drag_top_outline"; target: "drag_top_rect"; target: "drag_bottom_pulse"; target: "drag_bottom_outline"; target: "drag_bottom_rect"; } // 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_bg2"; to_y: "tabmiddle"; relative: 0.0 0.3; offset: -1 0; } rel2 { to_x: "tab_bevel_bg2"; 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_bg2"; relative: 0.0 0.3; } rel2 { to_y: "tabmiddle"; to_x: "tab_bevel_bg2"; 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; mouse_events: 0; description { state: "default" 0.0; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.0; min: 0 1; } align: 0.5 0.0; rel1.to_x: "tabgrouped"; rel1.offset: 2 2; rel1.relative: 1.0 0.0; rel2.to_x: "tabgrouped"; 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; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; color_class: "FG"; 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"; rel1.to_y: "tabmiddle"; rel1.relative: 1.0 0.0; rel1.offset: 2 0; rel2.to_x: "tabclose"; rel2.to_y: "tabmiddle"; rel2.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_y: "tabmiddle"; 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_bg3"; relative: 0.0 0.3; } rel2 { to_y: "tabmiddle"; to_x: "tab_bevel_bg3"; 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,up,1"; source: "tabmiddle"; action: SIGNAL_EMIT "tab,drag,stop" "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,mouse,up" "terminology"; } // }}} //////////////////////////////////////////////////////////////////// // visual bell - spinning red siren light {{{ part { name: "bellclip"; type: RECT; description { state: "default" 0.0; } description { state: "pulse1" 0.0; inherit: "default" 0.0; color: 255 255 255 220; color_class: "BG"; } description { state: "pulse2" 0.0; inherit: "default" 0.0; } } part { name: "belloverlay"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "pulse1" 0.0; inherit: "default" 0.0; } description { state: "pulse2" 0.0; inherit: "default" 0.0; color: 255 255 255 32; color_class: "BG"; visible: 1; } } 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; visible: 0; color: 255 255 255 0; map.rotation.z: 684.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: "bellclip"; target: "belloverlay"; after: "bellclip_bell.2"; } program { name: "bellclip_bell.2"; action: STATE_SET "pulse1" 0.0; transition: ACCELERATE 0.2; target: "bellclip"; target: "belloverlay"; after: "bellclip_bell.3"; } program { name: "bellclip_bell.3"; action: STATE_SET "pulse2" 0.0; transition: ACCELERATE 0.2; target: "bellclip"; target: "belloverlay"; after: "bellclip_bell.4"; } program { name: "bellclip_bell.4"; action: STATE_SET "default" 0.0; transition: ACCELERATE 0.2; target: "bellclip"; target: "belloverlay"; } program { name: "bell0"; signal: "bell"; source: "terminology"; action: STATE_SET "default" 0.0; target: "bell_base"; target: "bell"; target: "bell_strobe"; after: "bell"; } program { name: "bell"; action: STATE_SET "visible" 0.0; target: "bell_base"; after: "bell2"; } program { name: "bell2"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.1; target: "bell"; after: "bell3"; } 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: "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, 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 64; \ color_class: "GLOW_HIGHLIGHT"; \ 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_HIGHLIGHT"; \ visible: 1; \ } \ description { state: "out" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 0; \ color_class: "GLOW_HIGHLIGHT"; \ rel1.offset: -8 -8; \ rel2.offset: 7 7; \ 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_HIGHLIGHT"; \ 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_HIGHLIGHT"; \ visible: 1; \ } \ } \ program { \ name: "drag_"##DIR##",on"; \ signal: "drag_"##DIR##",on"; source: "terminology"; \ action: STATE_SET "active" 0.0; \ 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.5; \ 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##"_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.5; \ 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##"_outline"; \ } DRAG_TARGET(left, 0.0 0.2, 0.15 0.8) DRAG_TARGET(right, 0.85 0.2, 1.0 0.8) DRAG_TARGET(top, 0.2 0.0, 0.8 0.2) DRAG_TARGET(bottom, 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 5 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.png"; fill.smooth: 0; align: 0.5 0.0; aspect: (255/120) (255/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 { name: "popmedia_dismiss"; 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_fill"; 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 { name: "popmedia_off"; 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_fill"; target: "popmedia_overlay"; target: "popmedia_bevel"; target: "popmedia_glint"; target: "popmedia_glintclip"; target: "popmedia_shine"; after: "popmedia_dismiss2"; } program { name: "popmedia_img"; signal: "popmedia,image"; source: "terminology"; action: STATE_SET "image" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { name: "popmedia_scale"; signal: "popmedia,scale"; source: "terminology"; action: STATE_SET "scale" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { name: "popmedia_edje"; signal: "popmedia,edje"; source: "terminology"; action: STATE_SET "edje" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { name: "popmedia_mov"; signal: "popmedia,movie"; source: "terminology"; action: STATE_SET "movie" 0.0; transition: DECELERATE 0.2; target: "terminology.popmedia"; } program { name: "popmedia_img2"; 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 { name: "popmedia_scale2"; 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 { name: "popmedia_edje2"; 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 { name: "popmedia_mov2"; 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"; } // }}} } } group { name: "terminology/tabbar_back"; // {{{ images { image: "tab_other_l.png" COMP; image: "tab_other_m.png" COMP; image: "tab_other_r.png" COMP; image: "tab_shad_l2.png" COMP; image: "tab_shad_r2.png" COMP; } 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; } } parts { part { name: "tab_bevel_shad1"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_base_top1"; rel2.to: "tab_base_top1"; image.normal: "tab_shad_l2.png"; image.border: 0 0 10 10; fill.smooth: 0; } } part { name: "tab_bevel_shad3"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_base_top3"; rel2.to: "tab_base_top3"; image.normal: "tab_shad_r2.png"; image.border: 0 0 10 10; fill.smooth: 0; } } part { name: "tab_base_top1"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; align: 0.0 0.0; rel1.offset: -4 0; max: 12 99999; min: 12 0; image.normal: "tab_other_l.png"; image.border: 0 0 4 4; fill.smooth: 0; } } part { name: "tab_base_top2"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_base_top1"; rel1.relative: 1.0 0.0; rel2.to: "tab_base_top3"; rel2.relative: 0.0 1.0; image.normal: "tab_other_m.png"; image.border: 0 0 4 4; fill.smooth: 0; } } part { name: "tab_base_top3"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; align: 1.0 0.0; rel2.offset: 3 -1; max: 12 99999; min: 12 0; image.normal: "tab_base_r1.png"; image.normal: "tab_other_r.png"; image.border: 0 0 4 4; fill.smooth: 0; } } 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: "tab_base_top2"; relative: 0.0 0.3; offset: -1 0; } rel2 { to: "tab_base_top2"; 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: "tab_base_top2"; relative: 0.0 0.3; } rel2 { to: "tab_base_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.title"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.5; min: 0 1; } align: 0.5 0.5; color: 255 255 255 255; color_class: "TAB_TITLE"; rel1 { to_x: "tabgrouped"; to_y: "tab_base_top2"; relative: 1.0 0.0; offset: 2 0; } rel2.to: "tab_base_top2"; } description { state: "bell" 0.0; inherit: "default" 0.0; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; rel2.offset: -1 -2; } } part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } } program { signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "tab,activate" "terminology"; } program { name: "bell"; signal: "bell"; source: "terminology"; action: STATE_SET "bell" 0.0; target: "terminology.title"; } program { name: "bell,off"; signal: "bell,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "terminology.title"; } } } // }}} ////////////////////////////////////////////////////////////////////////////// //// the cursor to show where text is typed group { name: "terminology/cursor"; // {{{ images { image: "cr_key.png" COMP; image: "cr_out.png" COMP; } sounds { sample { name: "key-tap1" LOSSY 64; source: "kbd-tap.wav"; } sample { name: "key-tap2" LOSSY 64; source: "kbd-tap2.wav"; } sample { name: "key-tap3" LOSSY 64; source: "kbd-tap3.wav"; } sample { name: "key-tap4" LOSSY 64; source: "kbd-tap4.wav"; } sample { name: "key-tap5" LOSSY 64; source: "kbd-tap5.wav"; } } parts { part { name: "pulsclip"; type: RECT; description { state: "default" 0.0; } description { state: "pulse" 0.0; color: 255 255 255 80; color_class: "CURSOR"; } } part { name: "key"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "outline"; offset: -5 -5; } rel2 { to: "outline"; offset: 4 4; } image { normal: "cr_key.png"; border: 4 4 4 4; } color: 255 255 255 0; color_class: "CURSOR"; } description { state: "on" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } description { state: "out" 0.0; inherit: "default" 0.0; color: 255 255 255 0; color_class: "CURSOR"; } } part { name: "outline"; mouse_events: 0; clip_to: "pulsclip"; description { state: "default" 0.0; image { normal: "cr_out.png"; border: 3 3 3 3; } color: 255 255 255 64; color_class: "CURSOR"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } } programs { program { name: "focus_in_noblink"; signal: "focus,in,noblink"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; } program { name: "focus_in"; signal: "focus,in"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; after: "pulse-prepare"; } program { name: "pulse-prepare"; action: STATE_SET "default" 0.0; target: "pulsclip"; after: "pulse"; } program { name: "pulse"; action: STATE_SET "pulse" 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse2"; } program { name: "pulse2"; action: STATE_SET "default" 0.0; in: 1.5 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse"; } program { name: "focus_out"; signal: "focus,out"; source: "terminology"; action: ACTION_STOP; target: "focus_in"; target: "pulse"; target: "pulse2"; after: "focus_out2"; } program { name: "focus_out2"; action: STATE_SET "default" 0.0; target: "outline"; target: "pulsclip"; } program { signal: "key,down"; source: "terminology"; script { new buf[32]; snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); run_program(get_program_id(buf)); } } program { name: "key-down1"; action: PLAY_SAMPLE "key-tap1" 1.0; } program { name: "key-down2"; action: PLAY_SAMPLE "key-tap2" 1.0; } program { name: "key-down3"; action: PLAY_SAMPLE "key-tap3" 1.0; } program { name: "key-down4"; action: PLAY_SAMPLE "key-tap4" 1.0; } program { name: "key-down5"; action: PLAY_SAMPLE "key-tap5" 1.0; } program { name: "key"; signal: "key,down"; source: "terminology"; action: STATE_SET "default" 0.0; target: "key"; after: "key2"; } program { name: "key2"; action: STATE_SET "on" 0.0; target: "key"; after: "key3"; } program { name: "key3"; action: STATE_SET "out" 0.0; transition: DECELERATE 0.3; target: "key"; } } } } // }}} ////////////////////////////////////////////////////////////////////////////// //// the cursor as an underline to show where text is typed group { name: "terminology/cursor_underline"; // {{{ images { image: "cr_key.png" COMP; image: "cr_underline_out.png" COMP; } sounds { sample { name: "key-tap1" LOSSY 64; source: "kbd-tap.wav"; } sample { name: "key-tap2" LOSSY 64; source: "kbd-tap2.wav"; } sample { name: "key-tap3" LOSSY 64; source: "kbd-tap3.wav"; } sample { name: "key-tap4" LOSSY 64; source: "kbd-tap4.wav"; } sample { name: "key-tap5" LOSSY 64; source: "kbd-tap5.wav"; } } parts { part { name: "pulsclip"; type: RECT; description { state: "default" 0.0; } description { state: "pulse" 0.0; color: 255 255 255 80; color_class: "CURSOR"; } } part { name: "key"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "outline"; offset: -5 -5; } rel2 { to: "outline"; offset: 4 4; } image { normal: "cr_key.png"; border: 4 4 4 4; } color: 255 255 255 0; color_class: "CURSOR"; } description { state: "on" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } description { state: "out" 0.0; inherit: "default" 0.0; color: 255 255 255 0; color_class: "CURSOR"; } } part { name: "outline"; mouse_events: 0; clip_to: "pulsclip"; description { state: "default" 0.0; image { normal: "cr_underline_out.png"; border: 3 3 3 3; } color: 255 255 255 64; color_class: "CURSOR"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } } programs { program { name: "focus_in_noblink"; signal: "focus,in,noblink"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; } program { name: "focus_in"; signal: "focus,in"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; after: "pulse-prepare"; } program { name: "pulse-prepare"; action: STATE_SET "default" 0.0; target: "pulsclip"; after: "pulse"; } program { name: "pulse"; action: STATE_SET "pulse" 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse2"; } program { name: "pulse2"; action: STATE_SET "default" 0.0; in: 1.5 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse"; } program { name: "focus_out"; signal: "focus,out"; source: "terminology"; action: ACTION_STOP; target: "focus_in"; target: "pulse"; target: "pulse2"; after: "focus_out2"; } program { name: "focus_out2"; action: STATE_SET "default" 0.0; target: "outline"; target: "pulsclip"; } program { signal: "key,down"; source: "terminology"; script { new buf[32]; snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); run_program(get_program_id(buf)); } } program { name: "key-down1"; action: PLAY_SAMPLE "key-tap1" 1.0; } program { name: "key-down2"; action: PLAY_SAMPLE "key-tap2" 1.0; } program { name: "key-down3"; action: PLAY_SAMPLE "key-tap3" 1.0; } program { name: "key-down4"; action: PLAY_SAMPLE "key-tap4" 1.0; } program { name: "key-down5"; action: PLAY_SAMPLE "key-tap5" 1.0; } program { name: "key"; signal: "key,down"; source: "terminology"; action: STATE_SET "default" 0.0; target: "key"; after: "key2"; } program { name: "key2"; action: STATE_SET "on" 0.0; target: "key"; after: "key3"; } program { name: "key3"; action: STATE_SET "out" 0.0; transition: DECELERATE 0.3; target: "key"; } } } } // }}} ////////////////////////////////////////////////////////////////////////////// //// the cursor as a bar to show where text is typed group { name: "terminology/cursor_bar"; // {{{ images { image: "cr_key.png" COMP; image: "cr_bar_out.png" COMP; } sounds { sample { name: "key-tap1" LOSSY 64; source: "kbd-tap.wav"; } sample { name: "key-tap2" LOSSY 64; source: "kbd-tap2.wav"; } sample { name: "key-tap3" LOSSY 64; source: "kbd-tap3.wav"; } sample { name: "key-tap4" LOSSY 64; source: "kbd-tap4.wav"; } sample { name: "key-tap5" LOSSY 64; source: "kbd-tap5.wav"; } } parts { part { name: "pulsclip"; type: RECT; description { state: "default" 0.0; } description { state: "pulse" 0.0; color: 255 255 255 80; color_class: "CURSOR"; } } part { name: "key"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "outline"; offset: -5 -5; } rel2 { to: "outline"; offset: 4 4; } image { normal: "cr_key.png"; border: 4 4 4 4; } color: 255 255 255 0; color_class: "CURSOR"; } description { state: "on" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } description { state: "out" 0.0; inherit: "default" 0.0; color: 255 255 255 0; color_class: "CURSOR"; } } part { name: "outline"; mouse_events: 0; clip_to: "pulsclip"; description { state: "default" 0.0; image { normal: "cr_bar_out.png"; border: 3 3 3 3; } color: 255 255 255 64; color_class: "CURSOR"; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "CURSOR"; } } programs { program { name: "focus_in_noblink"; signal: "focus,in,noblink"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; } program { name: "focus_in"; signal: "focus,in"; source: "terminology"; action: STATE_SET "focused" 0.0; target: "outline"; after: "pulse-prepare"; } program { name: "pulse-prepare"; action: STATE_SET "default" 0.0; target: "pulsclip"; after: "pulse"; } program { name: "pulse"; action: STATE_SET "pulse" 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse2"; } program { name: "pulse2"; action: STATE_SET "default" 0.0; in: 1.5 0.0; transition: DECELERATE 0.5; target: "pulsclip"; after: "pulse"; } program { name: "focus_out"; signal: "focus,out"; source: "terminology"; action: ACTION_STOP; target: "focus_in"; target: "pulse"; target: "pulse2"; after: "focus_out2"; } program { name: "focus_out2"; action: STATE_SET "default" 0.0; target: "outline"; target: "pulsclip"; } program { signal: "key,down"; source: "terminology"; script { new buf[32]; snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); run_program(get_program_id(buf)); } } program { name: "key-down1"; action: PLAY_SAMPLE "key-tap1" 1.0; } program { name: "key-down2"; action: PLAY_SAMPLE "key-tap2" 1.0; } program { name: "key-down3"; action: PLAY_SAMPLE "key-tap3" 1.0; } program { name: "key-down4"; action: PLAY_SAMPLE "key-tap4" 1.0; } program { name: "key-down5"; action: PLAY_SAMPLE "key-tap5" 1.0; } program { name: "key"; signal: "key,down"; source: "terminology"; action: STATE_SET "default" 0.0; target: "key"; after: "key2"; } program { name: "key2"; action: STATE_SET "on" 0.0; target: "key"; after: "key3"; } program { name: "key3"; action: STATE_SET "out" 0.0; transition: DECELERATE 0.3; target: "key"; } } } } // }}} ////////////////////////////////////////////////////////////////////////////// //// an object to contain the selection tool used for selecting tabs (with //// a glow grid of terms group { name: "terminology/sel/base"; // {{{ images { image: "pm_fill.png" COMP; } script { public message(Msg_Type:type, id, ...) { if ((type != MSG_INT) || (id != 1)) return; if (getarg(2) < 100) set_state(PART:"fill", "translucent", 0.0); else set_state(PART:"fill", "default", 0.0); } } parts { //////////////////////////////////////////////////////////////////// // background and shadows part { name: "fill"; mouse_events: 0; description { state: "default" 0.0; image.normal: "pm_fill.png"; fill { size.relative: 0.0 0.0; size.offset: 64 64; } } description { state: "translucent" 0.0; inherit: "default" 0.0; visible: 0; } } program { signal: "translucent,on"; source: "terminology"; action: STATE_SET "translucent" 0.0; target: "fill"; } program { signal: "translucent,off"; source: "terminology"; action: STATE_SET "default" 0.0; target: "fill"; } //////////////////////////////////////////////////////////////////// // content (where the grid of terms goes) part { name: "clip"; type: RECT; description { state: "default" 0.0; } } part { name: "terminology.content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; } } } } // }}} group { name: "terminology/sel/item"; // {{{ images { image: "bg_bevel.png" COMP; image: "pm_shadow.png" COMP; image: "cr_glow.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; } parts { //////////////////////////////////////////////////////////////////// // base background and selection image part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; color: 128 128 128 255; } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "terminology.content"; rel1.offset: -5 -5; rel2.offset: 4 4; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; image.border_scale_by: 0.1; color: 255 255 255 128; fill.smooth: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; rel1.offset: -40 -40; rel2.offset: 39 39; image.border_scale_by: 1.0; color: 255 255 255 255; } } part { name: "glow"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 0; color_class: "GLOW"; } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW"; } } //////////////////////////////////////////////////////////////////// // swallowed terminal content + bg inside it part { name: "base"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; color_class: "BG"; rel1.to: "terminology.content"; rel2.to: "terminology.content"; } } part { name: "terminology.content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; } description { state: "selected" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } program { signal: "selected"; source: "terminology"; action: STATE_SET "selected" 0.0; transition: DECELERATE 0.2 CURRENT; target: "terminology.content"; target: "terminology.label"; target: "shadow"; target: "clip"; target: "glow"; } program { signal: "selected,start"; source: "terminology"; action: STATE_SET "selected" 0.0; target: "terminology.content"; target: "terminology.label"; target: "shadow"; target: "clip"; target: "glow"; } program { signal: "unselected"; source: "terminology"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.4 CURRENT; target: "terminology.content"; target: "terminology.label"; target: "shadow"; target: "clip"; target: "glow"; } //////////////////////////////////////////////////////////////////// // fancy stuff over the top of the terminal for shading and labelling part { name: "bevel"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "terminology.content"; image.normal: "bg_bevel.png"; image.border: 3 3 5 3; image.middle: 0; fill.smooth: 0; } } part { name: "terminology.label"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; color: 255 255 255 255; color_class: "GLOW_TXT_HIGHLIGHT"; align: 0.5 1.0; text { font: "Sans"; size: 10; align: 0.5 1.0; min: 0 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_TXT_HIGHLIGHT"; text { font:"Sans:style=Bold"; } } } //////////////////////////////////////////////////////////////////// // visual bell - spinning red siren light part { name: "bell_base"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; color_class: "FG"; min: 32 32; max: 32 32; rel1.to: "terminology.content"; rel2.to: "terminology.content"; 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; color_class: "FG"; } } part { name: "bell"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; color: 255 255 255 0; color_class: "FG"; 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; color_class: "FG"; } } 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; color_class: "FG"; map.rotation.z: 36.0; } description { state: "spin_done" 0.0; inherit: "spin" 0.0; map.rotation.z: 720.0; } description { state: "spin_done2" 0.0; inherit: "spin" 0.0; map.rotation.z: 1440.0; } } program { signal: "bell"; source: "terminology"; action: STATE_SET "default" 0.0; target: "bell_base"; target: "bell"; target: "bell_strobe"; after: "bell"; } program { name: "bell"; action: STATE_SET "visible" 0.0; target: "bell_base"; after: "bell2"; } program { name: "bell2"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.1; target: "bell"; after: "bell3"; } program { name: "bell3"; action: STATE_SET "spin" 0.0; transition: LINEAR 0.1; target: "bell_strobe"; after: "bell4.2"; } program { name: "bell4.2"; action: STATE_SET "spin_done" 0.0; transition: LINEAR 0.9; target: "bell_strobe"; after: "bell4.3"; } program { name: "bell4.3"; action: STATE_SET "spin_done2" 0.0; transition: LINEAR 1.0; target: "bell_strobe"; after: "bell4.4"; } program { name: "bell4.4"; action: STATE_SET "spin_done" 0.0; target: "bell_strobe"; after: "bell4.3"; } } } // }}} ////////////////////////////////////////////////////////////////////////////// //// an object overlayd on text that is a link group { name: "terminology/link"; // {{{ images { image: "lk_bottom.png" COMP; } parts { part { name: "bottom"; mouse_events: 0; description { state: "default" 0.0; image.normal: "lk_bottom.png"; image.border: 9 9 0 0; align: 0.5 1.0; min: 20 8; rel1.offset: -6 0; rel1.relative: 0.0 1.0; rel2.offset: 5 0; color: 255 255 255 255; color_class: "GLOW"; fill.smooth: 0; } } part { name: "event"; type: RECT; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } } } // }}} group { name: "terminology/tab_drag_thumb"; // {{{ images { image: "bg_bevel.png" COMP; image: "pm_shadow.png" COMP; image: "cr_glow.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; } parts { //////////////////////////////////////////////////////////////////// // base background and selection image part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; color: 255 255 255 255; } } part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "terminology.content"; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; fill.smooth: 0; rel1.offset: -40 -40; rel2.offset: 39 39; image.border_scale_by: 1.0; color: 255 255 255 255; } } part { name: "glow"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 255 255 255 255; color_class: "GLOW"; } } //////////////////////////////////////////////////////////////////// // swallowed terminal content + bg inside it part { name: "base"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; color_class: "BG"; rel1.to: "terminology.content"; rel2.to: "terminology.content"; } } part { name: "terminology.content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } //////////////////////////////////////////////////////////////////// // fancy stuff over the top of the terminal for shading and title part { name: "bevel"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "terminology.content"; rel2.to: "terminology.content"; image.normal: "bg_bevel.png"; image.border: 3 3 5 3; image.middle: 0; fill.smooth: 0; } } part { name: "terminology.title"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to: "terminology.content"; rel2.to: "terminology.content"; color: 255 255 255 255; color_class: "GLOW_TXT_HIGHLIGHT"; align: 0.5 1.0; text { font: "Sans"; size: 10; align: 0.5 1.0; min: 0 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color_class: "GLOW_TXT_HIGHLIGHT"; text { font:"Sans:style=Bold"; } } } //////////////////////////////////////////////////////////////////// // visual bell - spinning red siren light 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; rel1.to: "terminology.content"; rel2.to: "terminology.content"; 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: "spin" 0.0; map.rotation.z: 720.0; } description { state: "spin_done2" 0.0; inherit: "spin" 0.0; map.rotation.z: 1440.0; } } program { signal: "bell"; source: "terminology"; action: STATE_SET "default" 0.0; target: "bell_base"; target: "bell"; target: "bell_strobe"; after: "bell"; } program { name: "bell"; action: STATE_SET "visible" 0.0; target: "bell_base"; after: "bell2"; } program { name: "bell2"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.1; target: "bell"; after: "bell3"; } program { name: "bell3"; action: STATE_SET "spin" 0.0; transition: LINEAR 0.1; target: "bell_strobe"; after: "bell4.2"; } program { name: "bell4.2"; action: STATE_SET "spin_done" 0.0; transition: LINEAR 0.9; target: "bell_strobe"; after: "bell4.3"; } program { name: "bell4.3"; action: STATE_SET "spin_done2" 0.0; transition: LINEAR 1.0; target: "bell_strobe"; after: "bell4.4"; } program { name: "bell4.4"; action: STATE_SET "spin_done" 0.0; target: "bell_strobe"; after: "bell4.3"; } } } // }}} }