diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 38724e1b0..fed82ebb1 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -247,6 +247,7 @@ img/O/dia_grad.png \ img/O/e17_mini_button_shadow2.png \ img/O/everything_box.png \ img/O/everything_item_bg.png \ +img/O/exclam.png \ img/O/exq-bglight.png \ img/O/exq-dot-glow.png \ img/O/exq-dot.png \ diff --git a/data/themes/edc/O/ibarbox.edc b/data/themes/edc/O/ibarbox.edc index 893489ff8..15bee16f6 100644 --- a/data/themes/edc/O/ibarbox.edc +++ b/data/themes/edc/O/ibarbox.edc @@ -1,3 +1,495 @@ + group { + name: "e/modules/ibox/icon"; + alias: "e/modules/ibar/icon"; + images.image: "O/exclam.png" COMP; + data { + item: "raise_on_hilight" "0"; + // 1 or 0 if u want an icon holder to raise when the mouse (or keyboard) hilights it + // item: "item_list" "item item2 item3"; + } + parts { + part { + name: "item_clip"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "disabled" 0.0; + color: 255 255 255 64; + } + } + part { + name: "e.swallow.content"; + type: SWALLOW; + clip_to: "item_clip"; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel2.offset: -3 -3; + } + description { state: "bigger" 0.0; + } + } + part { + name: "urgent_area"; + type: RECT; + description { + state: "default" 0.0; + visible: 0; + } + description { + state: "uw0" 0.0; + inherit: "default" 0.0; + rel1.offset: -3 -2; + rel2.offset: -4 -3; + } + description { + state: "uw1" 0.0; + inherit: "default" 0.0; + rel1.offset: 5 -2; + rel2.offset: 4 -3; + } + description { + state: "uw2" 0.0; + inherit: "default" 0.0; + rel1.offset: -1 4; + rel2.offset: -2 3; + } + description { + state: "uw3" 0.0; + inherit: "default" 0.0; + rel1.offset: -2 -1; + rel2.offset: -3 -2; + } + description { + state: "uw4" 0.0; + inherit: "default" 0.0; + rel1.offset: -4 1; + rel2.offset: -5 0; + } + } + part { + name: "urgent"; + description { + state: "default" 0.0; + visible: 0; + rel1.to: "urgent_area"; + rel2.to: "urgent_area"; + image.normal: "O/exclam.png"; + color: 255 255 255 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 255 255 255 255; + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 { + relative: -0.5 -0.5; + } + rel2 { + relative: 1.5 1.5; + } + color: 255 255 255 0; + } + } + part { + name: "over"; + type: RECT; + repeat_events: 0; + description { + state: "default" 0.0; + color: 0 0 0 0; + } + } + } + programs { + program { + name: "starting"; + signal: "e,state,starting"; + source: "e"; + action: STATE_SET "disabled" 0.0; + target: "item_clip"; + } + program { + name: "started"; + signal: "e,state,started"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "item_clip"; + } + program { + name: "hover_out"; + signal: "mouse,out"; + source: "over"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.2; + target: "e.swallow.content"; + } + program { + name: "set_urgent"; + signal: "e,state,urgent"; + source: "e"; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.2; + target: "urgent"; + } + program { + name: "set_not_urgent"; + signal: "e,state,not_urgent"; + source: "e"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.6; + target: "urgent"; + } + program { + name: "urgentw0"; + signal: "e,state,urgent"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "urgent_area"; + transition: DECELERATE 0.1; + after: "urgentw1"; + } + program { + name: "urgentw1"; + action: STATE_SET "uw1" 0.0; + target: "urgent_area"; + transition: DECELERATE 0.1; + after: "urgentw2"; + } + program { + name: "urgentw2"; + action: STATE_SET "uw2" 0.0; + target: "urgent_area"; + transition: DECELERATE 0.1; + after: "urgentw3"; + } + program { + name: "urgentw3"; + action: STATE_SET "uw3" 0.0; + target: "urgent_area"; + transition: DECELERATE 0.1; + after: "urgentw4"; + } + program { + name: "urgentw4"; + action: STATE_SET "uw4" 0.0; + target: "urgent_area"; + transition: DECELERATE 0.1; + after: "urgentw0"; + } + program { + name: "not_urgent"; + signal: "e,state,not_urgent"; + source: "e"; + action: ACTION_STOP; + target: "urgentw0"; + target: "urgentw1"; + target: "urgentw2"; + target: "urgentw3"; + target: "urgentw4"; + after: "not_urgent2"; + } + program { + name: "not_urgent2"; + action: STATE_SET "default" 0.0; + target: "urgent"; + target: "urgent_area"; + } + } + } + group { + name: "e/modules/ibox/icon_overlay"; + alias: "e/modules/ibar/icon_overlay"; + data { + // item: "item_list", "item item2 item3"; + } + script { + public urgent; + } + parts { + part { + name: "base"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + color: 255 255 255 0; + } + } + part { + name: "background"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 0; + rel1.to: "base"; + rel2.to: "base"; + color: 255 255 255 0; + } + description { + state: "visible" 0.0; + visible: 1; + rel1.to: "base"; + rel2.to: "base"; + color: 255 255 255 255; + } + description { + state: "hidden" 0.0; + visible: 1; + rel1 { + relative: -0.5 -0.5; + to: "base"; + } + rel2 { + relative: 1.5 1.5; + to: "base"; + } + color: 255 255 255 0; + } + description { + state: "huge" 0.0; + visible: 1; + rel1 { + relative: -2.0 -2.0; + to: "base"; + } + rel2 { + relative: 3.0 3.0; + to: "base"; + } + color: 255 255 255 0; + } + } + part { + name: "e.swallow.content"; + type: SWALLOW; + clip_to: "background"; + description { + state: "default" 0.0; + rel1.to: "background"; + rel2.to: "background"; + } + } + part { + name: "urgent"; + description { + state: "default" 0.0; + visible: 0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "O/exclam.png"; + color: 255 255 255 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 255 255 255 255; + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 { + relative: -0.5 -0.5; + to: "base"; + } + rel2 { + relative: 1.5 1.5; + to: "base"; + } + color: 255 255 255 0; + } + } + part { + name: "e.text.label"; + type: TEXT; + effect: SOFT_SHADOW; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1 { + relative: 0.0 1.0; + offset: 0 -1; + } + rel2 { + relative: 1.0 1.0; + offset: -1 -1; + } + color: 255 255 255 0; + color3: 0 0 0 0; + color_class: "module_label"; + text { + font: "Sans:style=Bold"; + size: 10; + min: 1 1; + align: 0.5 0.5; + text_class: "module_normal"; + } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + rel1 { + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + relative: 1.0 1.0; + offset: -1 -1; + } + color: 255 255 255 255; + color3: 0 0 0 42; + } + } + } + programs { + program { + name: "go_active"; + signal: "e,state,focused"; + source: "e"; + action: STATE_SET "visible" 0.0; + target: "background"; + after: "go_active2"; + } + program { + name: "go_activeB"; + signal: "e,action,show,label"; + source: "e"; + action: STATE_SET "visible" 0.0; + transition: SINUSOIDAL 0.5; + target: "e.text.label"; + } + program { + name: "go_active2"; + action: STATE_SET "hidden" 0.0; + transition: LINEAR 0.5; + target: "background"; + after: "go_active"; + } + program { + name: "go_passive"; + signal: "e,state,unfocused"; + source: "e"; + action: ACTION_STOP; + target: "go_active"; + target: "go_active2"; + after: "go_passive2"; + } + program { + name: "go_passiveB"; + signal: "e,action,hide,label"; + source: "e"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; + target: "e.text.label"; + } + program { + name: "go_passive2"; + action: STATE_SET "default" 0.0; + target: "background"; + script { + if (get_int(urgent) == 1) { + run_program(PROGRAM:"go_urgent"); + } + } + } + program { + name: "init"; + signal: "load"; + source: ""; + script { + set_int(urgent, 0); + } + } + program { + name: "set_urgent"; + signal: "e,state,urgent"; + source: "e"; + script { + set_int(urgent, 1); + } + } + program { + name: "go_urgent"; + action: STATE_SET "visible" 0.0; + target: "background"; + target: "urgent"; + after: "go_urgent2"; + } + program { + name: "go_urgent2"; + action: STATE_SET "hidden" 0.0; + transition: LINEAR 0.5; + target: "background"; + target: "urgent"; + after: "go_urgent"; + } + program { + name: "unset_urgent"; + signal: "e,state,not_urgent"; + source: "e"; + script { + set_int(urgent, 0); + } + } + program { + name: "go_unurgent"; + signal: "e,state,not_urgent"; + source: "e"; + action: ACTION_STOP; + target: "go_urgent"; + target: "go_urgent2"; + after: "go_unurgent2"; + } + program { + name: "go_unurgent2"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.3; + target: "background"; + target: "urgent"; + } + program { + name: "exec_exec"; + signal: "e,action,exec"; + source: "e"; + after: "exec_start"; + } + program { + name: "exec_start"; + signal: "e,action,start"; + source: "e"; + action: ACTION_STOP; + target: "go_active"; + target: "go_active2"; + target: "go_passive"; + target: "go_passive2"; + target: "go_big"; + target: "go_big2"; + after: "go_big"; + } + program { + name: "go_big"; + action: STATE_SET "visible" 0.0; + target: "background"; + after: "go_big2"; + } + program { + name: "go_big2"; + action: STATE_SET "huge" 0.0; + transition: LINEAR 0.5; + target: "background"; + } + } + } group { name: "e/modules/ibox/drop"; alias: "e/modules/ibar/drop"; diff --git a/data/themes/img/O/exclam.png b/data/themes/img/O/exclam.png new file mode 100644 index 000000000..02068e2a5 Binary files /dev/null and b/data/themes/img/O/exclam.png differ