collections { ////////////////////////////////////////////////////////////////////////////// //// the background and general container for the terminal group { name: "rage/core"; images.image: "pm_fill.png" COMP; images.image: "pm_overlay.png" COMP; images.image: "pm_shadow.png" COMP; images.image: "glow_exclam.png" COMP; images.image: "icon_eject.png" COMP; images.image: "icon_mute.png" COMP; images.image: "icon_volume.png" COMP; images.image: "icon_prev.png" COMP; images.image: "icon_next.png" COMP; images.image: "icon_rewind.png" COMP; images.image: "icon_forward.png" COMP; images.image: "icon_stop.png" COMP; images.image: "icon_pause.png" COMP; images.image: "icon_play.png" COMP; images.image: "icon_refresh.png" COMP; images.image: "icon_arrow_right.png" COMP; images.image: "icon_spanner.png" COMP; images.image: "horizontal_separated_bar_small_glow.png" COMP; images.image: "vgrad_shadow_bi.png" COMP; set { name: "pos_indicator"; image { image: "pos_indicator_big.png" COMP; size: 32 28 99999 99999; } image { image: "pos_indicator.png" COMP; size: 0 0 31 27; } } images.image: "icon_next2.png" COMP; images.image: "icon_prev2.png" COMP; images.image: "icon_play2.png" COMP; images.image: "icon_pause2.png" COMP; images.image: "icon_volume2.png" COMP; images.image: "icon_spanner2.png" COMP; script { public pos_visible; public pos_timer; public pos_timeout(val) { set_int(pos_visible, 0); set_int(pos_timer, 0); stop_program(PROGRAM:"posshow"); run_program(PROGRAM:"poshide"); } } parts { part { name: "fill"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "pm_fill.png"; fill { size.relative: 0.0 0.0; size.offset: 64 64; } } } part { name: "popmedia_overlay"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "pm_overlay.png"; fill.smooth: 0; } } part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.content"; rel2.to: "rage.content"; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; rel1.offset: -32 -32; rel2.offset: 31 31; fill.smooth: 0; } } part { name: "black"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 0 0 0 255; visible: 1; } } program { signal: "state,win,fullscreen"; source: "rage"; action: STATE_SET "visible" 0.0; transition: SINUSOIDAL 0.2; target: "black"; } program { signal: "state,win,normal"; source: "rage"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0; target: "black"; } part { name: "base"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "rage.content"; rel2.to: "rage.content"; color: 0 0 0 255; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 32 32 32 255; } description { state: "play" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "exclam"; mouse_events: 0; scale: 1; clip_to: "novid_clip"; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; fixed: 1 1; image.normal: "glow_exclam.png"; max: 24 24; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } description { state: "play" 0.0; inherit: "default" 0.0; visible: 0; } } program { signal: "action,newvid"; source: "rage"; action: STATE_SET "default" 0.0; target: "exclam"; target: "base"; after: "newvid2"; } program { name: "newvid2"; action: STATE_SET "visible" 0.0; in: 2.0 0.0; transition: SINUSOIDAL 1.0; target: "exclam"; target: "base"; } program { signal: "action,frame"; source: "rage"; action: STATE_SET "play" 0.0; target: "exclam"; target: "base"; } part { name: "novid_clip"; type: RECT; description { state: "default" 0.0; } description { state: "novideo" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "novid_base"; type: RECT; mouse_events: 0; clip_to: "novid_clip2"; description { state: "default" 0.0; rel1.to: "rage.content"; rel2.to: "rage.content"; color: 32 32 32 255; } } part { name: "novid"; mouse_events: 0; scale: 1; clip_to: "novid_clip2"; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; fixed: 1 1; image.normal: "icon_volume.png"; max: 24 24; aspect: 1.0 1.0; aspect_preference: BOTH; } } part { name: "novid_clip2"; type: RECT; description { state: "default" 0.0; visible: 0; } description { state: "novideo" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "state,novideo"; source: "rage"; action: STATE_SET "novideo" 0.0; target: "novid_clip"; target: "novid_clip2"; } program { signal: "state,video"; source: "rage"; action: STATE_SET "default" 0.0; target: "novid_clip"; target: "novid_clip2"; } part { name: "rage.content"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "poscover"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; image.normal: "vgrad_shadow_bi.png"; rel1.relative: 0.0 1.0; visible: 0; color: 255 255 255 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; min: 0 240; } } part { name: "mute"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.vol.swallow"; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel2.to_x: "rage.vol.swallow"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; align: 0.0 0.0; image.normal: "icon_mute.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } #define STATE_FADE_PROG(_name) \ program { \ signal: "action,"_name; source: "rage"; \ action: STATE_SET "visible" 0.0; \ transition: SINUSOIDAL 0.2 CURRENT; \ target: _name; \ after: _name"2"; \ } \ program { name: _name"2"; \ action: STATE_SET "default" 0.0; \ in: 1.0 0.0; \ transition: SINUSOIDAL 1.0 CURRENT; \ target: _name""; \ } STATE_FADE_PROG("mute") part { name: "unmute"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.vol.swallow"; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel2.to_x: "rage.vol.swallow"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; align: 0.0 0.0; image.normal: "icon_volume.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("unmute") part { name: "loop"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel1.to_x: "mute"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; rel2.to_x: "mute"; align: 0.0 0.0; image.normal: "icon_refresh.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("loop") part { name: "sequential"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel1.to_x: "mute"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; rel2.to_x: "mute"; align: 0.0 0.0; image.normal: "icon_arrow_right.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("sequential") part { name: "play"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.options.swallow"; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel2.to_x: "rage.options.swallow"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_play.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("play") part { name: "pause"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.options.swallow"; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel2.to_x: "rage.options.swallow"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_pause.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("pause") part { name: "stop"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: -6 5; rel2.relative: 1.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_stop.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("stop") part { name: "eject"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel1.to_x: "play"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; rel2.to_x: "play"; align: 1.0 0.0; image.normal: "icon_eject.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("eject") part { name: "forward"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.5; rel1.offset: -6 0; rel2.relative: 1.0 0.5; rel2.offset: -6 -1; align: 1.0 0.5; image.normal: "icon_forward.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("forward") part { name: "next"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.5; rel1.offset: -6 0; rel2.relative: 1.0 0.5; rel2.offset: -6 -1; align: 1.0 0.5; image.normal: "icon_next.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("next") part { name: "rewind"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.5; rel1.offset: 5 0; rel2.relative: 0.0 0.5; rel2.offset: 5 -1; align: 0.0 0.5; image.normal: "icon_rewind.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("rewind") part { name: "prev"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.5; rel1.offset: 5 0; rel2.relative: 0.0 0.5; rel2.offset: 5 -1; align: 0.0 0.5; image.normal: "icon_prev.png"; min: 20 20; max: 20 20; aspect: 1.0 1.0; aspect_preference: BOTH; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } STATE_FADE_PROG("prev") part { name: "posclip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; color: 255 255 255 255; visible: 1; } } part { name: "bar_bg"; type: SPACER; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "pos_playev"; rel1.offset: 0 -1; rel1.relative: 1.5 1.0; rel2.to_x: "pos_nextev"; rel2.relative: -0.5 1.0; min: 1 1; } } part { name: "rage.dragable.pos"; type: RECT; mouse_events: 0; clip_to: "posclip"; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "bar_bg"; description { state: "default" 0.0; min: 1 1; max: 1 1; rel1.relative: 0.5 0.0; rel1.to_x: "bar_bg"; rel2.relative: 0.5 1.0; rel2.to_x: "bar_bg"; color: 0 0 255 128; fixed: 1 1; } } part { name: "bar"; mouse_events: 0; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; image.normal: "horizontal_separated_bar_small_glow.png"; image.border: 4 4 4 44; rel1.offset: -3 -7; rel1.relative: 0.0 1.0; rel1.to_x: "bar_bg"; rel2.offset: 2 2; rel2.to_x: "rage.dragable.pos"; min: 8 0; fill.smooth: 0; } } part { name: "pos"; mouse_events: 0; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; image.normal: "pos_indicator"; min: 15 13; max: 15 13; rel1.to: "rage.dragable.pos"; rel2.to: "rage.dragable.pos"; align: 0.5 0.815; } } part { name: "rage.pos.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.dragable.pos"; rel2.to: "rage.dragable.pos"; align: 0.5 1.0; min: 20 20; } } part { name: "posevent"; type: RECT; clip_to: "posclip"; scale: 1; ignore_flags: ON_HOLD; dragable.events: "rage.dragable.pos"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.pos.swallow"; rel2.to: "rage.pos.swallow"; color: 0 0 0 0; min: 24 24; align: 0.5 1.0; } } part { name: "rage.vol.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.0; rel1.offset: 5 5; rel2.relative: 0.0 0.0; rel2.offset: 5 5; min: 20 20; align: 0.0 0.0; } } part { name: "rage.options.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: -6 5; rel2.relative: 1.0 0.0; rel2.offset: -6 5; min: 20 20; align: 1.0 0.0; } } part { name: "rage.pos.prev.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 1.0; rel2.relative: 0.0 1.0; min: 20 20; align: 0.0 1.0; } } part { name: "rage.pos.play.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.pos.prev.swallow"; rel1.relative: 1.0 1.0; rel2.to_x: "rage.pos.prev.swallow"; rel2.relative: 1.0 1.0; min: 20 20; align: 0.0 1.0; } } part { name: "rage.pos.next.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 1.0; min: 20 20; align: 1.0 1.0; } } part { name: "vol"; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.vol.swallow"; rel2.to: "rage.vol.swallow"; image.normal: "icon_volume.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_volume2.png"; } } part { name: "volev"; type: RECT; description { state: "default" 0.0; rel1.to: "rage.vol.swallow"; rel2.to: "rage.vol.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "volev"; action: STATE_SET "active" 0.0; target: "vol"; } program { signal: "mouse,up,1"; source: "volev"; action: STATE_SET "default" 0.0; target: "vol"; } part { name: "opt"; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.options.swallow"; rel2.to: "rage.options.swallow"; image.normal: "icon_spanner.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_spanner2.png"; } } part { name: "optev"; type: RECT; description { state: "default" 0.0; rel1.to: "rage.options.swallow"; rel2.to: "rage.options.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "optev"; action: STATE_SET "active" 0.0; target: "opt"; } program { signal: "mouse,up,1"; source: "optev"; action: STATE_SET "default" 0.0; target: "opt"; } part { name: "pos_prev"; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.pos.prev.swallow"; rel2.to: "rage.pos.prev.swallow"; image.normal: "icon_prev.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_prev2.png"; } } part { name: "pos_prevev"; type: RECT; description { state: "default" 0.0; rel1.to: "rage.pos.prev.swallow"; rel2.to: "rage.pos.prev.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "pos_prevev"; action: STATE_SET "active" 0.0; target: "pos_prev"; } program { signal: "mouse,up,1"; source: "pos_prevev"; action: STATE_SET "default" 0.0; target: "pos_prev"; } part { name: "playpause"; type: RECT; clip_to: "posclip"; description { state: "default" 0.0; visible: 0; } description { state: "pause" 0.0; visible: 1; } } part { name: "pos_pause"; scale: 1; clip_to: "playpause"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.pos.play.swallow"; rel2.to: "rage.pos.play.swallow"; image.normal: "icon_pause.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_pause2.png"; } } part { name: "pos_pauseev"; type: RECT; clip_to: "playpause"; description { state: "default" 0.0; rel1.to: "rage.pos.play.swallow"; rel2.to: "rage.pos.play.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "pos_pauseev"; action: STATE_SET "active" 0.0; target: "pos_pause"; } program { signal: "mouse,up,1"; source: "pos_pauseev"; action: STATE_SET "default" 0.0; target: "pos_pause"; } part { name: "playpause2"; type: RECT; clip_to: "posclip"; description { state: "default" 0.0; visible: 1; } description { state: "pause" 0.0; visible: 0; } } part { name: "pos_play"; scale: 1; clip_to: "playpause2"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.pos.play.swallow"; rel2.to: "rage.pos.play.swallow"; image.normal: "icon_play.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_play2.png"; } } part { name: "pos_playev"; type: RECT; clip_to: "playpause2"; description { state: "default" 0.0; rel1.to: "rage.pos.play.swallow"; rel2.to: "rage.pos.play.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "pos_playev"; action: STATE_SET "active" 0.0; target: "pos_play"; } program { signal: "mouse,up,1"; source: "pos_playev"; action: STATE_SET "default" 0.0; target: "pos_play"; } program { signal: "action,play"; source: "rage"; action: STATE_SET "default" 0.0; target: "playpause"; target: "playpause2"; } program { signal: "action,pause"; source: "rage"; action: STATE_SET "pause" 0.0; target: "playpause"; target: "playpause2"; } part { name: "pos_next"; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.pos.next.swallow"; rel2.to: "rage.pos.next.swallow"; image.normal: "icon_next.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_next2.png"; } } part { name: "pos_nextev"; type: RECT; description { state: "default" 0.0; rel1.to: "rage.pos.next.swallow"; rel2.to: "rage.pos.next.swallow"; color: 0 0 0 0; } } program { signal: "mouse,down,1"; source: "pos_nextev"; action: STATE_SET "active" 0.0; target: "pos_next"; } program { signal: "mouse,up,1"; source: "pos_nextev"; action: STATE_SET "default" 0.0; target: "pos_next"; } program { signal: "mouse,clicked,1"; source: "optev"; action: SIGNAL_EMIT "pos,action,options" "rage"; } program { signal: "mouse,clicked,1"; source: "pos_prevev"; action: SIGNAL_EMIT "pos,action,prev" "rage"; } program { signal: "mouse,clicked,1"; source: "pos_nextev"; action: SIGNAL_EMIT "pos,action,next" "rage"; } program { signal: "mouse,clicked,1"; source: "pos_playev"; action: SIGNAL_EMIT "pos,action,pause" "rage"; } program { signal: "mouse,clicked,1"; source: "pos_pauseev"; action: SIGNAL_EMIT "pos,action,play" "rage"; } part { name: "rage.pos"; type: TEXT; mouse_events: 0; clip_to: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.to_x: "slash"; rel1.relative: 0.0 0.0; rel1.offset: -1 -6; rel2.to_y: "pos_next"; rel2.to_x: "slash"; rel2.relative: 0.0 0.0; rel2.offset: -1 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; } } } part { name: "slash"; type: TEXT; mouse_events: 0; clip_to: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.to_x: "rage.length"; rel1.relative: 0.0 0.0; rel1.offset: -1 -6; rel2.to_y: "pos_next"; rel2.to_x: "rage.length"; rel2.relative: 0.0 0.0; rel2.offset: -1 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; text: "/"; } } } part { name: "rage.length"; type: TEXT; mouse_events: 0; clip_to: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.relative: 1.0 0.0; rel1.offset: -6 -6; rel2.to_y: "pos_next"; rel2.relative: 1.0 0.0; rel2.offset: -6 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; } } } part { name: "event"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } program { name: "move1"; signal: "mouse,move"; source: "event"; script { new t; if (!get_int(pos_visible)) { stop_program(PROGRAM:"poshide"); run_program(PROGRAM:"posshow"); set_int(pos_visible, 1); } t = get_int(pos_timer); if (t) cancel_timer(t); t = timer(5.0, "pos_timeout", 1); set_int(pos_timer, t); } } program { name: "posshow"; action: STATE_SET "visible" 0.0; transition: SINUSOIDAL 0.3 CURRENT; target: "poscover"; target: "posclip"; } program { name: "poshide"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0 CURRENT; target: "poscover"; target: "posclip"; } program { signal: "action,newvid"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,rewind"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,forward"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,next"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,prev"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,play"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } program { signal: "action,pause"; source: "rage"; action: SIGNAL_EMIT "mouse,move" "event"; } } } }