// XXX: fix cc's group { name: "e/modules/procstats/border"; max: 160 160; min: 16 16; script { public message(Msg_Type:type, id, ...) { if ((type == MSG_INT_SET) && (id == 1973)) { new cpu_num, cpu, pages_total, pages; new cp, cn, m500, mt; new Float:x, Float:y; cpu_num = getarg(2); cpu = getarg(3); pages_total = getarg(4); pages = getarg(5); cp = cpu; if (cpu_num > 0) cn = cp / cpu_num; else cn = cp; m500 = pages * 100 / 131072; // 512m of pages if (pages_total > 0) mt = pages * 100 / pages_total; else mt = m500; if (cp > 100) cp = 100; if (cn > 100) cn = 100; if (m500 > 100) m500 = 100; if (mt > 100) mt = 100; custom_state(PART:"cpu_perc", "default", 0.0); get_state_val(PART:"cpu_perc", STATE_REL2, x, y); x = float(cp) / 100.0; set_state_val(PART:"cpu_perc", STATE_REL2, x, y); set_state(PART:"cpu_perc", "custom", 0.0); custom_state(PART:"cpu_num", "default", 0.0); get_state_val(PART:"cpu_num", STATE_REL2, x, y); x = float(cn) / 100.0; set_state_val(PART:"cpu_num", STATE_REL2, x, y); set_state(PART:"cpu_num", "custom", 0.0); custom_state(PART:"mem_500", "default", 0.0); get_state_val(PART:"mem_500", STATE_REL2, x, y); x = float(m500) / 100.0; set_state_val(PART:"mem_500", STATE_REL2, x, y); set_state(PART:"mem_500", "custom", 0.0); custom_state(PART:"mem_total", "default", 0.0); get_state_val(PART:"mem_total", STATE_REL2, x, y); x = float(mt) / 100.0; set_state_val(PART:"mem_total", STATE_REL2, x, y); set_state(PART:"mem_total", "custom", 0.0); } } } parts { part { name: "base"; type: RECT; description { state: "default" 0.0; aspect: 1.0 1.0; aspect_preference: BOTH; color_class: "/bg/normal/gadgets/procstats/base"; } } part { name: "area"; type: SPACER; scale: 1; description { state: "default" 0.0; rel.to: "base"; rel1.offset: 2 2; rel2.offset: -3 -3; offscale; } } part { name: "cpu_perc"; type: RECT; description { state: "default" 0.0; rel.to: "area"; rel1.relative: 0.0 0.00; rel2.relative: 1.0 0.25; color_class: "/fg/normal/gadgets/procstats/cpu/one"; } } part { name: "cpu_num"; type: RECT; description { state: "default" 0.0; rel.to: "area"; rel1.relative: 0.0 0.25; rel2.relative: 1.0 0.50; color_class: "/fg/normal/gadgets/procstats/cpu/all"; } } part { name: "mem_500"; type: RECT; description { state: "default" 0.0; rel.to: "area"; rel1.relative: 0.0 0.50; rel2.relative: 1.0 0.75; color_class: "/fg/normal/gadgets/procstats/mem/limit"; } } part { name: "mem_total"; type: RECT; description { state: "default" 0.0; rel.to: "area"; rel1.relative: 0.0 0.75; rel2.relative: 1.0 1.00; color_class: "/fg/normal/gadgets/procstats/mem/all"; } } part { name: "over"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; // no cc } } } programs { } }