raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=daa7b6c7e1dc75118a5e34fac8de0455b737bd41

commit daa7b6c7e1dc75118a5e34fac8de0455b737bd41
Author: Carsten Haitzler <ras...@rasterman.com>
Date:   Tue Sep 7 14:05:21 2021 +0100

    elm theme - add procstats mini border gadget
---
 data/elementary/themes/default.edc       |   1 +
 data/elementary/themes/edc/border.edc    |  27 ++++----
 data/elementary/themes/edc/procstats.edc | 115 +++++++++++++++++++++++++++++++
 3 files changed, 129 insertions(+), 14 deletions(-)

diff --git a/data/elementary/themes/default.edc 
b/data/elementary/themes/default.edc
index 350ab2967e..f4e1eb445f 100644
--- a/data/elementary/themes/default.edc
+++ b/data/elementary/themes/default.edc
@@ -149,6 +149,7 @@ collections {
 #include "edc/bluez5.edc"
 #include "edc/packagekit.edc"
 #include "edc/tiling.edc"
+#include "edc/procstats.edc"
 
 // icons
 #include "edc/icons.edc"
diff --git a/data/elementary/themes/edc/border.edc 
b/data/elementary/themes/edc/border.edc
index a6413b463c..9c773fbf84 100644
--- a/data/elementary/themes/edc/border.edc
+++ b/data/elementary/themes/edc/border.edc
@@ -570,20 +570,6 @@ group { name: "e/widgets/border/default/border";
             visible: 0;
          }
       }
-     part { name: "e.swallow.volume";
-         type: SWALLOW;
-         source: "e/widgets/border/volume";
-         description { state: "default" 0.0;
-            fixed: 1 0;
-            rel1.to: "e.event.icon";
-            rel1.relative: 1.0 0.0;
-            rel2.to: "e.event.icon";
-            rel2.relative: 1.0 1.0;
-            rel2.offset: 0 -1;
-            align: 0.0 0.5;
-            aspect: 1.0 1.0; aspect_preference: VERTICAL;
-         }
-      }
       part { name: "procstats"; type: RECT;
          mouse_events: 0;
          description { state: "default" 0.0;
@@ -617,6 +603,19 @@ group { name: "e/widgets/border/default/border";
             visible: 1;
          }
       }
+      part { name: "e.swallow.volume"; type: SWALLOW;
+         source: "e/widgets/border/volume";
+         description { state: "default" 0.0;
+            fixed: 1 0;
+            rel1.to: "e.event.icon";
+            rel1.relative: 1.0 0.0;
+            rel2.to: "e.event.icon";
+            rel2.relative: 1.0 1.0;
+            rel2.offset: 0 -1;
+            align: 0.0 0.5;
+            aspect: 1.0 1.0; aspect_preference: VERTICAL;
+         }
+      }
    }
    programs {
       program { signal: "e,version,22"; source: "e";
diff --git a/data/elementary/themes/edc/procstats.edc 
b/data/elementary/themes/edc/procstats.edc
new file mode 100644
index 0000000000..89221b848d
--- /dev/null
+++ b/data/elementary/themes/edc/procstats.edc
@@ -0,0 +1,115 @@
+// 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: "/dim/normal/procstats/border";
+         }
+      }
+      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: 255 51 153 255;
+         }
+      }
+      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: 255 153 51 255;
+         }
+      }
+      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: 153 255 51 255;
+         }
+      }
+      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: 51 153 255 255;
+         }
+      }
+      part { name: "over"; type: RECT;
+         description { state: "default" 0.0;
+            color: 0 0 0 0; // no cc
+         }
+      }
+   }
+   programs {
+   }
+}
+
+

-- 


Reply via email to