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 3f7e5ca070a00afe7335fcfcbf6c453c1f1bc137
Author: [email protected] <[email protected]>
AuthorDate: Thu May 21 17:20:19 2026 -0600
theme(elementary/connman): VPN tunnel shield badge
Add a vpn_badge IMAGE part to e/modules/connman/main toggled by
e,vpn,active / e,vpn,inactive signals, and ship the source SVG via
images.vector. The networkmanager E module emits these signals on
its gadget icon (which falls back to this connman group) when at
least one VPN tunnel is active.
---
data/elementary/themes/edc/connman.edc | 31 +++++++++++++++++++++++++++++++
data/elementary/themes/img/vpn-shield.svg | 10 ++++++++++
2 files changed, 41 insertions(+)
diff --git a/data/elementary/themes/edc/connman.edc b/data/elementary/themes/edc/connman.edc
index 0280625681..1cd89c7728 100644
--- a/data/elementary/themes/edc/connman.edc
+++ b/data/elementary/themes/edc/connman.edc
@@ -22,6 +22,7 @@ group { name: "e/modules/connman/main";
images.image: "cell-base.png" COMP;
images.image: "radio.png" COMP;
+ images.vector: "vpn-shield.svg";
parts {
part { name: "exclam_base"; mouse_events: 0;
scale: 1;
@@ -528,6 +529,24 @@ group { name: "e/modules/connman/main";
color: 0 0 0 0; // no cc
}
}
+ // VPN tunnel indicator — top-right shield badge, hidden by default,
+ // shown by the networkmanager module via e,vpn,active / e,vpn,inactive
+ // signals. Sized to ~45% of the icon, top-right corner, forced square.
+ part { name: "vpn_badge"; mouse_events: 0;
+ type: VECTOR;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.relative: 0.55 0.0;
+ rel2.relative: 1.0 0.45;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ image.normal: "vpn-shield.svg";
+ }
+ description { state: "active" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
}
#define SCRIPT_MESSAGE() \
@@ -755,6 +774,18 @@ else { \
action: STATE_SET "default" 0.0;
target: "security_overlay";
}
+ program { name: "vpn_active";
+ signal: "e,vpn,active"; source: "e";
+ action: STATE_SET "active" 0.0;
+ target: "vpn_badge";
+ transition: ACCELERATE 0.15;
+ }
+ program { name: "vpn_inactive";
+ signal: "e,vpn,inactive"; source: "e";
+ action: STATE_SET "default" 0.0;
+ target: "vpn_badge";
+ transition: DECELERATE 0.15;
+ }
}
}
diff --git a/data/elementary/themes/img/vpn-shield.svg b/data/elementary/themes/img/vpn-shield.svg
new file mode 100644
index 0000000000..909736ac61
--- /dev/null
+++ b/data/elementary/themes/img/vpn-shield.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <!-- Shield silhouette: top crown to bottom point -->
+ <path d="M32 3 L56 11 L56 30 C56 44 47 55 32 61 C17 55 8 44 8 30 L8 11 Z"
+ fill="#4caf50" stroke="#1b5e20" stroke-width="3" stroke-linejoin="round"/>
+ <!-- Tick mark -->
+ <path d="M20 32 L28 40 L44 22"
+ stroke="#ffffff" stroke-width="5" fill="none"
+ stroke-linecap="round" stroke-linejoin="round"/>
+</svg>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.