From 471abbd75447624fd40880f2888c731bf0a612b0 Mon Sep 17 00:00:00 2001 From: Konstantin Pastbin Date: Fri, 20 Jan 2023 13:31:47 +0000 Subject: [PATCH] Look for missing base_width to use with casing-width Signed-off-by: Konstantin Pastbin --- src/libkomwm.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/libkomwm.py b/src/libkomwm.py index 41dcf73..b7b0641 100644 --- a/src/libkomwm.py +++ b/src/libkomwm.py @@ -359,18 +359,19 @@ def komap_mapswithme(options): if has_lines and not is_area_st and st.get('casing-linecap', 'butt') == 'butt': dr_line = LineRuleProto() - # 'casing-width' has precedence over 'casing-width-add'. - if st.get('casing-width-add') is not None and st.get('casing-width') in (None, 0): - # Look for base width in other style objects (usually ::default). - base_width = 0 + base_width = st.get('width', 0) + if base_width == 0: for wst in zstyle: if wst.get('width') not in (None, 0): # Rail bridge styles use width from ::dash object instead of ::default. if base_width == 0 or wst.get('object-id') != '::default': base_width = wst.get('width', 0) - st['casing-width'] = base_width + st.get('casing-width-add') + # 'casing-width' has precedence over 'casing-width-add'. + if st.get('casing-width') in (None, 0): + st['casing-width'] = base_width + st.get('casing-width-add') + base_width = 0 - dr_line.width = round((st.get('width', 0) + st.get('casing-width') * 2) * WIDTH_SCALE, 2) + dr_line.width = round((base_width + st.get('casing-width') * 2) * WIDTH_SCALE, 2) dr_line.color = mwm_encode_color(colors, st, "casing") if '-x-me-casing-line-priority' in st: dr_line.priority = int(st.get('-x-me-casing-line-priority'))