group { "e/gadget/clock/digital/advanced"; nomouse; script { public message(Msg_Type:type, id, ...) { #define CUSTOM(NAME) \ custom_state(PART:NAME, "default", 0.0); \ set_state_val(PART:NAME, STATE_COLOR_CLASS, str); \ set_state(PART:NAME, "custom", 0.0) if ((type == MSG_STRING_INT) && (id == 3)) { new str[128]; new on; getsarg(2, str, sizeof(str)); on = getarg(3); if (on) { CUSTOM("clip"); } else { set_state(PART:"clip", "default", 0.0); } #undef CUSTOM } } } parts { rect { "clip"; desc { } } text { "e.text"; scale; clip: "clip"; desc { "default"; align: 0.5 0; rel1.offset: 2 0; rel2.relative: 1 0; rel2.offset: -3 -1; color: 160 160 160 255; text { font: FN; size: 12; min: 1 1; text_class: "module_normal"; ellipsis: -1; } } desc { "only"; inherit; align: 0.5 0.5; rel2.relative: 1 1; text.fit: 0 1; text.font: FNBD; text.text_class: "module_large"; } } text { "e.text.sub"; scale; clip: "clip"; desc { "default"; align: 0.5 0; rel1.relative: 0 1; rel1.offset: 2 0; rel1.to_y: "e.text"; rel2.offset: -3 -1; color: 160 160 160 255; text { font: FN; size: 9; min: 1 1; text_class: "module_small"; ellipsis: -1; } } desc { "only"; hid; max: 0 0; } } spacer { "e.sizer"; desc { rel1.to: "e.text"; rel2.to: "e.text.sub"; rel2.offset: 3 0; } desc { "only"; rel.to: "e.text"; } } rect { "eventarea"; mouse; desc { color: 0 0 0 0; } } program { signal: "e,state,date,on"; source: "e"; action: STATE_SET "default"; targets: "e.text" "e.text.sub" "e.sizer"; } program { signal: "e,state,date,off"; source: "e"; action: STATE_SET "only"; targets: "e.text" "e.text.sub" "e.sizer"; } program { signal: "resize"; action: SIGNAL_EMIT "e,state,sizing,changed" "e"; } } }