group { name: "e/fileman/default/list/variable"; alias: "e/fileman/default/list/fixed"; // data.item: "stacking" "above"; // data.item: "stacking" "below"; // data.item: "selectraise" "on"; images.image: "speaker_vol.png" COMP; images.image: "sym_icon_op_ask.png" COMP; images.image: "sym_icon_op_copy.png" COMP; images.image: "sym_icon_op_move.png" COMP; script { public longpressed; } parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color_class: "/bg/normal/list/item"; } } part { name: "sel_base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color_class: "/bg/selected/list/item"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "e.text.label"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.offset: 4 4; rel1.relative: 1.0 0.0; rel1.to_x: "icon0"; rel2.offset: -5 -5; rel2.relative: 1.0 1.0; color_class: "/fg/normal/list/item"; text { font: FN; size: 10; min: 0 1; align: 0.0 0.5; text_class: "ilist_item"; ellipsis: 0.0; } offscale; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/list/item"; } } ////////////////////////// part { name: "icon0"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 20 20; max: 20 20; align: 0.0 0.5; rel1.offset: 4 4; rel2.relative: 0.0 1.0; rel2.offset: 4 -5; offscale; } } part { name: "icon"; type: RECT; description { state: "default" 0.0; rel.to: "icon0"; } description { state: "start" 0.0; inherit: "default" 0.0; max: 99999 0; } description { state: "visible" 0.0; inherit: "default" 0.0; } } part { name: "icon_mono"; type: RECT; description { state: "default" 0.0; rel.to: "icon"; color_class: "/fg/normal/grid/item"; } description { state: "selected" 0.0; color_class: "/fg/selected/grid/item"; } } part { name: "e.swallow.icon_mono"; type: SWALLOW; mouse_events: 0; clip_to: "icon_mono"; description { state: "default" 0.0; rel.to: "icon0"; } } part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0; clip_to: "icon"; description { state: "default" 0.0; rel.to: "icon0"; fixed: 1 1; } } part { name: "icon_over"; type: RECT; mouse_events: 0; clip_to: "icon"; description { state: "default" 0.0; color_class: "/fg/normal/fileman/icon/over"; rel.to: "e.swallow.icon"; visible: 0; } description { state: "start" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 0; // no cc visible: 0; } } part { name: "link"; mouse_events: 0; scale: 1; description { state: "default" 0.0; image.normal: "i-arrow-r"; FIXED_SIZE(15, 15) rel1.relative: 0.0 1.0; rel2.relative: 0.0 1.0; rel.to: "e.swallow.icon"; color_class: "/fg/selected/fileman/link"; visible: 0; fixed: 1 1; } description { state: "link" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "broken" 0.0; inherit: "default" 0.0; image.normal: "i-close"; visible: 1; } } program { signal: "e,state,link"; source: "e"; action: STATE_SET "link" 0.0; target: "link"; } program { signal: "e,state,broken"; source: "e"; action: STATE_SET "broken" 0.0; target: "link"; } part { name: "vol"; mouse_events: 0; scale: 1; description { state: "default" 0.0; image.normal: "speaker_vol.png"; FIXED_SIZE(7, 7) rel1.relative: 1.0 1.0; rel.to: "e.swallow.icon"; color_class: "/fg/normal/fileman/mount/off"; visible: 0; fixed: 1 1; } description { state: "unmounted" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "mounted" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/mount/on"; visible: 1; } } part { name: "op"; mouse_events: 0; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; rel1.relative: 1.0 0.0; rel2.relative: 1.0 1.0; rel1.offset: -5 0; rel2.offset: -5 -1; image.normal: "sym_icon_op_ask.png"; FIXED_SIZE(15, 15) visible: 0; color_class: "/fg/normal/fileman/operation/ask"; offscale; } description { state: "ask" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/ask"; image.normal: "sym_icon_op_ask.png"; visible: 1; } description { state: "copy" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/copy"; image.normal: "sym_icon_op_copy.png"; visible: 1; } description { state: "move" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/move"; image.normal: "sym_icon_op_move.png"; visible: 1; } } ////////////////////////// part { name: "event"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; // no cc } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "label_event"; type: RECT; ignore_flags: ON_HOLD; scale: 1; description { state: "default" 0.0; color: 0 0 0 0; // no cc rel1.to_x: "e.text.label"; rel1.offset: -5 0; offscale; } } part { name: "e.swallow.entry"; type: SWALLOW; description {state: "default" 0.0; rel.to: "e.text.label"; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "sel_base"; target: "e.text.label"; target: "icon_mono"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "sel_base"; target: "e.text.label"; target: "icon_mono"; } program { signal: "mouse,down,1"; source: "label_event"; script { set_int(longpressed, 0); } } program { signal: "mouse,down,1"; source: "label_event"; in: 0.4 0.0; script { set_int(longpressed, 1); } } program { signal: "mouse,up,1"; source: "label_event"; script { if (get_int(longpressed)) { set_int(longpressed, 0); emit("e,action,label,click", "e"); } } } program { signal: "e,action,thumb,gen"; source: "e"; action: STATE_SET "start" 0.0; target: "icon"; target: "icon_over"; after: "gen"; } program { signal: "e,action,thumb,gen,alpha"; source: "e"; action: STATE_SET "start" 0.0; target: "icon"; target: "icon_over"; after: "gen"; } program { name: "gen"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "icon"; target: "icon_over"; } program { signal: "e,state,ask"; source: "e"; action: STATE_SET "ask" 0.0; target: "op"; } program { signal: "e,state,move"; source: "e"; action: STATE_SET "move" 0.0; target: "op"; } program { signal: "e,state,copy"; source: "e"; action: STATE_SET "copy" 0.0; target: "op"; } program { signal: "e,state,volume,off"; source: "e"; action: STATE_SET "default" 0.0; target: "vol"; } program { signal: "e,state,volume,unmounted"; source: "e"; action: STATE_SET "unmounted" 0.0; target: "vol"; } program { signal: "e,state,volume,mounted"; source: "e"; action: STATE_SET "mounted" 0.0; target: "vol"; } } } group { name: "e/fileman/default/list_odd/variable"; inherit: "e/fileman/default/list/variable"; alias: "e/fileman/default/list_odd/fixed"; parts { part { name: "base"; description { state: "default" 0.0; color_class: "/bg-alt/normal/list/item"; } } } } group { name: "e/fileman/default/filesize"; script { public message(Msg_Type:type, id, ...) { if ((type == MSG_FLOAT) && (id == 1)) { new state[10], state2[10]; new Float:tween; new Float:val = getfarg(2); custom_state(PART:"bar", "default", 0.0); set_state_val(PART:"bar", STATE_REL2, val, 1.0); set_state(PART:"bar", "custom", 0.0); if (val < 0.25) { snprintf(state, 10, "default"); snprintf(state2, 10, "default1"); tween = (val - 0.0) * 4.0; } else if (val < 0.5) { snprintf(state, 10, "default1"); snprintf(state2, 10, "default2"); tween = (val - 0.25) * 4.0; } else if (val < 0.75) { snprintf(state, 10, "default2"); snprintf(state2, 10, "default3"); tween = (val - 0.5) * 4.0; } else { snprintf(state, 10, "default3"); snprintf(state2, 10, "default4"); tween = (val - 0.75) * 4.0; } set_tween_state(PART:"bar_color", tween, state, 0.0, state2, 0.0); set_tween_state(PART:"bar_color2", tween, state, 0.0, state2, 0.0); } } } parts { part { name: "bar_base"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.offset: 4 0; rel2.offset: -5 -1; align: 0.0 1.0; min: 0 5; offscale; } } part { name: "bar"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "bar_base"; rel1.relative: 0.0 1.0; align: 0.0 1.0; min: 0 5; offscale; } } part { name: "bar_normal"; type: RECT; mouse_events: 0; clip_to: "bar"; description { state: "default" 0.0; rel.to: "bar"; visible: 1; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "bar_selected"; type: RECT; mouse_events: 0; clip_to: "bar"; description { state: "default" 0.0; rel.to: "bar"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "bar_color"; type: RECT; mouse_events: 0; clip_to: "bar_normal"; description { state: "default" 0.0; rel.to: "bar"; color_class: "/fg/normal/fileman/filesize/0"; } description { state: "default1" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/filesize/1"; } description { state: "default2" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/filesize/2"; } description { state: "default3" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/filesize/3"; } description { state: "default4" 1.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/filesize/4"; } } part { name: "bar_color2"; type: RECT; mouse_events: 0; clip_to: "bar_selected"; description { state: "default" 0.0; rel.to: "bar"; color_class: "/fg/selected/fileman/filesize/0"; } description { state: "default1" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/filesize/1"; } description { state: "default2" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/filesize/2"; } description { state: "default3" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/filesize/3"; } description { state: "default4" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/filesize/4"; } } part { name: "e.text.unit"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel1.relative: 1.0 0.0; rel1.offset: 4 0; offscale; min: 15 0; align: 1.0 0.5; text { font: FN; size: 10; min: 1 1; text_class: "ilist_item"; ellipsis: 0.0; align: 0.5 0.5; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "e.text.label"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel2.to_x: "e.text.unit"; rel2.relative: 0.0 1.0; rel2.offset: -5 -1; offscale; align: 1.0 0.5; text { font: FN; size: 10; text_class: "ilist_item"; ellipsis: 0.0; align: 1.0 0.5; min: 0 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "e.text.unit"; target: "e.text.label"; target: "bar_normal"; target: "bar_selected"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "e.text.unit"; target: "e.text.label"; target: "bar_normal"; target: "bar_selected"; } } } group { name: "e/fileman/default/fileperms"; parts { part { name: "clip"; type: RECT; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "type"; scale: 1; description { state: "default" 0.0; image.normal: "i-file"; min: 15 15; max: 15 15; rel1.offset: 0 2; rel2.relative: 0.0 1.0; rel2.to_x: "user-setuid"; rel2.offset: -5 -3; offscale; } description { state: "dir" 0.0; inherit: "default" 0.0; image.normal: "i-folder"; } description { state: "link" 0.0; inherit: "default" 0.0; image.normal: "i-arrow-r"; } description { state: "pipe" 0.0; inherit: "default" 0.0; image.normal: "i-device-pipe"; } description { state: "socket" 0.0; inherit: "default" 0.0; image.normal: "i-device-socket"; } description { state: "block" 0.0; inherit: "default" 0.0; image.normal: "i-device-block"; } description { state: "char" 0.0; inherit: "default" 0.0; image.normal: "i-device-char"; } } part { name: "user-middle"; type: SPACER; description { state: "default" 0.0; min: 1 1; max: 1 1; rel1.to_x: "user-setuid"; rel2.to_x: "user-execute"; rel1.relative: 0.5 0.0; rel1.offset: 0 2; rel2.relative: 0.5 1.0; rel2.offset: -1 -12; offscale; } } part { name: "user"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "user-middle"; } } part { name: "group-middle"; type: SPACER; description { state: "default" 0.0; min: 1 1; max: 1 1; rel1.to_x: "group-setuid"; rel2.to_x: "group-execute"; rel1.relative: 0.5 0.0; rel1.offset: 0 2; rel2.relative: 0.5 1.0; rel2.offset: -1 -12; offscale; } } part { name: "group1"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "group-middle"; align: 1.0 0.5; } } part { name: "group2"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "group-middle"; align: 0.0 0.5; } } part { name: "other-middle"; type: SPACER; description { state: "default" 0.0; min: 1 1; max: 1 1; rel1.to_x: "other-read"; rel2.to_x: "other-execute"; rel1.relative: 0.5 0.0; rel1.offset: 0 2; rel2.relative: 0.5 1.0; rel2.offset: -1 -12; offscale; } } part { name: "other1"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "other2"; rel1.relative: 0.0 0.0; rel2.relative: 0.0 1.0; align: 1.0 0.5; } } part { name: "other2"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "other-middle"; } } part { name: "other3"; clip_to: "clip"; scale: 1; description { state: "default" 0.0; image.normal: "i-person-bust"; min: 7 7; max: 7 7; rel.to: "other2"; rel1.relative: 1.0 0.0; rel2.relative: 1.0 1.0; align: 0.0 0.5; } } part { name: "user-setuid"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "user-read"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/setuid"; color: 255 255 255 255; } } part { name: "user-read"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "user-write"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/read"; color: 255 255 255 255; } } part { name: "user-write"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "user-execute"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/write"; color: 255 255 255 255; } } part { name: "user-execute"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "group-setuid"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -4 -3; rel2.offset: -4 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/execute"; color: 255 255 255 255; } } part { name: "group-setuid"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "group-read"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/setuid"; color: 255 255 255 255; } } part { name: "group-read"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "group-write"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/read"; color: 255 255 255 255; } } part { name: "group-write"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "group-execute"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/write"; color: 255 255 255 255; } } part { name: "group-execute"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "other-read"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -4 -3; rel2.offset: -4 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/execute"; color: 255 255 255 255; } } part { name: "other-read"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "other-write"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/read"; color: 255 255 255 255; } } part { name: "other-write"; type: RECT; scale: 1; description { state: "default" 0.0; rel.to_x: "other-execute"; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -2 -3; rel2.offset: -2 -3; rel2.relative: 0.0 1.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/write"; color: 255 255 255 255; } } part { name: "other-execute"; type: RECT; scale: 1; description { state: "default" 0.0; align: 1.0 1.0; min: 7 7; max: 7 7; rel1.offset: -1 -3; rel2.offset: -1 -3; rel1.relative: 1.0 0.0; color: 255 255 255 32; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileperm/execute"; color: 255 255 255 255; } } } programs { program { signal: "e,type,none"; source: "e"; action: STATE_SET "default" 0.0; target: "type"; } program { signal: "e,type,dir"; source: "e"; action: STATE_SET "dir" 0.0; target: "type"; } program { signal: "e,type,link"; source: "e"; action: STATE_SET "link" 0.0; target: "type"; } program { signal: "e,type,pipe"; source: "e"; action: STATE_SET "pipe" 0.0; target: "type"; } program { signal: "e,type,socket"; source: "e"; action: STATE_SET "socket" 0.0; target: "type"; } program { signal: "e,type,block"; source: "e"; action: STATE_SET "block" 0.0; target: "type"; } program { signal: "e,type,char"; source: "e"; action: STATE_SET "char" 0.0; target: "type"; } program { signal: "e,perm,user,setuid"; source: "e"; action: STATE_SET "on" 0.0; target: "user-setuid"; } program { signal: "e,perm,user,read"; source: "e"; action: STATE_SET "on" 0.0; target: "user-read"; } program { signal: "e,perm,user,write"; source: "e"; action: STATE_SET "on" 0.0; target: "user-write"; } program { signal: "e,perm,user,execute"; source: "e"; action: STATE_SET "on" 0.0; target: "user-execute"; } program { signal: "e,perm,group,setuid"; source: "e"; action: STATE_SET "on" 0.0; target: "group-setuid"; } program { signal: "e,perm,group,read"; source: "e"; action: STATE_SET "on" 0.0; target: "group-read"; } program { signal: "e,perm,group,write"; source: "e"; action: STATE_SET "on" 0.0; target: "group-write"; } program { signal: "e,perm,group,execute"; source: "e"; action: STATE_SET "on" 0.0; target: "group-execute"; } program { signal: "e,perm,other,read"; source: "e"; action: STATE_SET "on" 0.0; target: "other-read"; } program { signal: "e,perm,other,write"; source: "e"; action: STATE_SET "on" 0.0; target: "other-write"; } program { signal: "e,perm,other,execute"; source: "e"; action: STATE_SET "on" 0.0; target: "other-execute"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "clip"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "clip"; } } } group { name: "e/fileman/default/filedate"; parts { part { name: "year"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.offset: 4 0; rel2.offset: 4 -1; rel2.relative: 0.0 1.0; align: 0.0 0.5; offscale; text { font: FN; size: 10; text: "00"; text_class: "ilist_item"; ellipsis: 0.0; min: 1 1; } } } part { name: "month"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.to_x: "year"; rel2.to_x: "year"; rel1.relative: 1.0 0.0; rel1.offset: 4 0; rel2.offset: 4 -1; align: 0.0 0.5; offscale; text { font: FN; size: 10; text: "WWW"; text_class: "ilist_item"; ellipsis: 0.0; min: 1 1; } } } part { name: "day"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.to_x: "month"; rel2.to_x: "month"; rel1.relative: 1.0 0.0; rel1.offset: 4 0; rel2.offset: 4 -1; align: 0.0 0.5; offscale; text { font: FN; size: 10; text: "00"; text_class: "ilist_item"; ellipsis: 0.0; min: 1 1; } } } part { name: "time"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.offset: -5 0; rel1.relative: 1.0 0.0; rel2.offset: -5 -1; align: 1.0 0.5; offscale; text { font: FN; size: 10; text: "00:00:00"; text_class: "ilist_item"; ellipsis: 0.0; min: 1 1; } } } part { name: "e.text.year"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel.to: "year"; offscale; align: 1.0 0.5; text { font: FN; size: 10; text_class: "ilist_item"; ellipsis: 0.0; align: 1.0 0.5; min: 1 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "e.text.month"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel.to: "month"; offscale; align: 1.0 0.5; text { font: FN; size: 10; text_class: "ilist_item"; ellipsis: 0.0; align: 1.0 0.5; min: 1 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "e.text.day"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel.to: "day"; offscale; align: 1.0 0.5; text { font: FN; size: 10; text_class: "ilist_item"; ellipsis: 0.0; align: 1.0 0.5; min: 1 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "bar"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to_x: "day"; rel2.to_x: "time"; rel1.relative: 1.0 0.0; rel2.relative: 0.0 1.0; rel1.offset: 4 10; rel2.offset: -5 -11; min: 1 4; max: 1 9999; offscale; color_class: "/fg/normal/list/item"; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } part { name: "e.text.time"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/list/item"; rel.to: "time"; offscale; align: 1.0 0.5; text { font: FN; size: 10; text_class: "ilist_item"; ellipsis: 0.0; align: 1.0 0.5; min: 1 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/list/item"; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "e.text.year"; target: "e.text.month"; target: "e.text.day"; target: "bar"; target: "e.text.time"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "e.text.year"; target: "e.text.month"; target: "e.text.day"; target: "bar"; target: "e.text.time"; } } } group { name: "e/fileman/default/check"; parts { part { name: "base"; clip_to: "selected"; scale: 1; description { state: "default" 0.0; image.normal: "i-check"; rel1.offset: 3 3; rel2.offset: -4 -4; min: 15 15; max: 15 15; visible: 0; offscale; } description { state: "on" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "selected"; type: RECT; description { state: "default" 0.0; rel.to: "base"; color_class: "/fg/normal/fileman/item/check/check"; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/item/check/check"; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "selected"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "selected"; } program { signal: "e,state,on"; source: "e"; action: STATE_SET "on" 0.0; target: "base"; } program { signal: "e,state,off"; source: "e"; action: STATE_SET "default" 0.0; target: "base"; } } } group { name: "e/fileman/default/circle"; script { hex(str[], len) { new i, val = 0; for (i = 0; i < len; i++) { val <<= 4; if ((str[i] >= '0') && (str[i] <= '9')) { val += str[i] - '0'; } else if ((str[i] >= 'a') && (str[i] <= 'f')) { val += 10 + str[i] - 'a'; } else if ((str[i] >= 'A') && (str[i] <= 'F')) { val += 10 + str[i] - 'A'; } } return val; } public message(Msg_Type:type, id, ...) { if ((type == MSG_STRING) && (id == 1)) { new cc[256]; getsarg(2, cc, 255); custom_state(PART:"base", "default", 0.0); if (!strncmp(cc, "cc:", 3)) { strcpy(cc, cc[3]); set_state_val(PART:"base", STATE_COLOR, 255, 255, 255, 255); set_state_val(PART:"base", STATE_COLOR_CLASS, cc); } else if (!strncmp(cc, "#", 1)) { new r = 255, g = 255, b = 255, a = 255; strcpy(cc, cc[1]); if (strlen(cc) == 3) { // #35a r = hex(cc[0], 1); g = hex(cc[1], 1); b = hex(cc[2], 1); } else if (strlen(cc) == 4) { // #35af r = hex(cc[0], 1); g = hex(cc[1], 1); b = hex(cc[2], 1); a = hex(cc[3], 1); } else if (strlen(cc) == 6) { // #3355aa r = hex(cc[0], 2); g = hex(cc[2], 2); b = hex(cc[4], 2); } else if (strlen(cc) == 8) { // #3355aaff r = hex(cc[0], 2); g = hex(cc[2], 2); b = hex(cc[4], 2); a = hex(cc[6], 2); } set_state_val(PART:"base", STATE_COLOR, r, g, b, a); set_state_val(PART:"base", STATE_COLOR_CLASS, ""); } set_state(PART:"base", "custom", 0.0); } } } parts { set { name: "file-circle-outline"; image { image: "speaker-clip-160.png" COMP; size: 81 81 99999 99999; } image { image: "speaker-clip-080.png" COMP; size: 41 41 80 80 99999; } image { image: "speaker-clip-040.png" COMP; size: 0 0 40 40; } } part { name: "base"; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 15 15; max: 15 15; rel1.offset: 3 3; rel2.offset: -4 -4; image.normal: "i-radio"; offscale; fixed: 1 1; } } part { name: "circle"; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 17 17; max: 17 17; rel.to: "base"; image.normal: "file-circle-outline"; fixed: 1 1; color_class: "/fg/selected/list/item"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "circle"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "circle"; } } } group { name: "e/fileman/default/graph/base"; parts { part { name: "e.swallow.content"; type: SWALLOW; scale; description { state: "default" 0.0; offscale; rel1 { offset: 2 2; } rel2 { offset: -3 -3; } } } } } group { name: "e/fileman/default/graph/bar"; script { hex(str[], len) { new i, val = 0; for (i = 0; i < len; i++) { val <<= 4; if ((str[i] >= '0') && (str[i] <= '9')) { val += str[i] - '0'; } else if ((str[i] >= 'a') && (str[i] <= 'f')) { val += 10 + str[i] - 'a'; } else if ((str[i] >= 'A') && (str[i] <= 'F')) { val += 10 + str[i] - 'A'; } } return val; } public message(Msg_Type:type, id, ...) { if ((type == MSG_STRING) && (id == 1)) { new cc[256]; getsarg(2, cc, 255); custom_state(PART:"base", "default", 0.0); if (!strncmp(cc, "cc:", 3)) { strcpy(cc, cc[3]); set_state_val(PART:"base", STATE_COLOR, 255, 255, 255, 255); set_state_val(PART:"base", STATE_COLOR_CLASS, cc); } else if (!strncmp(cc, "#", 1)) { new r = 255, g = 255, b = 255, a = 255; strcpy(cc, cc[1]); if (strlen(cc) == 3) { // #35a r = hex(cc[0], 1); g = hex(cc[1], 1); b = hex(cc[2], 1); } else if (strlen(cc) == 4) { // #35af r = hex(cc[0], 1); g = hex(cc[1], 1); b = hex(cc[2], 1); a = hex(cc[3], 1); } else if (strlen(cc) == 6) { // #3355aa r = hex(cc[0], 2); g = hex(cc[2], 2); b = hex(cc[4], 2); } else if (strlen(cc) == 8) { // #3355aaff r = hex(cc[0], 2); g = hex(cc[2], 2); b = hex(cc[4], 2); a = hex(cc[6], 2); } set_state_val(PART:"base", STATE_COLOR, r, g, b, a); set_state_val(PART:"base", STATE_COLOR_CLASS, ""); } set_state(PART:"base", "custom", 0.0); } } } parts { part { name: "drag_base"; type: SPACER; scale; description { state: "default" 0.0; offscale; rel1 { offset: 1 1; } rel2 { offset: -2 -2; } } } part { name: "base"; type: RECT; description { state: "default" 0.0; rel1.to_y: "e.dragable.value"; rel2.to: "drag_base"; color_class: "/fg/normal/filegraph/bar"; } } part { name: "top"; type: RECT; description { state: "default" 0.0; rel.to: "base"; rel2.relative: 1.0 0.0; rel2.offset: -1 0; color_class: "/fg/normal/filegraph/bartop"; } } part { name: "e.dragable.value"; type: SPACER; dragable.x: 0 0 0; dragable.y: 1 1 0; dragable.confine: "drag_base"; description { state: "default" 0.0; min: 0 1; max: 99999 1; fixed: 1 1; } } } } group { name: "e/fileman/default/list/detailed"; inherit: "e/fileman/default/list/variable"; parts { #define DETAILTEXT(_name, _to, _after) \ part { name: _name; type: TEXT; mouse_events: 0; \ scale: 1; \ insert_after: _after; \ description { state: "default" 0.0; \ rel.to: _to; \ rel1.offset: 4 0; \ rel2.offset: -5 -1; \ color_class: "/fg/normal/list/item"; \ text { font: FN; size: 10; \ min: 0 1; \ align: 0.0 0.5; \ text_class: "ilist_item"; \ ellipsis: 0.0; \ } \ offscale; \ } \ description { state: "selected" 0.0; \ inherit: "default" 0.0; \ color_class: "/fg/selected/list/item"; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ color_class: "/fg/disabled/list/item"; \ } \ } part { name: "e.text.label"; description { state: "default" 0.0; rel2.to_x: "e.swallow.detail1"; rel2.relative: 0.0 1.0; } description { state: "selected" 0.0; rel2.to_x: "e.swallow.detail1"; rel2.relative: 0.0 1.0; } description { state: "disabled" 0.0; rel2.to_x: "e.swallow.detail1"; rel2.relative: 0.0 1.0; } } DETAILTEXT("e.text.detail1", "e.swallow.detail1", "e.text.label") DETAILTEXT("e.text.detail2", "e.swallow.detail2", "e.text.detail1") DETAILTEXT("e.text.detail3", "e.swallow.detail3", "e.text.detail2") DETAILTEXT("e.text.detail4", "e.swallow.detail4", "e.text.detail3") DETAILTEXT("e.text.detail5", "e.swallow.detail5", "e.text.detail4") DETAILTEXT("e.text.detail6", "e.swallow.detail6", "e.text.detail5") #undef DETAILTEXT program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "e.text.detail1"; target: "e.text.detail2"; target: "e.text.detail3"; target: "e.text.detail4"; target: "e.text.detail5"; target: "e.text.detail6"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "e.text.detail1"; target: "e.text.detail2"; target: "e.text.detail3"; target: "e.text.detail4"; target: "e.text.detail5"; target: "e.text.detail6"; } part { name: "e.swallow.detail6"; type: SWALLOW; scale; insert_after: "e.swallow.entry"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 15 5; rel1 { offset: -5 0; relative: 1.0 0.0; } rel2 { offset: -5 -1; relative: 1.0 1.0; } } } part { name: "e.swallow.detail5"; type: SWALLOW; scale; insert_after: "e.swallow.detail6"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 20 5; rel1 { to_x: "e.swallow.detail6"; offset: -1 0; relative: 0.0 0.0; } rel2 { to_x: "e.swallow.detail6"; offset: -1 -1; relative: 0.0 1.0; } } } part { name: "e.swallow.detail4"; type: SWALLOW; scale; insert_after: "e.swallow.detail5"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 20 5; rel1 { to_x: "e.swallow.detail5"; offset: -1 0; relative: 0.0 0.0; } rel2 { to_x: "e.swallow.detail5"; offset: -1 -1; relative: 0.0 1.0; } } } part { name: "e.swallow.detail3"; type: SWALLOW; scale; insert_after: "e.swallow.detail4"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 20 5; rel1 { to_x: "e.swallow.detail4"; offset: -1 0; relative: 0.0 0.0; } rel2 { to_x: "e.swallow.detail4"; offset: -1 -1; relative: 0.0 1.0; } } } part { name: "e.swallow.detail2"; type: SWALLOW; scale; insert_after: "e.swallow.detail3"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 20 5; rel1 { to_x: "e.swallow.detail3"; offset: -1 0; relative: 0.0 0.0; } rel2 { to_x: "e.swallow.detail3"; offset: -1 -1; relative: 0.0 1.0; } } } part { name: "e.swallow.detail1"; type: SWALLOW; scale; insert_after: "e.swallow.detail2"; description { state: "default" 0.0; offscale; align: 1.0 0.5; min: 20 5; rel1 { to_x: "e.swallow.detail2"; offset: -1 0; relative: 0.0 0.0; } rel2 { to_x: "e.swallow.detail2"; offset: -1 -1; relative: 0.0 1.0; } } } } } group { name: "e/fileman/default/list_odd/detailed"; inherit: "e/fileman/default/list/detailed"; parts { part { name: "base"; description { state: "default" 0.0; color_class: "/bg-alt/normal/list/item"; } } } } group { name: "e/fileman/desktop/list/detailed"; alias: "e/fileman/desktop/list_odd/detailed"; inherit: "e/fileman/default/list/detailed"; parts { part { name: "base"; description { state: "default" 0.0; visible: 0; } } } } group { name: "e/fileman/desktop/list/fixed"; alias: "e/fileman/desktop/list/variable"; alias: "e/fileman/desktop/list_odd/fixed"; alias: "e/fileman/desktop/list_odd/variable"; inherit: "e/fileman/default/list/variable"; parts { part { name: "base"; description { state: "default" 0.0; visible: 0; } } } } group { name: "e/fileman/default/icon/fixed"; alias: "e/fileman/default/icon/variable"; images.image: "sym_icon_op_ask.png" COMP; images.image: "sym_icon_op_copy.png" COMP; images.image: "sym_icon_op_move.png" COMP; styles { style { name: "fileman_icon_name"; base: "font="FN" font_size=10 text_class=fileman_icon align=center color=cc:/fg/normal/grid/item/fileman wrap=mixed ellipsis=1.0"; } style { name: "fileman_icon_name_selected"; base: "font="FN" font_size=10 text_class=fileman_icon align=center color=cc:/fg/selected/grid/item/fileman wrap=mixed ellipsis=1.0"; } } script { public longpressed; } parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color_class: "/bg/selected/grid/item"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } ////////////////////////////// part { name: "label0"; type: TEXT; scale: 1; description { state: "default" 0.0; align: 0.5 1.0; rel1.relative: 0.0 1.0; rel1.offset: 4 -5; rel2.offset: -5 -5; min: 20 12; fixed: 0 1; text { text_class: "fileman_icon"; font: FN; size: 10; min: 0 1; } offscale; } } part { name: "e.text.label"; type: TEXTBLOCK; mouse_events: 0; scale: 1; clip_to: "textmaster"; description { state: "default" 0.0; align: 0.5 0.0; rel.to: "label0"; rel1.relative: 0.0 -1.2; text { style: "fileman_icon_name"; align: 0.5 0.0; text_class: "fileman_icon"; } fixed: 1 1; } description { state: "selected" 0.0; inherit: "default" 0.0; text.style: "fileman_icon_name_selected"; } } part { name: "textmaster"; type: RECT; description { state: "default" 0.0; } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } ////////////////////////// part { name: "icon0"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.offset: 16 4; rel2.relative: 1.0 -1.2; rel2.offset: -17 -5; rel2.to_y: "label0"; offscale; } } part { name: "icon"; type: RECT; description { state: "default" 0.0; rel.to: "icon0"; } description { state: "start" 0.0; inherit: "default" 0.0; max: 99999 0; } description { state: "visible" 0.0; inherit: "default" 0.0; } } part { name: "icon_mono"; type: RECT; description { state: "default" 0.0; rel.to: "icon"; color_class: "/fg/normal/grid/item"; } description { state: "selected" 0.0; color_class: "/fg/selected/grid/item"; } } part { name: "e.swallow.icon_mono"; type: SWALLOW; mouse_events: 0; clip_to: "icon_mono"; description { state: "default" 0.0; rel.to: "icon0"; } } part { name: "e.swallow.icon"; type: SWALLOW; mouse_events: 0; clip_to: "icon"; description { state: "default" 0.0; rel.to: "icon0"; } } part { name: "icon_over"; type: RECT; mouse_events: 0; clip_to: "icon"; description { state: "default" 0.0; color_class: "/fg/normal/fileman/icon/over"; rel.to: "e.swallow.icon"; visible: 0; } description { state: "start" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 0; // no cc visible: 0; } } part { name: "link"; mouse_events: 0; scale: 1; description { state: "default" 0.0; image.normal: "i-arrow-r"; FIXED_SIZE(15, 15) rel1.relative: 0.0 1.0; rel2.relative: 0.0 1.0; rel.to: "e.swallow.icon"; color_class: "/fg/selected/fileman/link"; visible: 0; fixed: 1 1; } description { state: "link" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "broken" 0.0; inherit: "default" 0.0; image.normal: "i-close"; visible: 1; } } program { signal: "e,state,link"; source: "e"; action: STATE_SET "link" 0.0; target: "link"; } program { signal: "e,state,broken"; source: "e"; action: STATE_SET "broken" 0.0; target: "link"; } part { name: "vol"; mouse_events: 0; scale: 1; description { state: "default" 0.0; image.normal: "speaker_vol.png"; FIXED_SIZE(7, 7) rel1.relative: 1.0 1.0; rel.to: "e.swallow.icon"; color_class: "/fg/normal/fileman/mount/off"; visible: 0; fixed: 1 1; } description { state: "unmounted" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "mounted" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/mount/on"; visible: 1; } } part { name: "op"; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; rel1.relative: 1.0 0.0; rel2.relative: 1.0 1.0; rel1.offset: -5 0; rel2.offset: -5 -1; image.normal: "sym_icon_op_ask.png"; FIXED_SIZE(15, 15) visible: 0; color_class: "/fg/normal/fileman/operation/ask"; offscale; } description { state: "ask" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/ask"; image.normal: "sym_icon_op_ask.png"; visible: 1; } description { state: "copy" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/copy"; image.normal: "sym_icon_op_copy.png"; visible: 1; } description { state: "move" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/fileman/operation/move"; image.normal: "sym_icon_op_move.png"; visible: 1; } } ////////////////////////////// part { name: "event"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; // no cc rel.to: "icon0"; } } part { name: "label_event"; type: RECT; ignore_flags: ON_HOLD; scale: 1; description { state: "default" 0.0; color: 0 0 0 0; // no cc rel.to: "e.text.label"; rel1.offset: -5 -5; rel2.offset: 4 4; offscale; } } part { name: "e.swallow.entry"; type: SWALLOW; description {state: "default" 0.0; rel.to: "label_event"; } } } programs { program { signal: "e,state,rename,on"; source: "e"; action: STATE_SET "hidden" 0.0; target: "textmaster"; } program { signal: "e,state,rename,off"; source: "e"; action: STATE_SET "default" 0.0; target: "textmaster"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "e.text.label"; target: "base"; target: "icon_mono"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "e.text.label"; target: "base"; target: "icon_mono"; } program { signal: "mouse,down,1"; source: "label_event"; script { set_int(longpressed, 0); } } program { signal: "mouse,down,1"; source: "label_event"; in: 0.4 0.0; script { set_int(longpressed, 1); } } program { signal: "mouse,up,1"; source: "label_event"; script { if (get_int(longpressed)) { set_int(longpressed, 0); emit("e,action,label,click", "e"); } } } program { signal: "e,action,thumb,gen"; source: "e"; action: STATE_SET "start" 0.0; target: "icon"; target: "icon_over"; after: "gen"; } program { signal: "e,action,thumb,gen,alpha"; source: "e"; action: STATE_SET "start" 0.0; target: "icon"; target: "icon_over"; after: "gen"; } program { name: "gen"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.2; target: "icon"; target: "icon_over"; } program { signal: "e,state,ask"; source: "e"; action: STATE_SET "ask" 0.0; target: "op"; } program { signal: "e,state,move"; source: "e"; action: STATE_SET "move" 0.0; target: "op"; } program { signal: "e,state,copy"; source: "e"; action: STATE_SET "copy" 0.0; target: "op"; } program { signal: "e,state,volume,off"; source: "e"; action: STATE_SET "default" 0.0; target: "vol"; } program { signal: "e,state,volume,unmounted"; source: "e"; action: STATE_SET "unmounted" 0.0; target: "vol"; } program { signal: "e,state,volume,mounted"; source: "e"; action: STATE_SET "mounted" 0.0; target: "vol"; } } } group { name: "e/fileman/desktop/icon/fixed"; inherit: "e/fileman/default/icon/fixed"; alias: "e/fileman/desktop/icon/variable"; styles { style { name: "fileman_icon_name_desktop"; base: "font="FN" font_size=10 text_class=fileman_icon align=center color=cc:/fg/normal/grid/item/fileman/desktop wrap=mixed ellipsis=1.0"; } style { name: "fileman_icon_name_selected_desktop"; base: "font="FN" font_size=10 text_class=fileman_icon align=center color=cc:/fg/selected/grid/item/fileman/desktop wrap=mixed ellipsis=1.0"; } } parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "selected" 0.0; visible: 0; } } part { name: "back"; type: RECT; mouse_events: 0; insert_before: "e.text.label"; clip_to: "textmaster"; scale: 1; description { state: "default" 0.0; rel.to: "labelmin"; rel1.offset: -3 -3; rel2.offset: 2 2; color_class: "/bg/normal/fileman/desk/base"; fixed: 1 1; offscale; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/bg/selected/fileman/desk/base"; } } part { name: "e.text.label"; description { state: "default" 0.0; text.style: "fileman_icon_name_desktop"; } description { state: "selected" 0.0; text.style: "fileman_icon_name_selected_desktop"; } } part { name: "labelmin"; type: TEXTBLOCK; mouse_events: 0; insert_after: "event"; scale: 1; description { state: "default" 0.0; align: 0.5 0.0; rel.to: "e.text.label"; text { style: "fileman_icon_name"; align: 0.5 0.0; text_class: "fileman_icon"; text_source: "e.text.label"; max: 0 1; } fixed: 1 1; visible: 0; } } } programs { program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "back"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "back"; } } } group { name: "e/fileman/default/detail-sizer"; parts { part { name: "bar"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 1 1; max: 1 999999; rel1.to_y: "arrow-top"; rel2.to_y: "arrow-bottom"; rel2.relative: 0.0 1.0; rel2.offset: 0 -1; offscale; color_class: "/fg/selected/fileman/detail-sizer/bar"; color: 255 255 255 32; } description { state: "active" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 1.0; rel1.offset: 0 4; rel2.relative: 0.0 0.0; rel2.offset: 0 -5; color: 255 255 255 255; } } part { name: "arrow-top"; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 15 15; max: 15 15; color_class: "/fg/selected/fileman/detail-sizer/arrow/top"; image.normal: "i-arrow-d"; align: 0.5 0.0; rel1.to_x: "bar"; rel2.to_x: "bar"; rel1.offset: 0 -1; rel2.relative: 0.0 0.0; visible: 0; color: 255 255 255 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "arrow-bottom"; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 15 15; max: 15 15; color_class: "/fg/selected/fileman/detail-sizer/arrow/bottom"; image.normal: "i-arrow-u"; rel1.to_x: "bar"; rel2.to_x: "bar"; align: 0.5 1.0; rel1.offset: 0 -1; rel2.relative: 0.0 1.0; visible: 0; color: 255 255 255 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "event"; type: RECT; scale: 1; description { state: "default" 0.0; color: 0 0 0 0; // no cc rel2.relative: 0.0 1.0; rel2.offset: 0 -1; min: 21 39; } } } programs { program { signal: "mouse,in"; source: "event"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.2; target: "bar"; target: "arrow-top"; target: "arrow-bottom"; } program { signal: "mouse,out"; source: "event"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 0.5; target: "bar"; target: "arrow-top"; target: "arrow-bottom"; } } } group { name: "e/fileman/default/scrollframe"; inherit: "e/widgets/scrollframe"; parts { part { name: "bg"; description { state: "default" 0.0; color_class: "/bg/normal/fileman/scroller"; } } part { name: "e.swallow.bg"; type: SWALLOW; insert_before: "e.swallow.content"; clip_to: "clipper"; description { state: "default" 0.0; rel.to: "bg"; } } part { name: "e.swallow.overlay"; type: SWALLOW; insert_after: "e.swallow.content"; clip_to: "clipper"; description { state: "default" 0.0; rel.to: "bg"; } } part { name: "e.box.operations"; type: BOX; scale: 1; description { state: "default" 0.0; rel.to: "bg"; rel1.offset: -8 -8; rel1.relative: 1.0 1.0; rel2.offset: -8 -8; align: 1.0 1.0; offscale; box { layout: "vertical"; padding: 0 0; align: 1.0 1.0; min: 1 1; } } } } } group { name: "e/fileman/default/window/main"; parts { part { name: "base"; type: RECT; description { state: "default" 0.0; color_class: "/bg/normal/fileman/base/win"; } } part { name: "e.swallow.bg"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "e.swallow.favorites"; type: SWALLOW; description { state: "default" 0.0; rel.to: "region"; align: 0.0 1.0; rel1.offset: 0 0; rel2.offset: -1 -1; rel2.relative: 0.0 1.0; fixed: 1 0; } } part { name: "e.swallow.content"; type: SWALLOW; description { state: "default" 0.0; rel.to: "region"; rel1.offset: 0 0; rel2.offset: -1 -1; align: 1.0 1.0; } description { state: "fav" 0.0; inherit: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "e.swallow.favorites"; } } part { name: "e.swallow.toolbar"; type: SWALLOW; description { state: "default" 0.0; } description { state: "tb_top" 0.0; align: 0.5 0.0; rel1.offset: 0 0; // XXX: this is a bug workaround. should be -1 0; rel2.offset: -1 0; rel2.relative: 1.0 0.0; fixed: 0 1; } description { state: "tb_bottom" 0.0; align: 0.5 1.0; rel1.offset: 0 -1; // XXX: this is a bug workaround. should be -1 -1; rel2.offset: -1 -1; rel1.relative: 0.0 1.0; fixed: 0 1; } } part { name: "region"; type: SPACER; description { state: "default" 0.0; } description { state: "tb_top" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 1.0; rel1.to_y: "e.swallow.toolbar"; } description { state: "tb_bottom" 0.0; inherit: "default" 0.0; rel2.relative: 1.0 0.0; rel2.to_y: "e.swallow.toolbar"; } description { state: "tb_left" 0.0; inherit: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "e.swallow.toolbar"; } description { state: "tb_right" 0.0; inherit: "default" 0.0; rel2.relative: 0.0 1.0; rel2.to_x: "e.swallow.toolbar"; } } } programs { program { signal: "e,favorites,enabled"; source: "e"; action: STATE_SET "fav" 0.0; target: "e.swallow.content"; } program { signal: "e,favorites,disabled"; source: "e"; action: STATE_SET "default" 0.0; target: "e.swallow.content"; } program { signal: "e,toolbar,left"; source: "e"; action: STATE_SET "tb_left" 0.0; target: "region"; } program { signal: "e,toolbar,right"; source: "e"; action: STATE_SET "tb_right" 0.0; target: "region"; } program { signal: "e,toolbar,top"; source: "e"; action: STATE_SET "tb_top" 0.0; target: "e.swallow.toolbar"; target: "region"; } program { signal: "e,toolbar,bottom"; source: "e"; action: STATE_SET "tb_bottom" 0.0; target: "e.swallow.toolbar"; target: "region"; } program { signal: "e,toolbar,disabled"; source: "e"; action: STATE_SET "default" 0.0; target: "e.swallow.toolbar"; target: "region"; } } } group { name: "e/fileman/toolbar/default/base"; parts { part { name: "base"; type: RECT; description { state: "default" 0.0; color_class: "/bg/normal/fileman/base/win/toolbar"; } } part { name: "e.swallow.event"; type: SWALLOW; description { state: "default" 0.0; rel.to: "e.swallow.content"; } } part { name: "e.swallow.content"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; offscale; } } } programs { // program { // signal: "e,state,orientation,left"; source: "e"; // } // program { // signal: "e,state,orientation,right"; source: "e"; // } // program { // signal: "e,state,orientation,top"; source: "e"; // } // program { // signal: "e,state,orientation,bottom"; source: "e"; // } } } group { name: "e/fileman/popup/default"; parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color_class: "/bg/normal/fileman/base/popup"; } } part { name: "e.swallow.content"; type: SWALLOW; scale: 1; description { state: "default" 0.0; rel1.offset: 4 4; rel1.relative: 0.0 1.0; rel1.to_y: "e.text.title"; rel2.offset: -5 -5; offscale; } } part { name: "e.text.title"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.relative: 0.0 0.0; rel1.offset: 4 4; rel2.relative: 1.0 0.0; rel2.offset: -5 4; align: 0.5 0.0; color_class: "/fg/normal/fileman/text/popup"; text { font: FNBD; size: 10; text_class: "fileman_popup_title"; align: 0.5 0.0; min: 0 1; } fixed: 0 1; offscale; } } } } group { name: "e/fileman/desktop/scrollframe"; inherit: "e/fileman/default/scrollframe"; parts { part { name: "bg"; description { state: "default" 0.0; visible: 0; } } part { name: "e.swallow.content"; description { state: "default" 0.0; } } } } group { name: "e/fileman/default/overlay"; alias: "e/fileman/desktop/overlay"; IMAGE_RING("ringa", 160) IMAGE_RING("ringb", 160) IMAGE_RING("ringc", 160) parts { part { name: "typebuf_clip"; type: RECT; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; // no cc } description { state: "active" 0.0; visible: 1; color: 255 255 255 255; // no cc } } part { name: "busy_clip"; type: RECT; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; // no cc } description { state: "active" 0.0; visible: 1; color: 255 255 255 255; // no cc } } part { name: "busy_base"; type: RECT; mouse_events: 0; scale: 1; clip_to: "busy_clip"; description { state: "default" 0.0; rel1.offset: -8 -8; rel1.to: "busy_area"; rel2.relative: 1.0 1.0; rel2.offset: 7 7; rel2.to_x: "e.text.busy_label"; rel2.to_y: "busy_area"; color_class: "/bg/normal/fileman/overlay/busy/base"; offscale; } } part { name: "e.text.busy_label"; type: TEXT; mouse_events: 0; clip_to: "busy_clip"; scale: 1; description { state: "default" 0.0; rel1.offset: (16+8+40+8) (-1-16-8-40); rel1.relative: 0.0 1.0; rel2.offset: (16+8+40+8) (-1-16-8); rel2.relative: 0.0 1.0; align: 0.0 0.5; color_class: "/fg/normal/fileman/overlay/busy/text"; offscale; text { font: FNBD; size: 10; min: 1 1; ellipsis: -1; align: 0.0 0.5; text_class: "fileman_busy"; } } } part { name: "busy_area"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.offset: (16+8) (-1-16-8); rel1.relative: 0.0 1.0; rel2.offset: (16+8) (-1-16-8); rel2.relative: 0.0 1.0; align: 0.0 1.0; FIXED_SIZE(40, 40) offscale; } } BUSY("busy_area", "e,state,busy,start", "e", "e,state,busy,stop", "e") part { name: "typebuf_base"; type: RECT; mouse_events: 0; clip_to: "typebuf_clip"; scale: 1; description { state: "default" 0.0; rel.to: "e.text.typebuf_label"; rel1.offset: -8 -8; rel2.offset: 7 7; color_class: "/bg/normal/fileman/overlay/typebuf/base"; offscale; } } part { name: "e.text.typebuf_label"; type: TEXT; mouse_events: 0; clip_to: "typebuf_clip"; scale: 1; description { state: "default" 0.0; rel1.relative: 0.5 0.5; rel1.offset: -8 -8; rel2.relative: 0.5 0.5; rel2.offset: 7 7; color_class: "/fg/normal/fileman/overlay/typebuf/text"; offscale; text { font: FNBD; size: 10; min: 1 1; ellipsis: -1; align: 0.5 0.5; text_class: "fileman_typebuf"; } } } } programs { program { signal: "e,state,typebuf,start"; source: "e"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.25; target: "typebuf_clip"; } program { signal: "e,state,typebuf,stop"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0; target: "typebuf_clip"; } program { signal: "e,state,busy,start"; source: "e"; action: STATE_SET "active" 0.0; transition: SINUSOIDAL 0.25; target: "busy_clip"; } program { signal: "e,state,busy,stop"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0; target: "busy_clip"; } } } group { name: "e/fileman/default/list/drop_in"; alias: "e/fileman/desktop/list/drop_in"; images.image: "outline.png" COMP; images.image: "diagonal_stripes.png" COMP; parts { part { name: "pat"; mouse_events: 0; description { state: "default" 0.0; rel.to: "base"; rel1.offset: 1 1; rel2.offset: -2 -2; image.normal: "diagonal_stripes.png"; color_class: "/bg/normal/fileman/drop/base"; TILED_PATTERN(240, 240) visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "base"; mouse_events: 0; description { state: "default" 0.0; image.normal: "outline.png"; image.border: 4 4 4 4; image.middle: 0; fill.smooth: 0; visible: 0; color_class: "/bg/normal/fileman/drop/outline"; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "arrow0"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "base"; align: 0.5 0.0; rel1.relative: 0.0 -1.0; rel2.relative: 1.0 0.0; image.normal: "i-arrow-d"; FIXED_SIZE(15, 15) color_class: "/fg/normal/fileman/drop/arrows"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "hidden" 0.0; inherit: "default" 0.0; align: 0.5 1.0; FIXED_SIZE(1, 1) color: 255 255 255 0; // no cc visible: 0; } } part { name: "arrow1"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "base"; align: 0.5 1.0; rel1.relative: 0.0 1.0; rel2.relative: 1.0 2.0; image.normal: "i-arrow-u"; FIXED_SIZE(15, 15) color_class: "/fg/normal/fileman/drop/arrows"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "hidden" 0.0; inherit: "default" 0.0; align: 0.5 0.0; FIXED_SIZE(1, 1) color: 255 255 255 0; // no cc visible: 0; } } } programs { program { name: "drop1"; signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "arrow0"; target: "arrow1"; after: "drop2"; } program { name: "drop2"; action: STATE_SET "hidden" 0.0; transition: LINEAR 0.5; target: "arrow0"; target: "arrow1"; after: "drop1"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "base"; target: "pat"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "arrow0"; target: "arrow1"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "base"; target: "pat"; } } } group { name: "e/fileman/default/list/drop_between"; alias: "e/fileman/desktop/list/drop_between"; parts { part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.offset: 0 -1; rel2.offset: -1 -1; color_class: "/bg/normal/fileman/drop/outline"; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "arrow0"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "base"; align: 0.5 0.0; rel1.offset: 0 -40; rel2.relative: 1.0 0.0; image.normal: "i-arrow-d"; FIXED_SIZE(15, 15) color_class: "/bg/normal/fileman/drop/arrows"; visible: 0; offscale; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "hidden" 0.0; inherit: "default" 0.0; align: 0.5 1.0; FIXED_SIZE(1, 1) color: 255 255 255 0; // no cc visible: 0; } } part { name: "arrow1"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "base"; align: 0.5 1.0; rel1.relative: 0.0 1.0; rel2.offset: -1 39; image.normal: "i-arrow-u"; FIXED_SIZE(15, 15) color_class: "/bg/normal/fileman/drop/arrows"; visible: 0; offscale; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "hidden" 0.0; inherit: "default" 0.0; align: 0.5 0.0; FIXED_SIZE(1, 1) color: 255 255 255 0; // no cc visible: 0; } } } programs { program { name: "drop1"; signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "arrow0"; target: "arrow1"; after: "drop2"; } program { name: "drop2"; action: STATE_SET "hidden" 0.0; transition: LINEAR 0.5; target: "arrow0"; target: "arrow1"; after: "drop1"; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "active" 0.0; target: "base"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "arrow0"; target: "arrow1"; } program { signal: "e,state,unselected"; source: "e"; action: STATE_SET "default" 0.0; target: "base"; } } } group { name: "e/fileman/default/rubberband"; images.image: "outline.png" COMP; images.image: "diagonal_stripes.png" COMP; parts { part { name: "pat"; mouse_events: 0; description { state: "default" 0.0; rel.to: "base"; rel1.offset: 1 1; rel2.offset: -2 -2; image.normal: "diagonal_stripes.png"; color_class: "/bg/normal/fileman/selection/base"; TILED_PATTERN(240, 240) } } part { name: "base"; mouse_events: 0; description { state: "default" 0.0; image.normal: "outline.png"; image.border: 4 4 4 4; image.middle: 0; fill.smooth: 0; color_class: "/bg/normal/fileman/selection/outline"; } } } } group { name: "e/fileman/default/progress"; IMAGE_RING("ringa", 160) IMAGE_RING("ringb", 160) IMAGE_RING("ringc", 160) images.image: "speaker_vol.png" COMP; parts { part { name: "size"; type: SPACER; scale: 1; description { state: "default" 0.0; rel.to: "e.text.info"; min: 0 40; } } part { name: "base"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.offset: 2 2; rel2.offset: -3 -3; color_class: "/bg/normal/fileman/overlay/progress/base"; fixed: 1 1; offscale; } } part { name: "progress"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to: "base"; rel1.relative: 0.0 1.0; rel1.offset: 0 -5; rel2.to: "e.gauge.bar"; rel2.relative: 1.0 1.0; color_class: "/fg/normal/fileman/overlay/progress/bar"; min: 0 5; align: 0.0 1.0; fixed: 1 1; offscale; } } part { name: "e.gauge.bar"; type: SPACER; mouse_events: 0; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "base"; description { state: "default" 0.0; rel.to: "base"; } } part { name: "e.text.info"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "busy_area"; rel1.offset: 4 8; rel2.relative: 0.0 1.0; rel2.to_x: "close_event"; rel2.offset: -5 -9; color_class: "/fg/normal/fileman/overlay/progress/text"; min: 240 1; text { font: FN; size: 10; min: 0 1; ellipsis: 0.0; align: 0.0 0.5; text_class: "fileman_icon"; } offscale; } } part { name: "busy_area"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.offset: 8 8; rel2.offset: 8 -9; rel2.relative: 0.0 1.0; align: 0.0 0.5; FIXED_SIZE(40, 40) offscale; } } BUSY("busy_area", "e,state,busy,start", "e", "e,state,busy,stop", "e") part { name: "attention_event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; // no cc visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "led_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; // no cc visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 255; // no cc visible: 1; } } part { name: "led"; mouse_events: 0; clip_to: "led_clip"; description { state: "default" 0.0; rel.to: "busy_area"; image.normal: "speaker_vol.png"; FIXED_SIZE(12, 12) fixed: 1 1; color_class: "/fg/normal/fileman/overlay/progress/led"; } description { state: "blink" 0.0; inherit: "default" 0.0; color: 255 255 255 0; // no cc visible: 0; } } part { name: "close"; mouse_events: 0; scale: 1; description { state: "default" 0.0; image.normal: "i-close"; rel.to: "close_event"; FIXED_SIZE(15, 15) fixed: 1 1; color_class: "/fg/normal/fileman/overlay/progress/close"; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/pressed/fileman/overlay/progress/close"; } } part { name: "close_event"; type: RECT; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; rel1.relative: 1.0 0.0; rel1.offset: -9 8; rel2.offset: -9 -9; color: 0 0 0 0; // no cc FIXED_SIZE(15, 15) fixed: 1 1; offscale; } } } /* we can also use messages with floats for progresss. script { public message(Msg_Type:type, id, ...) { if ((type == MSG_FLOAT) && (id == 1)) { new Float:val; val = getfarg(2); // val 0.0 -. 1.0 percentage custom_state(PART:"progress", "default", 0.0); set_state_val(PART:"progress", STATE_REL2, val, 1.0); set_state(PART:"progress", "custom", 0.0); } } } */ programs { program { signal: "e,state,attention,start"; source: "e"; action: STATE_SET "active" 0.0; target: "led_clip"; target: "attention_event"; } program { signal: "e,state,attention,stop"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 0.6; target: "led_clip"; target: "attention_event"; after: "led_stop_blink"; } program { name: "led_blink"; signal: "e,state,attention,start"; source: "e"; action: STATE_SET "blink" 0.0; transition: LINEAR 0.6; target: "led"; after: "led_blink2"; } program { name: "led_blink2"; action: STATE_SET "default" 0.0; transition: LINEAR 0.2; target: "led"; after: "led_blink"; } program { name: "led_stop_blink"; action: ACTION_STOP; target: "led_blink"; target: "led_blink2"; } program { signal: "mouse,down,1*"; source: "close_event"; action: STATE_SET "selected" 0.0; target: "close"; } program { signal: "mouse,up,1*"; source: "close_event"; action: STATE_SET "default" 0.0; target: "close"; } program { signal: "mouse,clicked,1*"; source: "close_event"; action: SIGNAL_EMIT "e,fm,operation,abort" ""; } program { signal: "mouse,clicked,1*"; source: "attention_event"; action: SIGNAL_EMIT "e,fm,window,jump" ""; } /* XXX: implement these program { signal: "e,action,set,normal"; source: "e"; } program { signal: "e,action,icon,unknown"; source: "e"; } program { signal: "e,action,icon,copy"; source: "e"; } program { signal: "e,action,icon,move"; source: "e"; } program { signal: "e,action,icon,secure_delete"; source: "e"; } */ } } group { name: "e/modules/efm_navigation/main"; alias: "modules/efm_navigation/main"; parts { part { name: "base"; type: SPACER; description { state: "default" 0.0; rel1.to: "back"; rel2.to: "favorite"; fixed: 1 1; } } part { name: "e.swallow.pathbar"; type: SWALLOW; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; rel1.to_x: "base"; rel1.relative: 1.0 0.0; rel1.offset: 3 4; rel2.offset: -4 -4; offscale; } } #define BUTTON(_NAME, _REL, _ICON, _ACTION) \ part { name: _NAME"_icon"; \ scale: 1; \ description { state: "default" 0.0; \ rel.to: _REL; \ image.normal: "i-"_ICON; \ min: 15 15; \ max: 15 15; \ fixed: 1 1; \ color_class: "/fg/normal/fileman/nav/button"; \ } \ description { state: "active" 0.0; \ inherit: "default" 0; \ color_class: "/fg/pressed/fileman/nav/button"; \ } \ } \ program { signal: "mouse,down,1*"; source: _REL; \ action: STATE_SET "active" 0.0; \ target: _NAME"_icon"; \ } \ program { signal: "mouse,up,1*"; source: _REL; \ action: STATE_SET "default" 0.0; \ target: _NAME"_icon"; \ } \ program { signal: "mouse,clicked,1*"; source: _REL; \ action: SIGNAL_EMIT "e,action,"_ACTION",click" ""; \ } \ BUTTON("go_back", "back", "arrow-l", "back") BUTTON("go_forward", "forward", "arrow-r", "forward") BUTTON("go_parent", "parent", "arrow-u", "up") BUTTON("go_reload", "reload", "reload", "refresh") BUTTON("go_fav", "favorite", "heart", "favorites") part { name: "back"; type: RECT; description { state: "default" 0.0; rel1.offset: 6 0; rel2.relative: 0.0 1.0; rel2.offset: 6 -1; align: 0.0 0.5; color: 0 0 0 0; // no cc aspect: 1.0 1.0; aspect_preference: VERTICAL; fixed: 0 1; } } part { name: "forward"; type: RECT; description { state: "default" 0.0; rel1.to: "back"; rel1.relative: 1.0 0.0; rel2.to: "back"; align: 0.0 0.5; color: 0 0 0 0; // no cc aspect: 1.0 1.0; aspect_preference: VERTICAL; fixed: 0 1; } } part { name: "parent"; type: RECT; description { state: "default" 0.0; rel1.to: "forward"; rel1.relative: 1.0 0.0; rel2.to: "forward"; align: 0.0 0.5; color: 0 0 0 0; // no cc aspect: 1.0 1.0; aspect_preference: VERTICAL; fixed: 0 1; } } part { name: "reload"; type: RECT; description { state: "default" 0.0; rel.to: "parent"; rel1.relative: 1.0 0.0; align: 0.0 0.5; color: 0 0 0 0; // no cc aspect: 1.0 1.0; aspect_preference: VERTICAL; fixed: 0 1; } } part { name: "favorite"; type: RECT; description { state: "default" 0.0; rel.to: "reload"; rel1.relative: 1.0 0.0; align: 0.0 0.5; color: 0 0 0 0; // no cc aspect: 1.0 1.0; aspect_preference: VERTICAL; fixed: 0 1; } } } } group { name: "e/modules/efm_navigation/pathbar_button"; alias: "modules/efm_navigation/pathbar_button"; parts { part { name: "e.text.label"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.offset: 6 6; rel2.offset: -7 -7; color_class: "/fg/normal/fileman/nav/path/text"; offscale; text { font: FN; size: 10; min: 1 1; ellipsis: -1; align: 0.5 0.5; text_class: "button"; } } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/fileman/nav/path/text"; } } part { name: "bar"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; align: 0.5 1.0; min: 1 5; rel1.relative: 0.0 1.0; color_class: "/bg/selected/fileman/nav/path/bar"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; // no cc } } } programs { program { signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "e,action,click" ""; } program { signal: "e,state,selected"; source: "e"; action: STATE_SET "selected" 0.0; target: "e.text.label"; target: "bar"; } program { signal: "e,state,default"; source: "e"; action: STATE_SET "default" 0.0; target: "e.text.label"; target: "bar"; } } } group { name: "e/modules/efm_navigation/pathbar_scrollframe"; alias: "modules/efm_navigation/pathbar_scrollframe"; parts { part { name: "clipper"; type: RECT; description { state: "default" 0.0; rel.to: "e.swallow.content"; rel1.offset: 0 -50; rel2.offset: -1 49; offscale; } } part { name: "e.swallow.content"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "arrow1_ev"; rel2.relative: 0.0 1.0; rel2.to_x: "arrow2_ev"; } } part { name: "e.dragable.hbar"; mouse_events: 0; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "clipper"; description { state: "default" 0.0; rel.to: "clipper"; visible: 0; } } part { name: "arrow_clipper"; type: RECT; description { state: "default" 0.0; } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "arrow1"; mouse_events: 0; clip_to: "arrow_clipper"; scale: 1; description { state: "default" 0.0; rel.to: "arrow1_ev"; image.normal: "i-arrow-l"; FIXED_SIZE(15, 15) color_class: "/bg/normal/fileman/nav/scroller/arrow/left"; } description { state: "clicked" 0.0; inherit: "default" 0.0; color_class: "/bg/pressed/fileman/nav/scroller/arrow/left"; } } part { name: "arrow1_ev"; type: RECT; scale: 1; clip_to: "arrow_clipper"; description { state: "default" 0.0; align: 0.0 0.5; color: 0 0 0 0; // no cc FIXED_SIZE(23, 23) } } part { name: "arrow2"; mouse_events: 0; clip_to: "arrow_clipper"; scale: 1; description { state: "default" 0.0; rel.to: "arrow2_ev"; image.normal: "i-arrow-r"; FIXED_SIZE(15, 15) color_class: "/bg/normal/fileman/nav/scroller/arrow/right"; } description { state: "clicked" 0.0; inherit: "default" 0.0; color_class: "/bg/pressed/fileman/nav/scroller/arrow/right"; } } part { name: "arrow2_ev"; type: RECT; scale: 1; clip_to: "arrow_clipper"; description { state: "default" 0.0; align: 1.0 0.5; color: 0 0 0 0; // no cc FIXED_SIZE(23, 23) } } } programs { program { signal: "e,action,show,hbar"; source: "e"; action: STATE_SET "default" 0.0; target: "arrow_clipper"; } program { signal: "e,action,hide,hbar"; source: "e"; action: STATE_SET "hidden" 0.0; target: "arrow_clipper"; } program { signal: "mouse,down,1*"; source: "arrow1_ev"; action: SIGNAL_EMIT "e,action,prev" "e"; after: "arrow1_repeat"; } program { name: "arrow1_repeat"; action: SIGNAL_EMIT "e,action,prev" "e"; in: 0.3 0.0; after: "arrow1_repeat"; } program { signal: "mouse,up,1"; source: "arrow1_ev"; action: ACTION_STOP; target: "arrow1_repeat"; } program { signal: "mouse,down,1*"; source: "arrow1_ev"; action: STATE_SET "clicked" 0.0; target: "arrow1"; } program { signal: "mouse,up,1"; source: "arrow1_ev"; action: STATE_SET "default" 0.0; target: "arrow1"; } program { signal: "mouse,down,1*"; source: "arrow2_ev"; action: SIGNAL_EMIT "e,action,next" "e"; after: "arrow2_repeat"; } program { name: "arrow2_repeat"; action: SIGNAL_EMIT "e,action,next" "e"; in: 0.3 0.0; after: "arrow2_repeat"; } program { signal: "mouse,up,1"; source: "arrow2_ev"; action: ACTION_STOP; target: "arrow2_repeat"; } program { signal: "mouse,down,1*"; source: "arrow2_ev"; action: STATE_SET "clicked" 0.0; target: "arrow2"; } program { signal: "mouse,up,1"; source: "arrow2_ev"; action: STATE_SET "default" 0.0; target: "arrow2"; } } }