This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch reproducible-widget-previews
in repository efl.

View the commit online.

commit 082cc8a9207760eac54095261fc213849ad7a8e6
Author: [email protected] <[email protected]>
AuthorDate: Wed Mar 11 21:26:31 2026 -0600

    feat(connman): add WiFi traffic activity indicator dots
    
    Add RX and TX activity indicator dots to the WiFi gadget icon that
    visualize network traffic in real time. The RX dot (left) bounces
    upward to represent downloads, while the TX dot (right) bounces
    downward to represent uploads. Each dot responds to three traffic
    speed levels with progressively faster animations: low traffic (0.5s
    blink cycle, 0.25s bounce), medium traffic (continuous 0.3s blink
    cycle, 0.15s bounce), and high traffic (continuous 0.15s blink cycle,
    0.08s bounce).
    
    The indicator gracefully idles by stopping animations and fading out
    the dots when no traffic is detected.
    
    Also adjust WiFi band label text alignment from centered to left-aligned
    to make room for the activity indicators.
---
 data/elementary/themes/edc/connman.edc | 252 ++++++++++++++++++++++++++++++++-
 1 file changed, 250 insertions(+), 2 deletions(-)

diff --git a/data/elementary/themes/edc/connman.edc b/data/elementary/themes/edc/connman.edc
index af960b3131..c9ebab4412 100644
--- a/data/elementary/themes/edc/connman.edc
+++ b/data/elementary/themes/edc/connman.edc
@@ -341,14 +341,14 @@ group { name: "e/modules/connman/main";
          clip_to: "clip_wifi";
          description { state: "default" 0.0;
             rel1.relative: 0.0 0.0;
-            rel2.relative: 1.0 0.45;
+            rel2.relative: 0.85 0.45;
             rel1.to: "wifi-base";
             rel2.to: "wifi-base";
             color: 170 220 255 220;
             color3: 0 0 0 128;
             text { font: FN; size: 7;
                text: "";
-               align: 0.5 0.5;
+               align: 0.0 0.5;
                min: 0 0;
             }
          }
@@ -378,6 +378,62 @@ group { name: "e/modules/connman/main";
             color_class: "/fg/normal/gadgets/connman/security/secure/hi";
          }
       }
