diff --git a/src/wireviz/Harness.py b/src/wireviz/Harness.py
index 0c15b49d..5952e0e9 100644
--- a/src/wireviz/Harness.py
+++ b/src/wireviz/Harness.py
@@ -230,7 +230,14 @@ def create_graph(self) -> Graph:
for bla in p:
html = html + f'
{bla} | '
html = f'{html}'
- html = f'{html} |
'
+ if isinstance(cable.shield, str):
+ # shield is shown with specified color and black borders
+ shield_color_hex = wv_colors.get_color_hex(cable.shield)[0]
+ attributes = f'height="6" bgcolor="{shield_color_hex}" border="2" sides="tb"'
+ else:
+ # shield is shown as a thin black wire
+ attributes = f'height="2" bgcolor="#000000" border="0"'
+ html = f'{html} |
'
html = f'{html} |
' # spacer at the end
@@ -248,8 +255,8 @@ def create_graph(self) -> Graph:
if isinstance(connection_color.via_port, int): # check if it's an actual wire and not a shield
dot.attr('edge', color=':'.join(['#000000'] + wv_colors.get_color_hex(cable.colors[connection_color.via_port - 1], pad=pad) + ['#000000']))
else: # it's a shield connection
- # shield is shown as a thin tinned wire
- dot.attr('edge', color=':'.join(['#000000', wv_colors.get_color_hex('SN', pad=False)[0], '#000000']))
+ # shield is shown with specified color and black borders, or as a thin black wire otherwise
+ dot.attr('edge', color=':'.join(['#000000', shield_color_hex, '#000000']) if isinstance(cable.shield, str) else '#000000')
if connection_color.from_port is not None: # connect to left
from_port = f':p{connection_color.from_port}r' if self.connectors[connection_color.from_name].style != 'simple' else ''
code_left_1 = f'{connection_color.from_name}{from_port}:e'