+      part { name: "activity_rx"; type: RECT; mouse_events: 0;
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            visible: 0;
+            rel1 { relative: 0.18 0.80; to: "wifi"; }
+            rel2 { relative: 0.28 0.90; to: "wifi"; }
+            color: 170 220 255 0;
+         }
+         description { state: "on" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 200;
+            rel1 { relative: 0.18 0.80; to: "wifi"; }
+            rel2 { relative: 0.28 0.90; to: "wifi"; }
+         }
+         description { state: "bounce" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 200;
+            rel1 { relative: 0.18 0.65; to: "wifi"; }
+            rel2 { relative: 0.28 0.75; to: "wifi"; }
+         }
+         description { state: "off" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 0;
+         }
+      }
+      part { name: "activity_tx"; type: RECT; mouse_events: 0;
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            visible: 0;
+            rel1 { relative: 0.32 0.80; to: "wifi"; }
+            rel2 { relative: 0.42 0.90; to: "wifi"; }
+            color: 170 220 255 0;
+         }
+         description { state: "on" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 200;
+            rel1 { relative: 0.32 0.80; to: "wifi"; }
+            rel2 { relative: 0.42 0.90; to: "wifi"; }
+         }
+         description { state: "bounce" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 200;
+            rel1 { relative: 0.32 0.95; to: "wifi"; }
+            rel2 { relative: 0.42 1.05; to: "wifi"; }
+         }
+         description { state: "off" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 170 220 255 0;
+         }
+      }
       part { name: "label_clip"; type: RECT; mouse_events: 0;
          description { state: "default" 0.0;
             color: 255 255 255 0; // no cc
@@ -641,6 +697,198 @@ else { \
          action: STATE_SET "default" 0.0;
          target: "security_overlay";
       }
+      /* --- RX (download) — dot bounces UP --- */
+      program { name: "rx_low"; signal: "e,traffic,rx,low"; source: "e";
+         action: ACTION_STOP;
+         target: "rx_up_m"; target: "rx_down_m";
+         target: "rx_up_h"; target: "rx_down_h";
+         after: "rx_appear_l";
+      }
+      program { name: "rx_appear_l";
+         action: STATE_SET "on" 0.0;
+         target: "activity_rx";
+         after: "rx_up_l";
+      }
+      program { name: "rx_up_l";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.25;
+         target: "activity_rx";
+         after: "rx_down_l";
+      }
+      program { name: "rx_down_l";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.25;
+         target: "activity_rx";
+         after: "rx_pause_l";
+      }
+      program { name: "rx_pause_l";
+         action: STATE_SET "off" 0.0;
+         transition: LINEAR 0.5;
+         target: "activity_rx";
+         after: "rx_unpause_l";
+      }
+      program { name: "rx_unpause_l";
+         action: STATE_SET "on" 0.0;
+         target: "activity_rx";
+         after: "rx_up_l";
+      }
+      program { name: "rx_med"; signal: "e,traffic,rx,medium"; source: "e";
+         action: ACTION_STOP;
+         target: "rx_up_l"; target: "rx_down_l";
+         target: "rx_pause_l"; target: "rx_unpause_l";
+         target: "rx_up_h"; target: "rx_down_h";
+         after: "rx_appear_m";
+      }
+      program { name: "rx_appear_m";
+         action: STATE_SET "on" 0.0;
+         target: "activity_rx";
+         after: "rx_up_m";
+      }
+      program { name: "rx_up_m";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.15;
+         target: "activity_rx";
+         after: "rx_down_m";
+      }
+      program { name: "rx_down_m";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.15;
+         target: "activity_rx";
+         after: "rx_up_m";
+      }
+      program { name: "rx_high"; signal: "e,traffic,rx,high"; source: "e";
+         action: ACTION_STOP;
+         target: "rx_up_l"; target: "rx_down_l";
+         target: "rx_pause_l"; target: "rx_unpause_l";
+         target: "rx_up_m"; target: "rx_down_m";
+         after: "rx_appear_h";
+      }
+      program { name: "rx_appear_h";
+         action: STATE_SET "on" 0.0;
+         target: "activity_rx";
+         after: "rx_up_h";
+      }
+      program { name: "rx_up_h";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.08;
+         target: "activity_rx";
+         after: "rx_down_h";
+      }
+      program { name: "rx_down_h";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.08;
+         target: "activity_rx";
+         after: "rx_up_h";
+      }
+      program { name: "rx_idle"; signal: "e,traffic,rx,idle"; source: "e";
+         action: ACTION_STOP;
+         target: "rx_up_l"; target: "rx_down_l";
+         target: "rx_pause_l"; target: "rx_unpause_l";
+         target: "rx_up_m"; target: "rx_down_m";
+         target: "rx_up_h"; target: "rx_down_h";
+         after: "rx_hide";
+      }
+      program { name: "rx_hide";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.3;
+         target: "activity_rx";
+      }
+      /* --- TX (upload) — dot bounces DOWN --- */
+      program { name: "tx_low"; signal: "e,traffic,tx,low"; source: "e";
+         action: ACTION_STOP;
+         target: "tx_up_m"; target: "tx_down_m";
+         target: "tx_up_h"; target: "tx_down_h";
+         after: "tx_appear_l";
+      }
+      program { name: "tx_appear_l";
+         action: STATE_SET "on" 0.0;
+         target: "activity_tx";
+         after: "tx_down_l";
+      }
+      program { name: "tx_down_l";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.25;
+         target: "activity_tx";
+         after: "tx_up_l";
+      }
+      program { name: "tx_up_l";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.25;
+         target: "activity_tx";
+         after: "tx_pause_l";
+      }
+      program { name: "tx_pause_l";
+         action: STATE_SET "off" 0.0;
+         transition: LINEAR 0.5;
+         target: "activity_tx";
+         after: "tx_unpause_l";
+      }
+      program { name: "tx_unpause_l";
+         action: STATE_SET "on" 0.0;
+         target: "activity_tx";
+         after: "tx_down_l";
+      }
+      program { name: "tx_med"; signal: "e,traffic,tx,medium"; source: "e";
+         action: ACTION_STOP;
+         target: "tx_down_l"; target: "tx_up_l";
+         target: "tx_pause_l"; target: "tx_unpause_l";
+         target: "tx_up_h"; target: "tx_down_h";
+         after: "tx_appear_m";
+      }
+      program { name: "tx_appear_m";
+         action: STATE_SET "on" 0.0;
+         target: "activity_tx";
+         after: "tx_down_m";
+      }
+      program { name: "tx_down_m";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.15;
+         target: "activity_tx";
+         after: "tx_up_m";
+      }
+      program { name: "tx_up_m";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.15;
+         target: "activity_tx";
+         after: "tx_down_m";
+      }
+      program { name: "tx_high"; signal: "e,traffic,tx,high"; source: "e";
+         action: ACTION_STOP;
+         target: "tx_down_l"; target: "tx_up_l";
+         target: "tx_pause_l"; target: "tx_unpause_l";
+         target: "tx_down_m"; target: "tx_up_m";
+         after: "tx_appear_h";
+      }
+      program { name: "tx_appear_h";
+         action: STATE_SET "on" 0.0;
+         target: "activity_tx";
+         after: "tx_down_h";
+      }
+      program { name: "tx_down_h";
+         action: STATE_SET "bounce" 0.0;
+         transition: DECELERATE 0.08;
+         target: "activity_tx";
+         after: "tx_up_h";
+      }
+      program { name: "tx_up_h";
+         action: STATE_SET "on" 0.0;
+         transition: ACCELERATE 0.08;
+         target: "activity_tx";
+         after: "tx_down_h";
+      }
+      program { name: "tx_idle"; signal: "e,traffic,tx,idle"; source: "e";
+         action: ACTION_STOP;
+         target: "tx_down_l"; target: "tx_up_l";
+         target: "tx_pause_l"; target: "tx_unpause_l";
+         target: "tx_down_m"; target: "tx_up_m";
+         target: "tx_down_h"; target: "tx_up_h";
+         after: "tx_hide";
+      }
+      program { name: "tx_hide";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.3;
+         target: "activity_tx";
+      }
    }
 }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to